削除された内容 追加された内容
6行目:
ある正規形であるためには、ある時点でたまたま[[関係 (データベース)|関係]] (リレーション) 中にあるすべての[[組 (データベース)|組 (タプル、行)]] の値がその定義に当てはまるだけでは十分でなく、過去及び将来において、そのリレーション中の組に増減があっても、定義から外れることがないように[[属性 (データベース)|属性 (列、カラム) ]]が定義されていることを要する。
 
注意すべきは、実際の[[関係データベース管理システム]] (RDBMS) では、属性(列)の[[定義域 (データベース)|定義域 (ドメイン)]] に合致する限りでリレーション(表、テーブル)の中にどのような値からなる組(行)でも入れることができるが、ここでの議論は「リレーションにはそれぞれの属性に対応した現実の事象を表す組としてシステム要件上あり得るものだけが入る」という暗黙の制約が仮定されていることである。言い換えれば、正規形の定義では各属性の値が属性ごとに一定の意味を持っていることが仮定される。これは、正規化が、与えられたある特定の要件に対して、ある特定の妥当な設計を導くための方法であることに由来する。
 
例えば、気象観測システム内に {観測日, 観測地, 気温} という列からなる気温観測テーブルがあるとき、{'6/9', '東京', 20} といった気温の観測データと考えられるものだけが入ると考え、システム要件から見てあり得ないもの、例えば {'6/9', '東京', -1000} といったあり得ない気温を持つ行や、[[政治家]]の誕生日、氏名、身長を表す {'1/8', '[[小泉純一郎]]', 169} といった行が入ってくることはないと仮定される。そのような仮定をすればそれぞれの定義の課する条件を常に満たすといえるとき、それぞれの正規形であるというのである。