設計 #3
Lunatic1998 さんが約1年前に更新
### DB設計 #### 目的 * アプリケーションを開発する上で、データベースにあらゆるデータを格納するが、最適な形でデータを保存することが開発効率とパフォーマンスに影響する。 #### 概要 アプリケーションを開発する上で、データベース内のテーブルとカラム、カラムの型やサイズまで設計する。 * データベース内のテーブルとカラム、カラムの型やサイズまで設計する。 * パフォーマンス(INDEX(索引)については、本チケットでは考慮しない。 #### DB設計に必要な四大要素 * データベース設計の対象業務において、管理すべき情報のことをエンティティ(テーブル名に直結) * エンティティに従属する項目のことを属性(カラム名に直結) #### テーブルの洗い出し - 手順書テーブル - ユーザーテーブル - 手順書とユーザーを紐づけるテーブル - 手順ブロックテーブル #### カラムの洗い出し ##### user_table - 手順書を扱うユーザーを管理するテーブル | id(uuid) | email(string) | subscriber(string) | | ---- | ---- | ---- | ---- | ---- | ---- | | wrrg35g | aaa@gmail.com | aaaking | ##### session_table - ユーザーログインのセッションを管理するテーブル #### operation_table - 手順書を管理するテーブル | id(uuid) | title(string) | date(datetime) | block(uuid) | tag(list[string]) | status(tf true=close) | user() | | ---- | ---- | ---- | ---- | ---- | ---- | | wf23n2 | DB移行 | 2007/01/12 |2erfrge | mysql | true | | g3kmge | v1.0リリース | 2007/01/13 | ef43gm | release | false | #### block_id | id | title | command | operation_id | status | | ---- | ---- | ---- | ---- | ---- | | 2erfrge | バックアップ | ~~~~~ | 1 | true | | ef43gm | 切り戻し | ~~~~ | 1 | false |