データモデル
- データベースの講義
- 問い
- 実世界のデータをどのように計算機上で表現するか?
- 同じモデルでも複数の設計がある中で、適切な設計とは?
- ERモデル (entity relationship)
- entity(実体)とrelationship(実体間の関連)でデータモデルを表現する
- リレーショナルデータベース
- 表。
- メリット: 見やすい
- 正規化: 冗長性を排除するためにテーブル分解をする
- ちゃんと(情報欠損なく)テーブルを分解するには
- 第一~第五正規化がある
- 導入する従属性によってタイプ分け
- メリット: データ更新時に一箇所で済む、正確性と高速さに繋がる
- デメリット: データ参照時に複数のテーブルを結合する必要がある場合、大変(コスト大)
- クエリ処理の主たる命題: 結合操作をいかに高速に実行するか
- スキーマ設計の命題: 更新コストと参照コストの合計?を最小化する
- 基本トレードオフの関係
- 正規化=更新コストを下げて参照コスト上げる
- NoSQL
- 別講義だったのでリンク先に書いてある