正規形の定義の解釈
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/12 07:30 UTC 版)
ある正規形であるためには、ある時点でたまたま関係(表、テーブル)中にあるすべての組(タプル、行)の値がその定義に当てはまるだけでは十分でなく、過去及び将来において、その関係中の組に増減があっても、定義から外れることがないように属性(列、カラム)が定義されていることを要する。 注意すべきは、実際の関係データベース管理システムでは、属性の定義域(ドメイン)に合致する限りで関係の中にどんな値からなる組でも入れることができるが、ここでの議論は「関係にはそれぞれの属性に対応した現実の事象を表す組としてシステム要件上あり得るものだけが入る」という暗黙の制約が仮定されていることである。言い換えれば、正規形の定義では各属性の値が属性ごとに一定の意味を持っていることが仮定される。これは、正規化が、与えられたある特定の要件に対して、ある特定の妥当な設計を導くための方法であることに由来する。 例えば、気象観測システム内に {観測日, 観測地, 気温} という列からなる気温観測テーブルがあるとき、{'6/9', '東京', 20} といった気温の観測データと考えられるものだけが入ると考え、システム要件から見てあり得ないもの、例えば {'6/9', '東京', -1000} といったあり得ない気温を持つ行や、政治家の誕生日、氏名、身長を表す {'1/8', '小泉純一郎', 169} といった行が入ってくることはないと仮定される。そのような仮定をすればそれぞれの定義の課する条件を常に満たすといえるとき、それぞれの正規形であるというのである。 以上の理由により、ある関係の形式的な定義を見ただけでは、それが正規形であるかどうかを判断することはできず、それには各属性の意味ないしそれに関するシステム要件を知る必要がある。ただし、この種の議論を行うとき、属性などに付けられた名前が自己説明的であるときは、いちいちそれらの意味を明示的に定義しないのがふつうである。
※この「正規形の定義の解釈」の解説は、「関係の正規化」の解説の一部です。
「正規形の定義の解釈」を含む「関係の正規化」の記事については、「関係の正規化」の概要を参照ください。
- 正規形の定義の解釈のページへのリンク