ここからは、実際にテーブル設計を行っていきたいと思います。
色々なアプローチがあるかと思いますが、今回はサンプルデータ(もしくは既存データ)をもとに設計していきます。
テーマ:図書館での本の貸し出し
<手順>
- どのようなデータを使うのかを具体的に列挙し、サンプルデータを作成する。
- サンプルデータの正規化を行いテーブルを分ける。
- 分けられたテーブルをE-R図(概念データモデル)で表記してみる。
➡E-R図に「関係スキーマ(テーブルとカラム)」を追記してみる。
※データベースの世界のスキーマ(schema)とは、データベースの構造を指します。
<資料ダウンロード>
ER図のエンティティやカラム(フィールド)だけでは、具体的にイメージがしにくいことがあります。
その場合には、どのようなデータを扱う予定なのか?を踏まえて、サンプルデータを作成していきます。
※既存データがある場合には、この手順をスキップしても構いません。
エクセルなどの表計算ソフトで作成してみよう!
まずは最低限必要な項目を列挙します。
サンプルデータを入れながら、足りないものを追加追加していきます。
サンプルデータ(既存データ)をもとに正規化を行い、テーブルを分けていきます。
正規化したことで作成されたテーブルの関係をE-R図で表します。
また、関係スキーマを記述します。テーブル名とカラム名を記述することで、構造が分かりやすくなります。
E-R図および関係スキーマの作成には、「LucidChart」を利用してみましょう。
<関係スキーマ>
- 貸出伝票(貸出番号、貸出日、返却日、状態、利用者番号)
- 貸出明細(貸出番号、書籍番号)
- 書籍(書籍番号、書籍名、書籍在庫数)
- 利用者(利用者番号、利用者名、利用者名カナ)
■関係スキーマの記述のルール
テーブル名(カラム名1、カラム名2、カラム名3、カラム名4)
- 主キーとなるカラム名は、下線(実線)で表記する。
- 外部キーとなるカラム名は、下線(破線)で表記する。