教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
ここでは、ひとつで構成されるテーブルの設計を行います。
1-1~1-3では、ひとつのテーブルの設計方法について説明します。
1-4では、テーブル設計を行うツールである ERMaster について説明します
演習で理解を深めます。
テーブルの基本について学習します。
レコードは行を指し(例えば、伊藤、秘密、教育サービス事業部が1レコードになります)、カラムは列を指します(例えば、名前の列(伊藤、竹田、三浦))。
レコードは情報のひと固まりです。つまり、ユーザテーブルならば、1レコードはユーザの名前、年齢、所属部署など1ユーザの情報を表します。
名前 | 年齢 | 所属部署 |
---|---|---|
伊藤 | 秘密 | 教育サービス事業部 |
竹田 | 若いです | 教育サービス事業部 |
三浦 | 年です | 教育サービス事業部 |
テーブル名には論理名と物理名があります。論理名は日本語名で、物理名は DB 上に作成する名称で、一般的には英名にします。
テーブル名は、論理名がユーザテーブルであれば、物理名は users とする場合と user とする場合がありま す。users とするのは、1レコードが user を表しているため、テーブルは複数形であると考えるためです。 一方で user とする場合は、テーブルをひとつのオブジェクトとしてとらえているためです。
ここでは、単数系を用いることとします。また、英字小文字でスネーク表記を用いることとします(例 admin_user)。
カラムは列を表しますが、列ごとに型を決めることができます。
ここで注意してほしいのは、Java で扱うために、1レコードは1インスタンスに変換する必要があることです。レコードの各列の値はインスタンスの各フィールドに格納します。つまり、カラムの型はクラスのフィ ールドの型に対応します。
カラム名も、論理名と実際にデータベース上で使用する物理名があります。論理名は日本語名を用い、物理名には英名を用います。本テキストでは、物理名は小文字でスネーク表記とします(例 insert_date)。