ERD

データベース設計:グレーノウハウ

違法すれすれの『ライン上』に位置する設計 代理キー:主キーが役に立たない時 ケース1:入力データに主キーになるような一意キーが存在しない ケース2:一意キーはあるが、サイクリックに使いまわされる ケース3:一意キーはあるが、途中で指す対象が変…

データベース設計:設計のバッドノウハウ

論理設計の『やってはいけない』 非スカラ値(第一正規形未満) ダブルミーニング 単一参照テーブル テーブル分割 水平分割 垂直分割 テーブル分割の代替手段 不適切なキー ダブルマスター 参考 論理設計の『やってはいけない』 戦略の失敗を戦術で取り返す…

データベース設計:正規化の背反

RDBMSの論理設計の基本の概念は正規化であり、それは『データ整合性を保持する』ために行っている。一方で正規化による背反として、『SQLのパフォーマンス劣化』を引き起こす。 正規化を行うと基本的にテーブルが増えていく。よって、SQL文を実行する際には…

データベース設計:ER図の基本

テーブルの関連のパターン ER図の描き方 参考 テーブルの関連のパターン 同じ意味の列を持つテーブル同士の間には、通常次の3パーンの関連がある。 1対1(1:1) 『1対1』というのはほぼ見ないらしい。理由は2つのテーブルのレコードが1対1に対応するという…

データベース設計:正規化の種類

表とテーブルの違い キーの種類 制約の種類 正規化とは 概要 正規化のポイント 正規化のメリット、デメリット どの程度すべきか 正規形のレベル 第1正規形の定義:スカラ値の原則 第2正規形の定義:部分関数従属 第3正規形:推移的関数従属 ボイス-コッド…

楽々ERDレッスン:テーブル設計実践6

テーブル設計の流れ ガスの請求書 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情報を、テ…

楽々ERDレッスン:テーブル設計実践5

テーブル設計の流れ 病院の領収書 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情報を、テ…

楽々ERDレッスン:テーブル設計実践4

テーブル設計の流れ 病院の受付伝票 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情報を、…

楽々ERDレッスン:テーブル設計実践3

テーブル設計の流れ ハンバーガーショップのレシート メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現でき…

楽々ERDレッスン:テーブル設計実践2

テーブル設計の流れ 図書館の予約申込書 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情報…

楽々ERDレッスン:テーブル設計実践1

テーブル設計の流れ お持ち帰りご注文用紙 メインとなるテーブル名を出す(イベント系エンティティを洗い出す) 「誰が・何が」、「誰を・何を」を考えてテーブル名を出す(リソース系エンティティを洗い出す) 各テーブルのカラムを出す 表現できていない情…

楽々ERDレッスン:DB設計の基本手順

IDの導入 業務視点からの正規化 データベース設計における3つのポイント 箱(エンティティ)の見い出し方 主キーの設定 重複の削除 データベースの設計手順 参考 データベース設計の要点は、『One Fact in One Place:1つの事実は1つの場所にのみ存在する…