关系模型是当前最重要的一种数据模型。当前最常用的数据库产品,如Oracle、DB2、SQL Server等都是采用关系数据模型的关系数据库产品。
关系模型是以二维表的方式来组织数据的。二维表由行和列组成,一行对应一个实体的实例,一列对应一个实体的属性。在关系模型中,无论是实体还是实体之间的关系都是以二维表的形式表示的。例如,表1-1是学生信息表,表1-2是班级信息表。关系数据库从逻辑角度看就是二维表的集合。
在关系模型中,二维表必须满足以下要求:表中的每一列都是不可再分的基本属性。表中各列不能重名。表中每列数据必须是相同类型的。表中的行、列次序并不重要,即交换行、列的顺序不影响其表达语义。在关系模型中,常涉及下列术语。关系:关系就是二维表,例如学生信息表、班级信息表。元组:表中的每一行数据是一个元组,它相当于一个记录。属性:表中的每一列是一个属性。主码:又称主键,是表中用于唯一确定一个元组的属性或属性组。例如,学生信息表中的学号、班级信息表中的班号。外码:又称外键。某一属性或属性组在本表中不作主码,而在其他表中作主码,这样的属性或属性组称为本表的外码。例如,学生信息表中的班号属性在本表中不作主码,但在班级信息表中作为主码,因此学生信息表中的班号属性为外码。域:属性的取值范围。例如,学生信息表中性别域有“男”、“女”两个取值。分量:元组中的一个属性值。
关系模型中的各种操作必须满足特定的完整性约束条件才能进行。关系的完整性约束包括3类:实体完整性、参照完整性和用户定义完整性。实体完整性:是指关系中必须定义主键,以唯一地确定一个元组。主键由一个或多个属性构成,其取值唯一且不能为空(NULL)。参照完整性:在关系模型中,通过外键来表示表之间的关系。参照完整性是指一个表中的外键的取值必须是参照表中主键存在的值或为空(NULL)。例如,学生信息表中“班号”属性为外键,其取值必须是班级信息表中班号属性的某一个值或为空。用户定义完整性:是指用户根据特定应用情况设定一些约束,反映某一具体应用所涉及的数据必须满足的语义要求。例如,性别属性的域为“男”、“女”。
相关资源:七夕情人节表白HTML源码(两款)