DB設計書
- システム名:
- DBMS:
- 作成日: YYYY/MM/DD
1. テーブル一覧
| 論理名 | 物理名 | 概要 |
|---|---|---|
2. テーブル定義
(論理名) / table_name
| 論理名 | 物理名 | データ型 | PK | NOT NULL | 説明 |
|---|---|---|---|---|---|
| ID | id | BIGINT | ○ | ○ |
3. インデックス
| テーブル | カラム | 目的 |
|---|---|---|
設計書(システム)SYS-04
命名規約、ER 図、論理名・物理名を併記したテーブル定義、インデックス、保持期間を整理します。
| 論理名 | 物理名 | 概要 |
|---|---|---|
table_name| 論理名 | 物理名 | データ型 | PK | NOT NULL | 説明 |
|---|---|---|---|---|---|
| ID | id | BIGINT | ○ | ○ |
| テーブル | カラム | 目的 |
|---|---|---|
# DB設計書
- システム名:
- DBMS:
- 作成日: YYYY/MM/DD
## 1. テーブル一覧
| 論理名 | 物理名 | 概要 |
| --- | --- | --- |
| | | |
## 2. テーブル定義
### (論理名) / `table_name`
| 論理名 | 物理名 | データ型 | PK | NOT NULL | 説明 |
| --- | --- | --- | --- | --- | --- |
| ID | id | BIGINT | ○ | ○ | |
## 3. インデックス
| テーブル | カラム | 目的 |
| --- | --- | --- |
| | | |
| 項目 | 内容 |
|---|---|
| システム名 | |
| 版数 | 1.0 |
| 作成日 | YYYY/MM/DD |
| 作成者 |
| 版数 | 日付 | 変更箇所 | 変更内容 | 変更者 |
|---|---|---|---|---|
| 1.0 | YYYY/MM/DD | - | 初版作成 |
| 項目 | 内容 |
|---|---|
| DBMS / バージョン | |
| 文字コード / 照合順序 | UTF-8(utf8mb4) / |
| タイムゾーン | Asia/Tokyo |
| スキーマ |
order_items)created_at)id{参照テーブル単数形}_ididx_{テーブル}_{カラム}| No | 論理名 | 物理名 | 種別 | 概要 | 想定件数 |
|---|---|---|---|---|---|
| 1 | マスタ / トランザクション |
table_name| No | 論理名 | 物理名 | データ型 | 桁数 | PK | FK | NOT NULL | デフォルト | 説明 |
|---|---|---|---|---|---|---|---|---|---|
| 1 | ID | id | BIGINT | - | ○ | ○ | |||
| 2 | |||||||||
| 3 | 作成日時 | created_at | TIMESTAMP | - | ○ | CURRENT_TIMESTAMP | |||
| 4 | 更新日時 | updated_at | TIMESTAMP | - | ○ | CURRENT_TIMESTAMP |
| テーブル | インデックス名 | カラム | 一意 | 目的 |
|---|---|---|---|---|
| ○ / - |
| テーブル | 制約名 | 種類 | 内容 |
|---|---|---|---|
| UNIQUE / CHECK / FK |
| テーブル | 保持期間 | 削除方式 | 削除タイミング |
|---|---|---|---|
| 物理削除 / 論理削除 |
# DB設計書
<!-- 構成の参考: IPA「機能要件の合意形成ガイド」データモデル編。論理名(日本語)と物理名(英語)を併記する -->
## 文書管理情報
| 項目 | 内容 |
| --- | --- |
| システム名 | |
| 版数 | 1.0 |
| 作成日 | YYYY/MM/DD |
| 作成者 | |
## 改版履歴
| 版数 | 日付 | 変更箇所 | 変更内容 | 変更者 |
| --- | --- | --- | --- | --- |
| 1.0 | YYYY/MM/DD | - | 初版作成 | |
## 1. 概要
| 項目 | 内容 |
| --- | --- |
| DBMS / バージョン | |
| 文字コード / 照合順序 | UTF-8(utf8mb4) / |
| タイムゾーン | Asia/Tokyo |
| スキーマ | |
## 2. 命名規約
- テーブル名: スネークケース・複数形(例: `order_items`)
- カラム名: スネークケース(例: `created_at`)
- 主キー: `id`
- 外部キー: `{参照テーブル単数形}_id`
- インデックス: `idx_{テーブル}_{カラム}`
## 3. ER図
<!-- ER 図(IE 記法など)の画像やツールへのリンクを記載する -->
- ER図:
## 4. テーブル一覧
| No | 論理名 | 物理名 | 種別 | 概要 | 想定件数 |
| --- | --- | --- | --- | --- | --- |
| 1 | | | マスタ / トランザクション | | |
## 5. テーブル定義
### 5.1 (論理名) / `table_name`
- 概要:
| No | 論理名 | 物理名 | データ型 | 桁数 | PK | FK | NOT NULL | デフォルト | 説明 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | ID | id | BIGINT | - | ○ | | ○ | | |
| 2 | | | | | | | | | |
| 3 | 作成日時 | created_at | TIMESTAMP | - | | | ○ | CURRENT_TIMESTAMP | |
| 4 | 更新日時 | updated_at | TIMESTAMP | - | | | ○ | CURRENT_TIMESTAMP | |
## 6. インデックス定義
| テーブル | インデックス名 | カラム | 一意 | 目的 |
| --- | --- | --- | --- | --- |
| | | | ○ / - | |
## 7. 制約
| テーブル | 制約名 | 種類 | 内容 |
| --- | --- | --- | --- |
| | | UNIQUE / CHECK / FK | |
## 8. データライフサイクル
| テーブル | 保持期間 | 削除方式 | 削除タイミング |
| --- | --- | --- | --- |
| | | 物理削除 / 論理削除 | |
| 項目 | 内容 |
|---|---|
| システム名 | |
| 版数 | 1.0 |
| 作成日 | YYYY/MM/DD |
| 最終更新日 | YYYY/MM/DD |
| 作成者 | |
| 承認者 |
| 版数 | 日付 | 変更箇所 | 変更内容 | 変更者 |
|---|---|---|---|---|
| 1.0 | YYYY/MM/DD | - | 初版作成 |
| 項目 | 内容 |
|---|---|
| DBMS / バージョン | |
| 構成(単一 / レプリカ / クラスタ) | |
| 文字コード / 照合順序 | UTF-8(utf8mb4) / |
| タイムゾーン | Asia/Tokyo |
| スキーマ | |
| マイグレーションツール |
version カラム)の要否:| 対象 | 規約 | 例 |
|---|---|---|
| テーブル | スネークケース・複数形 | order_items |
| カラム | スネークケース | created_at |
| 主キー | id | id |
| 外部キー | {参照テーブル単数形}_id | order_id |
| インデックス | idx_{テーブル}_{カラム} | idx_orders_user_id |
| 真偽値 | is_ / has_ で始める | is_active |
| No | 論理名 | 物理名 | 種別 | 概要 | 初期件数 | 年間増加件数 |
|---|---|---|---|---|---|---|
| 1 | マスタ / トランザクション / 履歴 |
table_name| No | 論理名 | 物理名 | データ型 | 桁数 | PK | FK | NOT NULL | デフォルト | 機密区分 | 説明 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | ID | id | BIGINT | - | ○ | ○ | ||||
| 2 | ||||||||||
| 3 | 作成日時 | created_at | TIMESTAMP | - | ○ | CURRENT_TIMESTAMP | ||||
| 4 | 作成者 | created_by | BIGINT | - | ○ | |||||
| 5 | 更新日時 | updated_at | TIMESTAMP | - | ○ | CURRENT_TIMESTAMP | ||||
| 6 | 更新者 | updated_by | BIGINT | - | ○ | |||||
| 7 | バージョン | version | INTEGER | - | ○ | 0 | 楽観ロック用 |
| テーブル | インデックス名 | カラム | 一意 | 目的(対象クエリ) |
|---|---|---|---|---|
| ○ / - |
| テーブル | 制約名 | 種類 | 内容 | 違反時の扱い |
|---|---|---|---|---|
| UNIQUE / CHECK / FK |
| コード種別 | 値 | 名称 | 備考 |
|---|---|---|---|
| 状態区分 | 1 | 有効 | |
| 状態区分 | 9 | 無効 |
| 機能 \ テーブル | table_a | table_b | table_c |
|---|---|---|---|
| F-001 | CR | R | |
| F-002 | RU | D |
| テーブル | 保持期間 | 削除方式 | 削除タイミング | アーカイブ先 |
|---|---|---|---|---|
| 物理削除 / 論理削除 |
| DBユーザー / ロール | 用途 | 付与権限 |
|---|---|---|
| app_user | アプリケーション | SELECT / INSERT / UPDATE / DELETE |
| readonly | 分析・調査 | SELECT |
| テーブル | 1 行あたりのサイズ | 3 年後の件数 | 見積もり容量 |
|---|---|---|---|
# DB設計書
<!-- 構成の参考: IPA「機能要件の合意形成ガイド」データモデル編。論理名(日本語)と物理名(英語)を併記する -->
## 文書管理情報
| 項目 | 内容 |
| --- | --- |
| システム名 | |
| 版数 | 1.0 |
| 作成日 | YYYY/MM/DD |
| 最終更新日 | YYYY/MM/DD |
| 作成者 | |
| 承認者 | |
## 改版履歴
| 版数 | 日付 | 変更箇所 | 変更内容 | 変更者 |
| --- | --- | --- | --- | --- |
| 1.0 | YYYY/MM/DD | - | 初版作成 | |
## 1. 概要
| 項目 | 内容 |
| --- | --- |
| DBMS / バージョン | |
| 構成(単一 / レプリカ / クラスタ) | |
| 文字コード / 照合順序 | UTF-8(utf8mb4) / |
| タイムゾーン | Asia/Tokyo |
| スキーマ | |
| マイグレーションツール | |
## 2. 設計方針
- 正規化の方針(原則第 3 正規形、例外の扱い):
- 論理削除 / 物理削除の方針:
- 楽観ロック(`version` カラム)の要否:
- 監査カラム(作成者・更新者・日時)の方針:
## 3. 命名規約
| 対象 | 規約 | 例 |
| --- | --- | --- |
| テーブル | スネークケース・複数形 | `order_items` |
| カラム | スネークケース | `created_at` |
| 主キー | `id` | `id` |
| 外部キー | `{参照テーブル単数形}_id` | `order_id` |
| インデックス | `idx_{テーブル}_{カラム}` | `idx_orders_user_id` |
| 真偽値 | `is_` / `has_` で始める | `is_active` |
## 4. ER図
<!-- ER 図(IE 記法など)の画像やツールへのリンクを記載する -->
- 論理ER図:
- 物理ER図:
## 5. テーブル一覧
| No | 論理名 | 物理名 | 種別 | 概要 | 初期件数 | 年間増加件数 |
| --- | --- | --- | --- | --- | --- | --- |
| 1 | | | マスタ / トランザクション / 履歴 | | | |
## 6. テーブル定義
### 6.1 (論理名) / `table_name`
- 概要:
- 主な利用機能:
| No | 論理名 | 物理名 | データ型 | 桁数 | PK | FK | NOT NULL | デフォルト | 機密区分 | 説明 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | ID | id | BIGINT | - | ○ | | ○ | | | |
| 2 | | | | | | | | | | |
| 3 | 作成日時 | created_at | TIMESTAMP | - | | | ○ | CURRENT_TIMESTAMP | | |
| 4 | 作成者 | created_by | BIGINT | - | | | ○ | | | |
| 5 | 更新日時 | updated_at | TIMESTAMP | - | | | ○ | CURRENT_TIMESTAMP | | |
| 6 | 更新者 | updated_by | BIGINT | - | | | ○ | | | |
| 7 | バージョン | version | INTEGER | - | | | ○ | 0 | | 楽観ロック用 |
## 7. インデックス定義
| テーブル | インデックス名 | カラム | 一意 | 目的(対象クエリ) |
| --- | --- | --- | --- | --- |
| | | | ○ / - | |
## 8. 制約
| テーブル | 制約名 | 種類 | 内容 | 違反時の扱い |
| --- | --- | --- | --- | --- |
| | | UNIQUE / CHECK / FK | | |
## 9. コード定義
| コード種別 | 値 | 名称 | 備考 |
| --- | --- | --- | --- |
| 状態区分 | 1 | 有効 | |
| 状態区分 | 9 | 無効 | |
## 10. CRUD図
<!-- C: 登録 / R: 参照 / U: 更新 / D: 削除 -->
| 機能 \ テーブル | table_a | table_b | table_c |
| --- | --- | --- | --- |
| F-001 | CR | R | |
| F-002 | RU | | D |
## 11. データライフサイクル
| テーブル | 保持期間 | 削除方式 | 削除タイミング | アーカイブ先 |
| --- | --- | --- | --- | --- |
| | | 物理削除 / 論理削除 | | |
## 12. セキュリティ・権限
| DBユーザー / ロール | 用途 | 付与権限 |
| --- | --- | --- |
| app_user | アプリケーション | SELECT / INSERT / UPDATE / DELETE |
| readonly | 分析・調査 | SELECT |
- 暗号化(保存時 / 列単位):
- 個人情報を含むカラム:
## 13. 容量見積もり
| テーブル | 1 行あたりのサイズ | 3 年後の件数 | 見積もり容量 |
| --- | --- | --- | --- |
| | | | |
## 14. レビュー観点
- [ ] 全カラムに論理名・物理名・型・NOT NULL が定義されている
- [ ] 検索条件・結合条件にインデックスがある
- [ ] 個人情報・機密情報のカラムが識別されている
- [ ] 保持期間と削除方式が決まっている
テーブル・カラム・制約・インデックスを定義し、データ構造のレビューと実装・運用の基準にするための文書です。