(一)关系的特性
1,
2,
3,行行,列列之间互换不影响关系本身。
4,关系和表的其中一点不同需要注意。
5,关系模型要符合第一范式,故之后推出来对象关系模型和面向对象数据模型。
(二)候选码(!)
单靠S#或C#不能唯一区分一个元组,因为一个学生可以选择多门课程,一门课程可以多个同学选,所以两个合在一起就是一个候选码。
(三)主码:候选码candiate中选一个出来"转正”.
这里的主属性是候选码属性的并集,以下面例子说明:
答案:
(1)候选关键字2个:(学号),(身份证号)
(2)主关键字:(学号)或者(身份证号)
(3)主属性2个:学号,身份证号
(4)非主属性2个:姓名,系别
(四)外码/外键
(五)关系模型完整性
1,实体完整性(对于主码而言)
空值对数据库系统的影响:
一般来说系统会给空值赋一个默认值,但是还是要特殊处理,主码不能有空值,其他的不建议有。
2,参照完整性(对于外码而言)
3,用户自定义完整性