- 准备知识
- 候选码:可以唯一确定一个元组的属性,可以是联合属性,候选码可以有多个。
- 如:在学生表中,学号可以唯一确定一个学生,那么学号就是候选码
- 如:再学生选课表中,学号不能唯一确定一个选课关系,而是学号和课号共同确定一个选课关系,所以学号和课号的组合是候选码。
- 如:在学生表中加入身份证属性,那么学号和身份证号都是候选码,这时是分别做候选码,有两个候选码。
- 主码:主码是人为规定的,从候选码中选一个
- 如:在学生表中加入身份证属性,那么学号和身份证号都是候选码,这时人为的规定学号为主码(主键)
- 主属性:主属性是单个属性,不存在多个,就是一个单独的属性。包含在候选键中的属性就是主属性。
- 如:在选课关系表中,学号和课号联合起来做主键,当然主键也是候选键,所以学号和课号都是主属性。
- 非主属性:不是主属性的属性
- 主关系键:候选键
- 函数依赖
- 函数依赖是关系模式中属性之间的一种逻辑依赖关系。
- eg:在学生关系中,学号决定一个学生的姓名,就说姓名函数依赖于学号。
- 部分函数依赖
- eg:学生表(学号,课程号,成绩,姓名)
- 学号和课程号组合做主键,所以学号和课程号的组合决定所以其他属性
- 但是姓名只需要学号就可以决定了
- 所以姓名部分函数依赖于(学号,课程号)
- eg:学生表(学号,课程号,成绩,姓名)
- 传递函数依赖
- eg:学生表(学号,姓名,院系,院长)
- 学号是主键,可以决定其他所以属性
- 院系不能决定学生学号却可以决定院长是谁
- 所以院长传递依赖于学号
- eg:学生表(学号,姓名,院系,院长)
- 候选码:可以唯一确定一个元组的属性,可以是联合属性,候选码可以有多个。
- 第一范式
- 每一列要保持原子特征。列是基本数据项,不能再进行拆分,否则设计成一对多的关系。
- 不满足第一范式就不能称为关系型数据库。
- 第二范式
- 每个非主属性都完全函数依赖于R的主关系键
- 第三范式
- 每个非主属性都不传递函数依赖R的主关系键
- 每个非主属性都不传递函数依赖R的主关系键
数据库系统原理:范式理论
猜你喜欢
转载自www.cnblogs.com/xiaobaizzz/p/12305819.html
今日推荐
周排行