作者hawkI (hawk)
看板Examination
标题[考题] 102关务 资料库 正规化
时间Sat Aug 3 19:34:11 2013
[考题] 国考历届考题与考题观念讨论(书里看到的选这个)请附上想法、出处
考题网址:
http://ppt.cc/Uwur
很抱歉 有段时间没碰资料库 现在做起题目感觉很奇怪
这一题主要想问第四小题BCNF那里的问题,附上我解的过程
题目:
已知下列表格的功能相依性(Functional Dependencies)如下。请分4 步骤依序完成
正规化的工作:(一)一阶正规化 (二)二阶正规化 (三)三阶正规化
(四) Boyce-Codd 正规化。最後在(四)中说明表格的主键(Primary Keys)。
表格
学号 生日 年纪 课号 授课教授 开课系名 主修系名 选课指导 教授成绩
112233 80.8.4 22 岁 24680 林教授 工工系 工工系 I教授 88
223344 79.9.1 23 岁 24680 林教授 工工系 运管系 T教授 84
334455 80.5.2 22 岁 13579 李教授 管科系 资财系 F教授 79
112233 80.8.4 22 岁 24680 林教授 工工系 管科系 M教授 88
FD
学号→生日;
生日→年纪;
课号→授课教授;
授课教授→开课系名;
(学号,课号)→成绩;
(学号,主修系名)→选课指导教授;
选课指导教授→主修系名;
以下是我的想法 想问有没有错误
(一)第一正规化
已符合第一正规化 属性定义域为atomic
┌──┐ ┌─┐ ┌──┐ ┌───┐ ┌────┐
│ ↓ │ ↓ │ ↓ │ ↓ ↓ │
学号 生日 年纪 课号 授课教授 开课系名 主修系名 选课指导 教授成绩
│ │ │ ↑ ↑
├─────────────────────────┴─────┘ │
└─────────┴─────────────────────────┘
(二)第二正规化
非key值必须完全相依於主key
因此将表格分解如下
学号,生日,年纪
课号,授课教授,开课系名
学号,课号,教授成绩
学号,主修系名,选课指导
┌──┐ ┌─┐ ┌──┐ ┌───┐
│ ↓ │ ↓ │ ↓ │ ↓
学号 生日 年纪 课号 授课教授 开课系名
┌──┬───┐ ┌────┐
│ │ ↓ ↓ │
学号 课号 教授成绩 学号 主修系名 选课指导
│ │ ↑
└───┴────┘
(三)第三正规化 绿色为主key色
非key值不可递移相依於主key
┌──┐ ┌──┐
│ ↓ │ ↓
学号 生日
生日 年纪
┌──┐ ┌──┐
│ ↓ │ ↓
课号 授课教授
授课教授 开课系名
┌──┬───┐ ┌────┐
│ │ ↓ ↓ │
学号 课号 教授成绩
学号 主修系名 选课指导
│ │ ↑
└───┴────┘
CK(学号,生日,课号,授课教授,主修系名) or
CK(学号,生日,课号,授课教授,选课指导) <===
这个CK怎麽看都很怪
(四)Boyce-Codd BCNF
所有决定因素必须皆为候选健
┌────┐
↓ │
学号 主修系名 选课指导
│ │ ↑
└───┴────┘
问题应该出在这
CK(学号,生日,课号,授课教授,主修系名) or
CK(学号,生日,课号,授课教授,选课指导)
这样是直接符合了吗?
怎麽看都觉得选课指导 指到 主修系名很奇怪
头脑烧焦卡在这边 不知道对不对。 求解惑 囧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.43.98.57
1F:推 asdd:针对你的答案我提出以下看法 首先PK应该针对每个关联个别去列 08/04 09:31
2F:→ asdd:第二 为何第三正规化的时候会有两组CK(假设是所有关联的PK) 08/04 09:34
3F:→ asdd:第三 BCNF针对 (学号 主修系名 选课指导)PK为学号 主修系名 08/04 09:35
4F:→ asdd:应该拆成 (学号 选课指导)皆为PK (选课指导 主修系名)其中选 08/04 09:37
5F:→ asdd:课指导为PK 大概就以上几点 有错烦请指导 08/04 09:39
6F:→ hawkI:CK不是只要能完成所有关联的最小集合吗? 所以我列的那两个 08/04 11:58
7F:→ hawkI:我觉得都可以当成ck 也不知道这样想法有没有错 08/04 11:58
8F:→ hawkI:至於BCNF 还是觉得很怪 不外乎是因为那个候选健的关系 08/04 11:59
9F:→ hawkI:如果选课指导 不包含在里面就要拆了 但我感觉是包含在里面 08/04 12:00
10F:→ hawkI:对了 前面的pk 是我懒得上色 没上啦 ... 这样考试会被扣分 08/04 12:01
11F:→ hawkI:不好意思 Sorry ... 08/04 12:01
12F:推 stator:抱歉,我之前的回答错了。根据唐老师的说法 09/13 05:16
13F:→ stator:是一楼的a大说的没错。主要意义就是让决定因素皆为CK 09/13 05:17