nKB

nKB

シンプルにいこうよ

データベース

設計

かけだしSEのためのデータベース設計入門 | サービス | プロエンジニア
若手プログラマー必読!5分で理解できるER図の書き方5ステップ


テーブル

物理テーブル:テーブル
論理テーブル:クエリ


主キー

一意であること

複合主キー
データベースのテーブルに設定される主キーを複数の項目(カラム)の組み合わせで定義する方式


リレーションシップ

リレーションシップとは、テーブル同士の関連付けのこと。
参照整合性制約を付けることでテーブル間の不整合を防ぐことができる。

リレーションシップの種類には「1対1」、「1対多」、「多対多」がある。

下記のオプションが重要 参照整合性、連鎖更新、連鎖削除

参照整合性は主キーと外部キーとの不整合を防ぐことができる。原則、有効にする。 連鎖更新、連鎖削除は必要に応じて設定する。 常に有効にするよりは必要時に有効にするほうがよい。


正規化

第一正規化データの重複をなくす
第二正規化計算で求められるフィールドをなくす
第三正規化主キー以外でマスタを作れるところを抜き出す


整合性制約

NOT NULL制約
列の値がNULLでないこと。列に必ず値を入力しなければならない。

一意キー制約(UNIQUE制約)
列のすべての値が一意であること。ただしNULLがあってもよい。

主キー制約(PRIMARY KEY制約)
その列が行を一意に識別できること。表には、主キー制約を最大1つ指定できる。
主キー制約では、値は重複してはならず、またNULLも許可されない。

外部キー制約/参照整合性制約(REFERENCES制約)
関連付けられた表の共通する列の関係が保たれていること。
参照整合性制約では、表の各行の外部キー値は、親表の値と一致していなければならない。

CHECK制約
列の値が指定した条件を満たすこと。
列の値は、CHECK制約で指定した条件に対しTRUEまたはUNKNOWNでなければならない。

参考

制約の確認/作成/削除 − @IT


マスタテーブルとトランザクションテーブル

管理者が編集するようなデータはマスタ、
利用者が編集できるデータはトランザクションテーブル


自然(ナチュラル)キーと代理(サロゲート)キー

自然(ナチュラル)キーは入力データをキーとして使う。
代理(サロゲート)キーは入力データ以外のデータをキーとして使う。


用語の違い

Access Microsoft SQL Server
リレーションシップ データベースダイアグラム
クエリ ビュー、ストアドプロシージャ、テーブル値関数


EOF