データのリレーションシップ!主キーや正規化など。リレーショナル(関係)型データベースのモデルについてまとめています。
このページの目次です。
1. リレーショナルデータベースとは
2. リレーショナルデータベースの特徴
3. リレーショナルデータベースのリレーションシップ
4. リレーショナルデータベースの正規化
リレーショナルデータベースは、関連する一連のデータをテーブルに格納するデータモデルです。
Excelの表にデータを記入して保存し、必要に応じて集計しますがこれもデータベースです。 データベースは、データを蓄積して何らかの目的のために取り出すための仕組みのことをいいます。
リレーショナルデータベースの呼び方についての補足です。
英語は「Relational Database」で略してRDBと呼ばれることがあります。
英語は訳で関係データベースとも呼ばれることがあります。
その他にリレーショナル型データベースや関係型データベースとも呼ばれることがあります。
リレーショナルデータベースは行と列がある表を用いるのが特徴です。 表のことをテーブル、列のことをカラム、行のことをレコードと呼ぶのが一般的です。
リレーショナルデータベースでは、関連する一連のデータはテーブルに保存されます。 テーブルは、Excelで作成する2次元の表を思い浮かべるとわかりやすいと思います。
テーブル内に含まれる個々のデータ項目、縦方向のテーブルの列ですが、 列をカラムといいます。
テーブルの1組の項目のセット、横方向の行ですが、行をレコードといいます。
リレーショナルデータベースでは、主キーと外部キーで 情報の関連付け、リレーションシップを表しています。
同一のテーブル内に同じ値があればデータを一意に特定できなくなります。
主キーは、データベース中でデータをユニークに識別するために用いられるものです。 同じ表の中では、このキーの値は、重複しないようにします。値がバッティングしたら、×です。
主キーと関連付けるための外部のテーブル上の参照用のキーを外部キーといいます。
リレーショナルデータベース(RDB)のリレーションには以下のような種類があります。
リレーショナルデータベース(RDB)のリレーションの1つに一対多があります。 一対多は、ベースとなるテーブルと、2つ以上のサブテーブルがあり、サブテーブルの主キーがベースとなるメインのテーブルで使用されている状態です。
リレーショナルデータベース(RDB)では作成してはいけないリレーションシップになりますが、リレーショナルデータベース(RDB)のリレーションの1つに多対多があります。 多対多は、あるテーブルの複数のレコードが別のテーブルの複数のレコードと関連付けられている状態です。
リレーショナルデータベース(RDB)のリレーションの1つに一対一があります。 一対一は、複数のテーブルの主キーが一致しており、一つにまとめることができるリレーションです。
リレーショナルモデルでデータベースを構築する際に必要となる作業が正規化です。
正規化の目的は、データの冗長性を排除し、データの一貫性と整合性を維持することです。 繰り返し部分を持つ単純でない表を非正規化形データと呼びます。
正規化には第一から第五までありますが、一般的に使用されるのは第三正規化までです。
繰り返し現れるデータをそれぞれ独立させる
キーを構成する項目全体に従属するデータをまとめ、キーを構成する一部の項目に従属するデータを分離する
キー以外の項目に従属するデータを分離し、別の表とする。 元の表には新たに出来た表への外部キーのみを残しておく。
次の受注表を正規化してみると以下のようになります。
まず、第一正規化によって繰り返し項目を独立させます。 ここでは、商品、数量、単価を分離し、外部キーとして受注番号を付加します。
次に、第二正規化によって主キーである受注番号に従属しない単価を分離し、キーとして商品番号を付加します。
※正しく正規化を行うと、合計金額は数量・単価から算出されるべきものなので、 第二正規化の時点で削除されるべき項目となりますが、一般的には算出基準の変更(季節割引など)、 単価の変更(値上げ、値下げ)などによって過去データが影響を受けないように、計算結果を金額の項目として持ちます。
よって、正規化した構造は
になります。
データベースのモデル、データベースの制御について説明していきます。
更新履歴になります。
スポンサーリンク
サイト内のページ
言語
C・C++
/HTML
/Java
/JavaScript
/PHP
/シェルスクリプト
開発環境
Ant
/Burp
/Eclipse
/Fiddler
/gcc
/gdb
/Git
/g++
/JDK
/JMeter
/JUnit
/Teraterm
/ZAP
技術・仕様
Ajax
/CORBA
/Jakarta EE(旧称J2EE、Java EE)
/JNI
ライブラリ/Framework/CMS
bootstrap
/jQuery
/FuelPHP
/Lucene
/MyBatis
/Seasar2
/Spring
/Struts
/WordPress
Web API
Google Maps
ITインフラOSとミドルウェア
Linux
/Windows
/シェル
ActiveMQ
/Tomcat
/MariaDB
/MySQL
/Nagios
/Redis
/Solr
ITインフラセキュリティ
公開サーバーのセキュリティ
SI
ホームページの作り方
スポンサーリンク
関連サイト内検索ツール
zealseedsおよび関連サイト内のページが検索できます。
IPアドレス確認ツール
あなたのグローバルIPアドレスは以下です。
3.145.47.245
HTMLの表示色確認ツール
パスワード生成ツール
文字数のプルダウンを選択して、取得ボタンを押すと「a~z、A~Z、0~9」の文字を ランダムに組み合わせた文字列が表示されます。
ここに生成されます。
スポンサーリンク
Copyright (C) 2007-2024 zealseeds. All Rights Reserved. Loarding…