关系模型的数据结构关系模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系
关系数据库是表的集合用关系表示实体以及实体间的联系的模型,称为关系模型,下面我们来看看关系模型中的基本术语1
关系关系就是二维表,它满足以下几个条件1)关系表中的每一列都是不可再分的基本属性
(有子属性,分开了,不是关系表)2)表中的各属性不能重名3)表中的行、列次序并不重要,即交换列的前后顺序(比如将性别放在年龄前面)不影响其表达的一个语义
元组表中的每一行数据称为一个元组,它相当于一个记录值3
属性表中的每一列是一个属性值的集合,列可以命名,称为属性名,属性与前面讲到的实体属性(特征)或记录的字段意义相当
关系表中的每一行数据不允许完全相同,因为存储值完全相同的两行或多行数据并没有实际意义4
主键主键也称主码或主关键字,是表中用于唯一确定一个元组的一个属性或最小属性组
主键可以由一个属性组成,也可以由多个属性共同组成
如表所示,学号就是此学生基本信息表的主键,因为它可以唯一地确定一个学生
而表所示的关系的主键就由学号和课程号共同组成,因为一个学生可以选修多门课程,而且一门课程也可以有多个学生选修,因此,只有将学号和课程号结合起来才能共同的确定一行记录
通常称由多个属性共同组成的主键为复合主键
表的主键与其实际应用语义有关,与表设计者的意图有关,如表,用(学号,课程号)作为主键在一个学生对一门课程只能有一次考试的前提下是成立的,如果设定一个学生对一门课程可以有多次考试,则用(学号,课程号)作主键就不够了,因为一个学生对一门课程有多少次考试,则这个值就回重复多少遍,如果是这种情况,就必须为这个表添加一个“考试次数”列,同时作为主键有时一个表中可能存在多个可以作主键的属性,比如,对于学生信息表,如果能够保证姓名肯定不重复的话,那么姓名也可以作为学生基本信息的主键,如果表中存在多个