はじめに
データベース設計を学んでいく上で、用語等を中心に整理していきます。
もうすでにご存知の方、省略の仕方等ご存知でしたら、ご教授願います。
データベース設計とは
- 扱うデータをどのように管理するか決める
- サービスやシステムの開発の初期段階でおこなう
- 現実世界の要素をデータに落とし込む作業
データベースを構成する要素
エンティティ
- サービスで扱うデータ
例)SNSでは、ユーザーや投稿内容、コメント内容などがあたる。
エンティティの属性
- エンティティが実際に持つ情報
例)ユーザーというエンティティに名前、アドレス、パスワードが属性にあたる。
投稿内容のエンティティでは、本文やいいね数、シェア数、投稿時間が属性にあたる。
リレーション
- エンティティとエンティティの間に関係性がある場合のこと
例)SNSでは、投稿内容と投稿内容を投稿したユーザーの間にリレーションがある。
データベース設計の手順
①データベースで管理するデータ(エンティティ)を決める
②それぞれのデータの持つ属性を決める。
③エンティティ同士の関係性(リレーション)を決める。
④データを実際にデータベースのテーブルとして定義する。
→エンティティはテーブルに相当し、属性はテーブルが持つカラムとなる。
テーブルの構成要素
-
テーブルとエンティティ
- エンティティをデータベースのオブジェクトに変換すると、テーブルとなる。
- テーブル = エンティティ の考え
-
テーブルの行と列
- テーブルの行 = レコード
- エンティティの具体的なデータを表す。
- テーブルの列 = カラム
- エンティティの属性を表す。
- テーブルの行 = レコード
データを識別するための特殊な属性値
エンティティの属性であるカラムに関する知識となります。
- カラムにはキーという特殊なデータが存在する。
キーとは
- 同じテーブルのレコード同士を識別するためのデータ
- 識別子であるので、同じテーブルないの他のレコードとは絶対に被らないように設定する。
- 多くの場合、idという名前のつく属性がキーとなる。
キーの種類
① 主キー
② 外部キー
①主キーとは
- テーブルの中で他のレコードと区別をつける識別子
- そのため、同じ主キーの値を持つレコードがテーブル内に存在してはダメ。
- 多くの場合、idカラムが主キーとなる。
②外部キーとは
- 異なるテーブルのレコードと関係性(リレーション)を持つ場合に必要なカラム
- 識別子の役割だが、他のテーブルのレコードを識別するため用いる。
- 関係する他のテーブルのレコードの主キーを値としてもつカラム
- 他のテーブルのレコードとの関係性を表す。
さいごに
日々勉強中ですので、随時更新します。
皆様の復習にご活用頂けますと幸いです。