Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データベースと応用システム:関数従属
Search
自然言語処理研究室
May 10, 2013
Education
1
660
データベースと応用システム:関数従属
自然言語処理研究室
May 10, 2013
Tweet
Share
More Decks by 自然言語処理研究室
See All by 自然言語処理研究室
データサイエンス14_システム.pdf
jnlp
0
380
データサイエンス13_解析.pdf
jnlp
0
480
データサイエンス12_分類.pdf
jnlp
0
340
データサイエンス11_前処理.pdf
jnlp
0
460
Recurrent neural network based language model
jnlp
0
140
自然言語処理研究室 研究概要(2012年)
jnlp
0
130
自然言語処理研究室 研究概要(2013年)
jnlp
0
97
自然言語処理研究室 研究概要(2014年)
jnlp
0
120
自然言語処理研究室 研究概要(2015年)
jnlp
0
190
Other Decks in Education
See All in Education
2025年度春学期 統計学 第14回 分布についての仮説を検証する ー 仮説検定(1) (2025. 7. 10)
akiraasano
PRO
0
140
Test-NUTMEG紹介スライド
mugiiicha
0
160
H5P-työkalut
matleenalaakso
4
40k
AIの時代こそ、考える知的学習術
yum3
2
200
今までのやり方でやってみよう!?~今までのやり方でやってみよう!?~
kanamitsu
0
170
質のよいアウトプットをできるようになるために~「読む・聞く、まとめる、言葉にする」を読んで~
amarelo_n24
0
210
RSJ2025 ランチョンセミナー 一歩ずつ世界へ:学生・若手研究者のための等身大の国際化の始め方
t_inamura
0
280
Padlet opetuksessa
matleenalaakso
4
14k
GitHubとAzureを使って開発者になろう
ymd65536
1
160
生成AI活用セミナー/GAI-workshop
gnutar
0
110
Sponsor the Conference | VizChitra 2025
vizchitra
0
620
みんなのコードD&I推進レポート2025 テクノロジー分野のジェンダーギャップとその取り組みについて
codeforeveryone
0
200
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
It's Worth the Effort
3n
187
28k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
GraphQLとの向き合い方2022年版
quramy
49
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Music & Morning Musume
bryan
46
6.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
Transcript
(c)長岡技術科学大学 電気系 1 データベースと応用システム 関数従属 山本和英 長岡技術科学大学 電気系
(c)長岡技術科学大学 電気系 2 キーとは • テーブル中の属性、もしくは属性の組み合わせのこ とを「キー」と呼ぶ。 • キーとは1属性とは限らず、2属性以上をセットにし て一つのキーとする場合(複合キーと呼ぶ)もある。
(c)長岡技術科学大学 電気系 3 スーパーキー • 属性の部分集合であって、タプルを一意に識別で きるもの。 • 一般に、スーパーキーは組み合わせ的に大量に存在 する場合がほとんど。
• 全属性は一つのスーパーキーである。
(c)長岡技術科学大学 電気系 4 候補キー • 必要最小限の(一意に特定するのに必要のない属 性を除いた)スーパーキー。 • 候補キーも一般に複数存在する。 •
候補キーは空値(NULL)でもよい(NULLで一意に特 定できるのであれば)。 • 候補キー以外の属性を非キー属性と呼ぶ。
(c)長岡技術科学大学 電気系 5 主キー • 候補キー内の(一意であってNULLでない)任意の1 キー。 • 主キーはデータベース設計者が選択する。 •
主キー以外の候補キーを代替キー、または2次キー と呼ぶ。
(c)長岡技術科学大学 電気系 6 外部キー • 同じ定義域を持つ他の表の主キー(または候補 キー)を参照するキー
(c)長岡技術科学大学 電気系 7 例1:銀行口座 • 属性: – (口座ID、支店ID、顧客ID、氏名、住所、残高) • スーパーキー
– (口座ID、氏名) (支店ID、顧客ID、氏名、住所) など多数 • 候補キー – (口座ID) (支店ID、顧客ID) • 主キー – 上記候補キーのうち、口座に関するテーブルなら前者、 顧客に関するテーブルなら後者が適当。
(c)長岡技術科学大学 電気系 8 例2:社員情報 (社員番号、連番、氏名、性別、電話、住所)を考 える。一人で複数の電話や住所を登録する際は連番 を変える。 • スーパーキー:(社員番号、連番)(社員番号、連 番、氏名)(社員番号、電話、住所)など多数
• 候補キー:(社員番号、連番)(社員番号、電話、 住所)の二つ • 主キー:どちらかと言えば(社員番号、連番) – 電話や住所はNULLの可能性が多少あるので
(c)長岡技術科学大学 電気系 9 関数従属とは • 属性Aが特定できれば属性Bが一意に決まるこ と。 • 顧客ID→顧客名などと矢印で書く。
(c)長岡技術科学大学 電気系 10 完全関数従属 • X→Y • かつXの真部分集合X'でX'→Yを満たさない である時、YはXに対して完全関数従属している 例:(受注番号、受注明細番号、商品名)
• (受注番号、受注明細番号)→(商品名)は完全 関数従属である Xを除くXの部分集合
(c)長岡技術科学大学 電気系 11 部分関数従属 • (A、B)→(C)という関数従属があり、 • (A)→(C)または(B)→(C) である時、(C)は(A、B)に部分関数従属している 例:(販売番号、商品コード、商品名、個数)
• 主キーは(販売番号、商品コード) • (販売番号、商品コード)→(商品名)であるが、 • (商品コード)→(商品名)でもあるため、 • (商品名)は(販売番号、商品コード)に部分関数従 属である
(c)長岡技術科学大学 電気系 12 推移的関数従属 • X→Y→Z であり、Y→X でない ならば、X→Z は推移的関数従属である
例:(店舗コード、店舗名、支部コード、支部名) • (店舗コード)→(支部コード)→(支部名)なので (支部名)は(店舗コード)に対して推移的関数従 属 • (店舗コード)→(店舗名)→(支部名)は、(店舗 名)→(店舗コード)であるため推移的関数従属の 関係ではない
(c)長岡技術科学大学 電気系 13 自明な関数従属 • Y⊂X ならば常に X→Y である。これを自明な 関数従属と呼ぶ。
例:(顧客コード、顧客名) • 明らかに(顧客コード、顧客名)→(顧客コード) さらに、特殊な場合として • (顧客コード、顧客名)→Φ(空集合) • (顧客コード、顧客名)→(顧客コード、顧客名)
(c)長岡技術科学大学 電気系 14 アームストロングの規則 • 反射律 – YがXの部分集合であれば、X→Y • 増加律
– X→Yであれば、X∪Z→Y∪Z • 推移律 – X→YかつY→Zであれば、X→Z
(c)長岡技術科学大学 電気系 15 これを拡張すると • 合併律 – X→YかつX→Zであれば、X→Y∪Z • 疑推移律
– X→YかつW∪Y→Zであれば、X∪W→Z • 分解律 – X→YかつZ⊆Yであれば、X→Z