本サイトは広告により収益を得ています

第3章:データベースの設計と構造

第3章:データベースの設計と構造

2025年12月29日
フリー検定
広告

目次

現在: 3 / 4

DBエンジニアに関する検定はこちら

面倒な会員登録も不要!すぐに受験!

無料で受験する

効率的でミスが起きにくいデータベースを作るためには、闇雲にテーブルを作るのではなく、一定のルールに基づいた「設計」が必要です。

3-1. データ型と制約

テーブルの各列(カラム)には、どのようなデータが入るのかをあらかじめ定義します。

代表的なデータ型

  • 数値型 (INTEGER, DECIMAL): 数値を格納します。計算に使用するデータに使います。

  • 文字列型 (VARCHAR, TEXT): 名前や説明文など。VARCHARは最大文字数を指定できます。

  • 日付・時刻型 (DATE, TIMESTAMP): 登録日や更新日時など。

制約(Constraint)

誤ったデータが入り込まないように制限をかけます。

  • NOT NULL制約: 空の値(NULL)を許可しません。

  • UNIQUE制約: 他の行と同じ値を入れることを禁止します。

  • CHECK制約: 「0以上100以下」など、特定の条件を満たす値のみ許可します。


3-2. テーブル設計の基礎(正規化)

データの重複をなくし、矛盾が起きないようにテーブルを分割する作業を**「正規化」**と呼びます。スタンダード試験では以下の3段階を理解しておく必要があります。

  • 第1正規形: 1つのセルに複数の値を入れない(繰り返し項目をなくす)。

  • 第2正規形: 部分関数従属をなくす(主キーの一部が決まれば決まってしまう項目を別テーブルに分ける)。

  • 第3正規形: 推移的関数従属をなくす(主キー以外の項目に依存している項目を別テーブルに分ける)。

例: 「社員テーブル」に「部署名」を直接書くのではなく、「部署ID」だけを書き、名称は別の「部署マスター」で管理するようにします。これにより、部署名が変わった時に1箇所の変更で済むようになります。


3-3. インデックスの基礎

データ量が増えても高速に検索するための仕組みが**インデックス(索引)**です。

  • B-Treeインデックス: 最も一般的なインデックス構造です。

  • メリット: 大量のデータの中から特定の行を素早く見つけることができます。

  • デメリット: データの登録(INSERT)や更新(UPDATE)の際にインデックスの更新も行われるため、書き込み処理が少し遅くなります。


第3章のまとめ

  • データ型と制約を正しく設定することで、データの品質(整合性)を保つ。

  • 正規化を行うことで、データの重複を排除し、更新作業をスムーズにする。

  • 検索が遅いと感じたら、適切な列にインデックスを貼ることを検討する。

DBエンジニアに関する検定はこちら

面倒な会員登録も不要!すぐに受験!

無料で受験する
広告

検定一覧はこちらから

様々なジャンルの検定から選んで、あなたの知識を試してみましょう。

検定一覧を見る

関連記事

広告