リレーショナルデータベースにおける第一正規化の定義について。色々な言葉でその定義が表せられるわけですが…そこで「繰り返し項目」とか「繰り返し項目」という言葉で説明されることがあるのですが、単純にこれよく分からなくね?(愚痴)
※なお、属性と項目の定義は同じで、”列”を意味しています。
第一正規化とは何ですか?
第一正規化とは何ですか?
回答としては…
「1つの項目に1つの値しかないこと」を意味します。
Excelを使っている人には「1つのセルに1つの値」と言ってもいいかもしれません。
…この説明でいいと思うのですが色んな書籍や情報源にあたっていたら「繰り返し属性」がないことと書いてありました。おそらく「1つの項目に1つの値しかないこと」と同義だと思いますが、これってレコードの重複がないということではないようですね。なぜなら、第一正規化において重複するレコードは許容されるからです。
「繰り返し属性」や「繰り返し項目」とは以下の部分のこと
例えば、以下のようなスプレッドシートの表があったとしたら…
ID | 姓 | 名 |
---|---|---|
1 | 山田 | 太郎 |
2 | 山田 旧姓:小川 |
花子 |
これは第一正規化にはありません。
なぜなら、山田花子さんの旧姓が小川だったと書いてあるところに姓が2つ繰り返されている部分ですし、値が1つではありませんので、「繰り返し属性」がある状態ということになるからです。
※「繰り返し属性」とか「繰り返し項目」あとこれ以外にも「繰り返し部分」と表現されることもありますが、このような状態なんだ!とわからないといけないいうことになります。
これはちょっと、しんどい。一度だけ聞いただけでは直感的にピンとこないですよね。私はきませんでした。え?え!?となりました。
ちなみに第二正規化は重複項目がないことを意味するわけですが、関数従属とか部分関数従属とかいう言葉で表現されており、これはこれでまたしんどい(苦笑)ですが、それは別の記事で説明をしたいと思います。
コメント