■DBMS
データベース管理システム
データベースの定義、操作、制御などを行うミドルウェア
■RDB
リレーショナルデータベース
データ次第で複数の表を関係付けて扱えるので、関係データベースと言われている
RDBは表、列、行でできている
表(テーブル)
列(カラム)
行(レコード)
■スキーマ
データベースの構造や仕様を定義するもの
外部スキーマ、概念スキーマ、内部スキーマの3層スキーマ構造になっている
3層に分けることでデータの独立性を高めている
・内部スキーマ
利用者の必要とするデータの見方を表現
ビュー表などがこれに該当
プログラムに加えた変更はここまでしか影響しない
・概念スキーマ
データの論理的関係を表現
表の定義はここで、いわばデータベース本体
どこにも依存せずデータ独立性が保たれている
・外部スキーマ
データの物理的関係を表現
ハードウェア的な変更はここに影響する
ビューをいじってもデータベースの格納構造は変わらないし
ハードウェアが変わってもプログラムの修正は必要ない
ビューとは
選択、射影、結合をして仮想的に作る一時的な表のこと
■主キーと外部キー
行を特定したり、表と表に関係を持たせるには
主キーや外部キーという「鍵となる情報」が必要
外部キーは他の表の主キーを参照してる
主キーは重複しないこと、空でないことが条件となる
ひとつの列では一意ににならないけど、組み合わせると一意になる場合は複合キーと呼ぶ
■正規化
データに矛盾や重複が発生しないように表を最適化すること
一度の変更で何箇所も変更しなければいけない時など、修正漏れがあるとデータに不整合が生じるので
表を分けることで変更箇所が一箇所だけになり、矛盾や重複を防げる
後ほど加筆します