(二) 关系数据模型

1.关系数据库和关系模式

在关系数据库中,我们用关系来表示实体集和联系集,关系通常使用二维表来表示,对应关系名。表的每一列称为属性(和ER图中的可以认为是一样的);每一行可以称为一条记录;这里每个属性都需要是原子的,这决定了规范的关系数据库中不能有多值属性和复合属性。

什么是关系模式?其实关系模式可以简记为:

R(A1,A2,…,An) 其中R为关系模式名,A表示属性名。

一个关系(我的理解就是一个实际的数据库表)就就可以称为该关系模式的一个关系值。【型和值的对应,理解】

除了关系的超码、候选码和主码值外,还有一些定义,比如任意候选码中的属性就可以称为是主属性,而不在任何码中的属性即为非主属性外码(外键),即不为本关系的主键,但是是其他关系的主键,就称为该关系的外键。

例如:

学生表(学号,姓名,性别,班级) 
其中每个学生的学号是唯一的,学号就是一个主键 
课程表(课程编号,课程名,学分) 
其中课程编号是唯一的,课程编号就是一个主键 
成绩表(学号,课程号,成绩) 
成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是一个主键 
  
成绩表中的学号不是成绩表的主键,但它和学生表中的学号相对应,并且学生表中的学号是学生表的主键,则称成绩表中的学号是学生表的外键 
  
同理 成绩表中的课程号是课程表的外键。

2.从ER图到关系模型

实体和联系都可以转换为关系,然而有时属性需要进行特殊处理,由于关系模型要求属性的原子性,所以不能出现多值属性和复合属性。至于派生属性,由于不需要进行存储,处理时直接忽略即可。对复合属性采用展平技术,即把每个子属性都当成关系模式的属性。对于多值属性,需要为其创建一个关系RM,该关系的组成遵守如下规则

  • 如果多值属性

猜你喜欢

转载自www.cnblogs.com/lbrs/p/11261633.html