カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

1-1

テーブルの基本

ここでは、ひとつで構成されるテーブルの設計を行います。

1-1~1-3では、ひとつのテーブルの設計方法について説明します。

  • 1-1テーブルの基本
  • 1-2主キーの設計
  • 1-3よくあるカラム

1-4では、テーブル設計を行うツールである ERMaster について説明します

  • 1-4ERMaster で設計する

演習で理解を深めます。

  • 問題1.テーブル設計

テーブルの基本について学習します。

テーブル名とレコード

レコードは行を指し(例えば、伊藤、秘密、教育サービス事業部が1レコードになります)、カラムは列を指します(例えば、名前の列(伊藤、竹田、三浦))。

レコードは情報のひと固まりです。つまり、ユーザテーブルならば、1レコードはユーザの名前、年齢、所属部署など1ユーザの情報を表します

名前 年齢 所属部署
伊藤 秘密 教育サービス事業部
竹田 若いです 教育サービス事業部
三浦 年です 教育サービス事業部

テーブル名には論理名と物理名があります。論理名は日本語名で、物理名は DB 上に作成する名称で、一般的には英名にします。

テーブル名は、論理名がユーザテーブルであれば、物理名は users とする場合と user とする場合がありま す。users とするのは、1レコードが user を表しているため、テーブルは複数形であると考えるためです。 一方で user とする場合は、テーブルをひとつのオブジェクトとしてとらえているためです。

ここでは、単数系を用いることとします。また、英字小文字でスネーク表記を用いることとします(例 admin_user)。

カラムと型

カラムは列を表しますが、列ごとに型を決めることができます。
ここで注意してほしいのは、Java で扱うために、1レコードは1インスタンスに変換する必要があることです。レコードの各列の値はインスタンスの各フィールドに格納します。つまり、カラムの型はクラスのフィ ールドの型に対応します。

MariaDB の主な型を以下に示します。
Image from Gyazo

カラム名も、論理名と実際にデータベース上で使用する物理名があります。論理名は日本語名を用い、物理名には英名を用います。本テキストでは、物理名は小文字でスネーク表記とします(例 insert_date)。