# ER図

## 概要

本ドキュメントは、Avaloniaプロジェクトのサンプルアプリケーションで使用されているモデルクラスを基にしたER図を示しています。

**注意**: Avaloniaは UIフレームワークであり、実際のデータベースは含まれていません。以下のER図はサンプルコード内のモデルクラス構造を視覚化したものです。

## ER図（Mermaid形式）

```mermaid
erDiagram
    Person {
        NVARCHAR FirstName "名前（必須）"
        NVARCHAR LastName "姓（必須）"
        BIT IsBanned "禁止フラグ"
        INT Age "年齢"
    }

    StateData {
        NVARCHAR Name "州名"
        NVARCHAR Abbreviation "略称"
        NVARCHAR Capital "州都"
    }

    CatalogTheme {
        INT ThemeId "テーマID"
        NVARCHAR ThemeName "テーマ名"
    }
```

## エンティティ間の関係

現在のサンプルコードでは、上記の3つのエンティティは独立しており、相互に関連を持ちません。これはサンプルデモンストレーション用のシンプルなモデルであるためです。

## 拡張時の想定ER図

実際のアプリケーションで使用する場合の拡張例を示します。

```mermaid
erDiagram
    Person {
        INT PersonId PK "人物ID"
        NVARCHAR FirstName "名前（必須）"
        NVARCHAR LastName "姓（必須）"
        BIT IsBanned "禁止フラグ"
        INT Age "年齢"
        INT StateId FK "州ID"
        INT ThemeId FK "テーマID"
        DATETIME CreatedAt "作成日時"
        DATETIME UpdatedAt "更新日時"
    }

    StateData {
        INT StateId PK "州ID"
        NVARCHAR Name "州名"
        NVARCHAR Abbreviation "略称"
        NVARCHAR Capital "州都"
    }

    CatalogTheme {
        INT ThemeId PK "テーマID"
        NVARCHAR ThemeName "テーマ名"
    }

    Person ||--o| StateData : "resides in"
    Person ||--o| CatalogTheme : "prefers"
```

## 補足

- 上記の「拡張時の想定ER図」は実装例であり、現在のAvaloniaソースコードには含まれていません
- 実際のアプリケーション開発時には、要件に応じてエンティティ間の関係を設計してください
