Database design 将3NF转换为BCNF
我试图将我的表格从第三范式改为BCNF,但我不确定我是否完全理解这个概念 我设法通过1NF、2NF和3NF工作(我想),但需要帮助才能将其提交给BCNF 我有Database design 将3NF转换为BCNF,database-design,database-normalization,bcnf,Database Design,Database Normalization,Bcnf,我试图将我的表格从第三范式改为BCNF,但我不确定我是否完全理解这个概念 我设法通过1NF、2NF和3NF工作(我想),但需要帮助才能将其提交给BCNF 我有 **Students Table** ID -- First Name -- Last Name -- Age 1 -- Joe -- Jugg -- 22 2 -- Ben -- March -- 23 3 -- Sally -- Rainbow -- 19 **
**Students Table**
ID -- First Name -- Last Name -- Age
1 -- Joe -- Jugg -- 22
2 -- Ben -- March -- 23
3 -- Sally -- Rainbow -- 19
**StudentCourse Table**
ID -- Course Title -- Grade
1 -- Math -- A
1 -- Physics -- B
2 -- Math -- C
3 -- Music -- A
**Courses Table**
Course Title -- Course Fee -- Qualification -- Lecturer
Math -- £1900 -- Advanced Level -- 2
Physics -- £2300 -- Diploma -- 1
Music -- £1200 -- Certificate -- 3
**Lecturers Table**
Lecturer ID -- Lecturer Name
1 -- James Thomas
2 -- Harry Todd
3 -- Rachel Adam
我非常感谢您的帮助,如果您能向我解释这个概念,让我能理解,我将不胜感激,谢谢 我认为没有足够的信息来确定如何从3NF到达BCNF。我们需要了解一些关于表中列之间的关系的信息,以便进行推断和分析。除了已经满足BCNF的
StudentCourse
之外,所有表都包含不在多行中显示的信息,这对这些表没有任何帮助
在查看数据时,我们可以假设函数依赖关系,以用于工作示例。这并不意味着我所提供的答案是正确的,但会给出一些假设的见解
让我们假定:
- 由特定讲师教授的课程名称始终以相同的资格级别教授
- 所有证书均需支付1200英镑的费用
- 所有高级资格证书的费用为1900英镑
- 所有文凭都要缴纳2300英镑的费用
课程
表有以下行(注意附加的第四行):
这里我们有一个表中有两个函数依赖关系的例子:
- 候选密钥#1=(
)->(课程名称,讲师
)课程费用,资格
- 候选密钥#2=(
)->(资格
)课程费用
课程表中的两行,我们会遇到一个-这违反了BCNF。我们应该只需要更新某个表中的一行
为了满足BCNF的要求,我们需要创建一个新的资格
表,如下所示:
Qualification -- Course Fee
Certificate -- £1200
Advanced Level -- £1900
Diploma -- £2300
…结合该新表,我们将课程
表更改为以下内容:
Course Title -- Qualification -- Lecturer
Math -- Advanced Level -- 2
Physics -- Diploma -- 1
Music -- Certificate -- 3
Music -- Advanced Level -- 4
我们现在遇到了BCNF,因为在课程
表中不再有第二个候选密钥(Qualification->CourseFee
),我们可以在一行上执行更新
您可以在以下链接中找到更多有用的信息:
- (以高票通过的问题)
现在,你只是要求我们用定制的教程重写你的教科书&做你的(家庭)工作&你没有表现出任何研究或其他努力。请看,点击谷歌的“stackexchange家庭作业”和鼠标文本上方的投票箭头。按照你的课本展示你的工作步骤,并给出理由&问一个具体问题,你是第一个被卡住的地方。所有的零件都是重复的。“任何帮助”不是有效的SO问题。你没有给出解决这个问题所需要的任何东西,所以你似乎不太懂基本知识。教科书。
Course Title -- Qualification -- Lecturer
Math -- Advanced Level -- 2
Physics -- Diploma -- 1
Music -- Certificate -- 3
Music -- Advanced Level -- 4