トップ その他 ITスキル体系 データベース技術 データモデル リレーショナルデータベース

リレーショナルデータベース―主キーや正規化など

データのリレーションシップ!主キーや正規化など。リレーショナルデータベースのモデルについてまとめています。

基礎知識

そもそもデータベースは何か?という方のために、データベースとはについてまとめました。 初心者の方でもわかりやすく、リレーショナルデータベースとつながるところまでの知識をフォローしています。

リレーショナルデータベースのリレーションシップ

リレーショナルデータベースでは、主キー外部キーで 情報の関連付け、リレーションシップを表しています。

主キー

同一のテーブル内に同じ値があればデータを一意に特定できなくなります。

主キーは、データベース中でデータをユニークに識別するために用いられるものです。 同じ表の中では、このキーの値は、重複しないようにします。値がバッティングしたら、×です。

外部キー

主キーと関連付けるための外部のテーブル上の参照用のキーを外部キーといいます。

正規化

リレーショナルモデルでデータベースを構築する際に必要となる作業が正規化です。

目的

正規化の目的は、データの冗長性を排除し、データの一貫性と整合性を維持することです。 繰り返し部分を持つ単純でない表を非正規化形データと呼びます。

手順

正規化には第一から第五までありますが、一般的に使用されるのは第三正規化までです。

  1. 第一正規化

    繰り返し現れるデータをそれぞれ独立させる

  2. 第二正規化

    キーを構成する項目全体に従属するデータをまとめ、キーを構成する一部の項目に従属するデータを分離する

  3. 第三正規化

    キー以外の項目に従属するデータを分離し、別の表とする。 元の表には新たに出来た表への外部キーのみを残しておく。

正規化の例

次の受注表を正規化してみると以下のようになります。

正規化前の表

まず、第一正規化によって繰り返し項目を独立させます。 ここでは、商品、数量、単価を分離し、外部キーとして受注番号を付加します。

第一正規化

次に、第二正規化によって主キーである受注番号に従属しない単価を分離し、キーとして商品番号を付加します。

第二正規化

※正しく正規化を行うと、合計金額は数量・単価から算出されるべきものなので、 第二正規化の時点で削除されるべき項目となりますが、一般的には算出基準の変更(季節割引など)、 単価の変更(値上げ、値下げ)などによって過去データが影響を受けないように、計算結果を金額の項目として持ちます。

よって、正規化した構造は

正規化した構造

になります。

知識の幅を広げるための参考

戻る

スポンサーリンク

サイト内のページ

言語
C・C++ /HTML /Java /JavaScript /PHP /シェルスクリプト

開発環境
Ant /Bcc /Eclipse /gcc /gdb /g++ /JDK /JUnit /ZAP

技術・仕様
Ajax /CORBA /Java EE(旧称J2EE) /JNI

ライブラリ/Framework/CMS
jQuery /Lucene /MyBatis /RESTEasy /Spring /Struts /Seasar2 /WordPress

ITインフラ OSとミドルウェア
Linux /Windows /シェル
Apache/Tomcat /MySQL /Redis /Solr /vsftpd

ITインフラ PC 製品
ZOTAC

ITインフラ サーバー
Web公開サーバー構築

ITインフラ ネットワーク
プログラミング /機器 /構築

ITインフラ セキュリティ
公開サーバーのセキュリティ

SI
ホームページの作り方 /小さな会社のISMS

その他
IT用語 /ITスキル体系 /トレンド履歴

スポンサーリンク