初心者用データベース入門
TOP / SQL / RelationalModel / DatabaseDesign / Book
データベースの本
マンガでわかるデータベース

特定ベンダーの製品によらないデータベースの概念を、マンガでやさしく解説。果物の輸出に追われる王国の姫が、データベースによる解決策を1つ1つ学んでいくというストーリーをとおして、データベースの基本的な概念を身につけることができる。情報処理技術者試験対策にも役立つ練習問題付き。
データベースの本
SQLの絵本―データベースがみるみるわかる9つの扉

データベースを思いどおりに動かそう!見る・ためす・わかる!入門書 SQLはデータベースを操作するために覚えるべき技術ですが、難しくてなかなかものにできないという人も多いのではないでしょうか。本書は、かわいいイラストで解説しているので、直感的にイメージをとらえることができ、理解も進みます。さあ、扉を開いて、SQLの達人への道を進みましょう!
データベースの本
テクニカルエンジニア試験 データベース 完全教本〈2007年版〉

1冊で午前と午後に対応したテキスト&問題集の決定版。人気サイト・アイタックに寄せられた反響を元に改訂。

リレーションスキーマR(A1,A2,…,Al,B1,B2,…,Bm,C1,C2,…,Cn)に関数従属性(FD) A1A2…Al → B1B2…Bmが存在するとは次の条件が成立するときをいう:
RをRの任意のインスタンスとするとき
(∀t,t' ∈ R)(t[A1A2…Al]=t'[B1B2…Bm]⇒t[A1A2…Al]=t'[B1B2…Bm])
(⇒は論理的含意(logical implication)を表す記号である。)

これはつまり、A1A2…Al → B1B2…Bmという関数従属性が存在すれば、 任意の2つのタプルtとt'で、それらのA1A2…Al値の等しければ、 それらのB1B2…Bm値も等しくなるということである。Rの任意のインスタンスRが与えられると、 RのA1A2…Al値のなす集合とB1B2…Bm値のなす集合の間に関数関係が成立するということである。

A1A2…Al → B1B2…Bmのとき、A1A2…AlはB1B2…Bmを関数的に決定する(functionally determine)といい、 B1B2…BmがA1A2…Alに関数的に従属する(functionally depend)という。このとき、 A1,A2,…,Alを決定子(determinant)、B1,B2,…,Bmを被決定子(resultant)という。 また、{B1B2…Bm} が空集合か{A1A2…Al}の部分集合になっているとき、自明な関数従属性(trivial FD)という。


図1.リレーション 注文

図1のリレーション注文のリレーションスキーマには多くの関数従属性が存在している。 顧客が同一商品を重複して注文できないとすると、次のような関数従属性が定義される。
f1:{顧客名,商品名}→数量
f2:商品名→単価
f3:{商品名,数量}→金額
f4:{数量,単価}→金額
f5:{数量,金額}→単価
f6:{単価,金額}→数量
説明を加えると、関数従属性f1はリレーション注文では顧客名(西友の場合)を決めても、数量は 10であったり5であったらして関数的には一意には決まらず、同様に商品名を決めても数量は 4であったり10であったりして一意に決まらない。そこで顧客名と商品名の組(例えば西友とテレビ)を決めれば その注文数は10と一意に決まる。

関数従属性 X → Y で、Xの任意の真部分集合X'について、X' → Y は成立しないとき、YはXに完全関数従属 (fully functionally dependent)しているという。

リレーションの情報無損失分解の必要かつ十分条件は多値属性の存在だったことから、関数従属性の存在は リレーションスキーマの情報無損失分解の十分条件になる。

リレーションスキーマR(A1,A2,…,Al,B1,B2,…,Bm,C1,C2,…,Cn) の任意のインスタンスRがその2つの射影R[A1A2…AlB1B2…Bml]とR[A1A2…AlC1C2…Cn] に情報無損失分解されるための十分条件は、Rに関数従属性
A1,A2,…,Al → B1,B2,…,Bm が存在することである。



戻る


This website is link free.
All graphics and page design, Copyright © 初心者用データベース入門