关系模型
提出
关系模型是从表以及表的处理方式中抽象出来的,引入了集合理论与逻辑学理论的知识。
研究内容
一个关系就是一个Table。我们学习关系模型,就是要学习:Table如何描述,有哪些操作、结果如何、有哪些约束等。
概述
三要素:
- 基本结构:Table
- 基本操作:并、差、广义积等
- 完整性约束
关系
关系的表示
R(A1: D1, A2: D2, …, An: Dn)
关系模式中属性向域的映像在很多DBMS中一般直接说明为属性的类型、长度等,例如:
Student(S# char(8), Sname char(10), Ssex char(2), Sage integer, D# char(2), Sclass char(6))
表名为Student,属性名Sname是长度为10的char型数据
关系的特性
- 属性不可再分,即关系第一范式
关系和表其实是有一定差别的。关系是一个严格的数学定义,而表是记录的集合,表允许有重复的元组(行)。
重要概念
- 候选码(候选键):是关系中的一个属性组,其值能够唯一地标识一个元组(表中的某一行),若从该属性组中去掉任何一个属性,它就不再具有这一性质。
如Student(S#, SIdentity, Sname, Ssex, Sage, Sclass)表中,S#和SIdentity都可以唯一地标识一个元组,故(S#, SIdentity)可以作为候选码。 - 主码(主键):当有多个候选码时,可以选定一个作为主码。DBMS以主码为主要线索管理关系中的各个元组。比如上面的候选码中,我们就可以选定S#作为主码。
- 主属性与非主属性:包含在任何一个候选码中的属性被称作主属性,否则就是非主属性。
- 外码(外键):关系R中的一个属性组,虽不是R的候选码,但是与另一个关系S的候选码对应。