関数従属性について – 情報処理技術者試験 – Home

通知
すべてクリア

[解決済] 関数従属性について


とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

関数従属性という言葉があると思うのですが
意味がよくわかりません。
どういう意味なのか、もしくは簡単に説明しているHPありますでしょうか。


引用未解決
トピックタグ
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

追加なんですが、属人性という言葉の意味もわからないです。
あ、あと関数従属性と属人性が出てくる過去問は平13年午前問72,73です。
この単語の意味がわからないので、問題の意味もよくわからないです。
どうかお願いします。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

関数従属だけ…

ある列の組(A1,A2,...,An)が決まると、
別の列の組(B1,B2,...,Bn) が一意に決まることを関数従属といいます。

ユーザIDが決まると名前と住所と電話番号が決まる。
車両番号と座席番号が決まると禁煙席かどうかが決まる。

など…。

通常、主キーとその他の列の関係が関数従属になりますね。


返信引用
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

dairygoodsさん、ありがとうございます。

>ある列の組(A1,A2,...,An)が決まると、
>別の列の組(B1,B2,...,Bn) が一意に決まることを関数従属といいます。
ちょっと↑の例がよくわかりませんが
単純に従属するという意味でしょうか。
そうすると納得がいく気がします。


返信引用
いもちぃ
 いもちぃ
(@いもちぃ)
ゲスト
結合: 23年前
投稿: 70
 

> >ある列の組(A1,A2,...,An)が決まると、
> >別の列の組(B1,B2,...,Bn) が一意に決まることを関数従属といいます。
> ちょっと↑の例がよくわかりませんが
> 単純に従属するという意味でしょうか。
> そうすると納得がいく気がします。

これは例じゃなくて、定義ですね。(^^;
その下に書いてあるのが例です。

データベースで言うところのキーは複数でもOKです。
上の書き方で言うと、「ある列の組」がキーです。


返信引用
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

いもちいさん、ありがとうございます。

>これは例じゃなくて、定義ですね。(^^;
>その下に書いてあるのが例です。
たしかにそうですね(^_^ でも、定義はなにかやっぱりよくわからないです。

推測なんですけど、例えば、
社員番号 名前 部
001    takahasi テニス部
002 matui  野球部
003 kiyohara 野球部
だとしたら、
社員番号と名前が関数従属で
社員番号と部は関数従属ではない。
っていうことですかね。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> 社員番号 名前 部

[社員番号]が重複しないとすれば、
[名前]は[社員番号]に関数従属しています。
それは、[社員番号]だけ分かれば、この表を使って[名前]が1つに
特定できることを意味します。

社員が1つの部にしか所属できないとすれば、
[部]は[社員番号]に関数従属します。
それは、[社員番号]が分かると、この表を使って[部]が1つに特定できるからです。

社員がいくつもの部を掛け持ちできるのならば、
[部]は[社員番号]に関数従属しません。
たとえば、matuiがサッカー部にも所属していたら、
[社員番号]002だけ分かっても、[部]が野球部なのかサッカー部なのか
特定できません。

>>> ある列の組(A1,A2,...,An)が決まると、
>>> 別の列の組(B1,B2,...,Bn) が一意に決まることを関数従属といいます。

さらに、この場合は、
列(A1,A2,...,An)の内容だけ教えてもらえば、
あとは表を見ることにより(B1,B2,...,Bn) に入っている値を
1つに特定できるということです。


返信引用
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

とても詳しくありがとうございます。
私はまだ勘違いしていたようです。

でも、dairygoodsさんのご説明でよくわかりました。
(部をかけもちできるか、できないかってやつです)
つまり、Aが決まればBがわかるっていうのが関数従属ですね。
(はじめからそういってるっていうツッコミはご勘弁を~)

むぅ、このスレッド、解決印をつけたいのですが
属人性という言葉がまだわからないです。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> ウ 第 3 正規形まで正規化を行うことによって,だれが作業しても同じ関係表が得られ,
> データベース設計における属人性が排除できる。

これは単に「作った人に依存する」くらいの意味ではないでしょうか?
DB用語でこんなの聞いたこと無いなぁと思ってました(^^;


返信引用
とおりすがり
 とおりすがり
(@とおりすがり)
ゲスト
結合: 23年前
投稿: 180
Topic starter  

>これは単に「作った人に依存する」くらいの意味ではないでしょうか?
>DB用語でこんなの聞いたこと無いなぁと思ってました(^^;
そのような気がしてきました。
単純に属人性で検索するとDB関係以外でたくさんヒットします。
DB用語でないし、解決にします。

dairygoodsさん、わざわざありがとうございました。m(__)m


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました