エージェント:ドキュメントエージェント
<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連携・画面バリデーション実装時も、このテーブル情報を参照可能です。)