エージェント:ドキュメントエージェント
<aside> <img src="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" alt="notion://custom_emoji/be6005d7-8302-4c8e-93fe-03d0d3d71970/12f3c107-d7a8-8009-8054-007a9b09b0b8" width="40px" />
@会員情報更新画面仕様 の画面設計書を参考に、テーブルを設計し、 @テーブル定義書テンプレート の様式に沿って出力して。
</aside>
## テーブル情報
| 論理名 | 物理名 | 種別 | 説明/備考 |
| --- | --- | --- | ----- |
| ___ | ___ | ___ | ___ |
## カラム情報
| No. | 論理名 | 物理名 | 型/型名 | 長さ/桁数 | 精度 | 必須 | 主キー | デフォルト値 | 外部キー | インデックス | 定義内容 |
| --- | --- | --- | ---- | ----- | --- | --- | --- | ------ | ---- | ------ | ---- |
| 1 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
| 2 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
| 3 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
| 4 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
| 5 | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ | ___ |
## インデックス情報
| インデックス名 | 対象カラム | インデックスタイプ | ユニーク制約 |
| ------- | ----- | --------- | ------ |
| ___ | ___ | ___ | ___ |
## 外部キー制約
| 制約名 | 参照元カラム | 参照先テーブル.カラム |
| --- | ------ | ----------- |
| ___ | ___ | ___ |
## 項目説明
- **システム名**: ソースコードから特定されたシステムの名称です。コメントやプロジェクト名から抽出されます。
- **論理名**: ソースコード内のコメントやラベルから推測される、ビジネス上の名称です。日本語名が使われていることが多いです。
- **物理名**: データベース上の実際のテーブル名やカラム名です。通常は英字で、大文字小文字やスネークケース等の命名規則があります。
- **種別**: テーブルの種類です。実際のデータベースの実装や使用状況から判断します(テーブル、ビュー、一時テーブルなど)。
- **説明/備考**: テーブルの用途や特記事項を記載します。
- **No.**: カラムの識別番号です。通常はデータベース上の定義順序に従います。
- **型/型名**: データベース上で定義されている型情報です。DBMS固有の型も含まれます。
- **長さ/桁数**: データ型に設定されている長さや桁数の制約です。NVARCHAR(50)なら「50」と記入します。
- **精度**: 数値型の小数点以下の桁数です。例えばDECIMAL(10,2)の「2」の部分を記載します。
- **必須**: NULLが許容されないカラムは「Y」、NULL可のカラムは「N」と表記します。データベースの制約から判断します。
- **主キー**: プライマリキーに設定されているカラムは「Y」、そうでない場合は空欄または「N」とします。
- **デフォルト値**: カラムに設定されているデフォルト値を記載します。
- **外部キー**: 外部キー制約がある場合、参照先のテーブル名とカラム名を記載します。
- **インデックス**: インデックスが設定されている場合は「Y」、そうでない場合は「N」と記載します。
- **定義内容**: コード内のコメントやデータサンプルから推測される、カラムの使用目的と取りうる値の意味を記載します。例えば「ステータスコード(0:未処理、1:処理中、2:完了、9:エラー)」のように取りうる値とその意味を明記します。また表示形式や入力制限が推測できる場合もここに記載します。
- **インデックス名**: データベース上で定義されているインデックスの名称です。
- **対象カラム**: インデックスの対象となるカラム名です。複合インデックスの場合は、カラムの順序も記載します。
- **インデックスタイプ**: インデックスの種類(BTREE、HASH等)を記載します。
- **ユニーク制約**: ユニークインデックスの場合は「Y」、そうでない場合は「N」と記載します。
- **制約名**: 外部キー制約の名称です。
- **参照元カラム**: 外部キー制約の参照元となるカラム名です。
- **参照先テーブル.カラム**: 外部キー制約の参照先となるテーブル名とカラム名です。
## テーブル情報
| 論理名 | 物理名 | 種別 | 説明/備考 |
| --- | ------- | ---- | ---------------- |
| 会員 | members | テーブル | 会員の基本情報を保持するテーブル |
## カラム情報
| No. | 論理名 | 物理名 | 型/型名 | 長さ/桁数 | 精度 | 必須 | 主キー | デフォルト値 | 外部キー | インデックス | 定義内容 |
| --- | ----------- | -------------- | -------- | ----- | -- | -- | --- | ------------------ | ---- | ---------- | ------------------- |
| 1 | 会員ID | id | BIGINT | 20 | | Y | Y | 自動採番 | | Y | 会員の一意識別子 |
| 2 | メールアドレス | email | VARCHAR | 255 | | Y | | | | Y (UNIQUE) | ユニーク・メール形式必須 |
| 3 | パスワード | password | VARCHAR | 255 | | Y | | | | N | 暗号化済パスワード |
| 4 | プロフィール画像URL | profile\\_image | VARCHAR | 500 | | N | | | | N | 会員のプロフィール画像ファイルのURL |
| 5 | 作成日時 | created\\_at | DATETIME | | | Y | | CURRENT\\_TIMESTAMP | | N | レコード作成日時 |
| 6 | 更新日時 | updated\\_at | DATETIME | | | Y | | CURRENT\\_TIMESTAMP | | N | レコード更新日時 |
## インデックス情報
| インデックス名 | 対象カラム | インデックスタイプ | ユニーク制約 |
| ------------------- | ----- | --------- | ------ |
| idx\\_members\\_email | email | BTREE | Y |
## 外部キー制約
| 制約名 | 参照元カラム | 参照先テーブル.カラム |
| --- | ------ | ----------- |
| なし | | |
## 項目説明
- **会員ID(id)**: 各会員の一意識別子。主キー。自動採番。
- **メールアドレス(email)**: 登録されたメールアドレス。ユニーク制約、必須。形式チェック・変更時はユニーク判定あり。
- **パスワード(password)**: 暗号化済パスワード。必須。8文字以上、記号含む強度必須。
- **プロフィール画像(profile\\_image)**: 画像ファイルの保存先URL。jpg/png限定・サイズ2MB以下。
- **作成日時(created\\_at)**: レコード作成日時。自動設定。
- **更新日時(updated\\_at)**: レコード更新日時。更新ごとに自動設定。
(@document の画面仕様をもとに、必須項目・バリデーション等をシステム的に考慮し設計しました。フォーマットは @document に準拠。今後API連携・画面バリデーション実装時も、このテーブル情報を参照可能です。)