にしのくえすと

情報処理技術者試験のお勉強ブログ


にしのくえすととは?
・「情報処理技術者試験大好き」な人、「ICT資格取りたい」人のためのブログです。
・ITパス、セキュマネ、基本、応用、セキュスペ(情報処理安全確保支援士)、ネスペ、デスペあたりの話題が中心です。
・申し述べる見解は勤務先とは無関係です。また、試験に関する記事は、自己責任でご利用ください。


・イラスト素材はAI CATCHER様のものを使用させていただいてます。素敵です!

↓ 電子書籍発売中です!「ネスペちゃん」「セスペちゃん」よろしくお願いです!
 
・作者のプロフィールはこちら  ・にしの作「資格本」電子書籍についてこちら
・作者の日記系ブログ(不定期)みがまえるよりはやく  ・「にしのくえすと」プライバシーポリシー

DBはじめました(5)関数従属性

前回はいろいろな正規化について、勉強してみました。
正規化は表を効率よく、使いやすく設計することなん
だなあと、なんとなーく分かったところですが。

f:id:koharuwest:20171116223615p:plain

そのなかで「関数従属」とか「推移関数従属」なんて
いう言葉が出てきました。これってどういうこと?

まとめてみました。

関数従属

ある列Aの値を決めた時、別の列Bの値が特定できる
関係のこと。

 

番号 氏名  住所
1  西野  札幌市
2  宮沢  石狩市
3  八軒  北広島市
4  発寒  恵庭市

 

こんな表があったとき。

 

番号が「1」と決まれば氏名は「西野」と決まります。
この関係性を関数従属といい。

番号→氏名

と、書くことができます。

 

もちろん、番号が決まると住所も決まりますので。

番号→住所

ともいえ、

番号→{氏名,住所}

とまとめて書くことができます。

 

では、

氏名→住所

は成り立つかというと。同じ名前の人が存在する(一
意ではない)場合は成立しません。(西野さんという
名前で、当別町に住んでいる人がいればアウト。)も
ちろん、データの内容によって違うともいえますが。

次の例をどうぞ

クラス 番号 氏名
1   5  太秦
1   7  烏丸
2  10  四条
3   4  宇治
3  22  竹田


この場合は、クラス→氏名でも クラス→番号でもあ
りません。クラスと番号が定まって、初めて氏名が決
まる状態です。この場合はまとめて

{クラス,番号}→氏名

このように書くことができます。じゃあ、氏名→番号
や氏名→クラスが成立するかというと、先ほどと同じ
ように無理そうです。


この場合は氏名が2つの項目に関数従属しているとい
えそうです。


長くなるので、
続きは次回にしまっす!

 

情報処理技術者試験大好きブログ「にしのくえすと」 Presented by にしこにしおAF