今天看了青山师哥的笔迹真是豁然开朗、终于把主键、候选键、超键、全码搞懂了、画了几张图跟大家分享下。
键
元组:表中的一行记录就是元组
候选键:能惟一标识元组,并且不含多余属性的属性(组合属性)
全码(键):关系模型的所有属性组是这个关系模式的候选键
主键:从若干个候选键中指定一个作为主键
超键:除可以包含一个候选键外,还可以包含其它属性
主属性:候选键中的属性为主属性
非主属性:不包含在候选键中的属性为非主属性
超键、候选键和主键
惟一标识一个元组;
超键中可能有无关的属性,而主键和候选键中属性都是必要的属性;
主键是候选键中的一个,只不过它被数据库设计者选中而称为主键而已,事实主键也是候选键
关系图
例子
例1
学生(学号,姓名,性别,课程号)
超键:学号,课程号,姓名;学号,课程号,性别
主键:学号,课程号
候选键:学号,课程号
主属性:学号,课程号 候选键中的所有属性
非主属性:姓名,性别
————————这次才知道原来还有超键————————
——————chenchen——————