前言
因为这次自考没有报《数据库系统原理》,本以为可以暂时放放数据库的比较重要的知识,谁想在《信息系统资源与管理》中也出现了这些概念,躲得了初一躲不过十五,该来的总会来的,现在还是好好的学习一下吧!
总结
- 什么是“键码”?
- 在数据库领域中,当用概念模型描述现实世界客观事物时,将客观存在并可互相区分的事物称作实体,实体所具有的特性称作属性,能够独立标识实体的一个或一组属性称作键码。
- “键”
- 超键
- 在关系模式中,能唯一标识元祖的属性集称为超键。
- 候选键
- 不含多余属性的属性集的超键称为候选键。
- 超键和候选键的区别:超键可能含有多余的属性,而候选键不能。
- 主键
- 从候选键中随意指定的一个作为关键字,这个关键字就是主键。
- 示例
学生(学号,姓名,性别,专业号,年龄)
①(学号,姓名)是超键,而不是候选键(因为姓名是多余的属性,知道学号就可以唯一标识这个元祖)。学号是候选键,同时也是主键。 - 外键
- 如果关系模式R1中的某属性集不是R1的候选键,而是关系模式R2的候选键,则这个属性集对模式R1而言是外键。
- 示例
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
①R1学生——候选键-学号-主键
②R2专业——候选键-专业号-主键
③因为RI学生和R2专业都含有专业号,所以,专业号是R1学生的外键,R2专业无外键。
- 超键
- 属性
- 主属性
- 候选键中的所有属性成为主属性
- 示例
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
①学生——候选键-学号-主属性
②专业——候选键-专业号-主属性 - 非主属性
- 不包含在任何候选键中的属性称为非主属性(在上一个例子“学生”关系模型中,除了学号都是非主属性)
- 示例
成绩(学号,姓名,课程号,成绩)注:学生无同名(学号和姓名等价)
①学号(姓名)和课程号组合起来可以确定成绩,所以学号(姓名)和课程号的组合是这个关系模式的候选键
②候选键:(学号、课程号)、(姓名、课程号)
③主属性:学号,姓名,课程号
④非主属性:成绩
- 主属性
- 如何区分超键,候选键和主键?
- 共同点:唯一标识一个元祖
- 不同点:
- 超键中有无关的属性,而主键和候选键中属性都是必要的属性
- 主键和候选键的区别:主键是被数据库设计者选中的,是“在朝的”,而候选键是“在野的”。主键是候选键中的一个,只不过因为它被数据库设计者选中而称为主键而已,事实上它也是候选键。
小结
总结完一个知识点,就有很大的成就感,这说明自己离成功又近了一步,不忘初心,加油!