关系模型中的所有的关系都必须是规范化的, 最基本的要求是符合第一范式INF( First Normal Form ),就是说,从 DBMS 的观点看,所有的属性值都是原子型的、不可再分的最小数据单位。例如,学生入学日期的表示,只能在 DBMS 外面划分为年、月、日,DBMS 把日期看作一个单位,不可再分的数据单元,不能单独根据年或月进行检索。
  关系的概念虽然看起来很简单,要设计一个好的关系模式、没有冗余的关系模式,并不容易。由于关系数据库理论支持关系的规范化设计过程,在设计关系模式时,要根据实际要求尽量规范化。
  一个关系数据库中包含许多关系模式。每个关系有一个唯一的关系名称,每个关系内的属性有唯一的属性名。通常属性名与其相关的属性值的集合(域)同时出现。
  关系数据模型是最成熟的数据模型,最广泛应用的数据模型。关系模型的记录之间以属性作为连接的纽带,使信息之间的关系不必在应用开始之前就完全固定下来,可以按一定的规则在对数据库操纵时形成新的联系,这是对层次和网状数据模型表达能力的一次飞跃。
  关系数据模型中,实体类型用关系表表示;实体类型之间的1:1和1:N的联系可以用关系表表示,也可以用属性来表示;实体类型之间的M:N的联系必须用关系表表示。
  在关系数据模型中,通过外部关键字可以直接表达实体之间一对多和多对多的联系,不需要任何转换或中间环节。

  例如,学生和课程之间多对多的联系,如图2-23,通过三个关系自然地表达出来,其中带有下划线的属性组是对应关系的主码属性。
    学生S(学号,姓名,性别,年龄,班级)
    课程C(课程编号,课程名,学分,开课系,教师编号)
    选课SC(学号 ,课程编号,成绩)

图2-23 学生与课程的联系

对于三个关系构成的关系表如 表2-5,2-6,2-7。在选课表中,主码是由学号和课程号的组合共同组成。
  表2-5 学生

学号 姓名 性别 年龄 入学日期 班级
J20001 李 楷 m
19 19980906
JS2001
J20002 张 会 f 20 19980907 JS2001
J20003 王 者 m 20 19980906 JS2001
D20001 赵 良 m 18 19980901 DZ2001

  表2-6 课程couse

课程编号cno 课程名称cname
学分credit 开课系deptno 开课教师tno
G001 程序语言 5 CS T001
G002 数据结构 6 CS T020
E001 信号处理 5 EE T012

  表2-7 选课SC

课程编号cno 学号 成绩
G001 J20001 78
G002 J20002 85
E001 J20003 86
E001 D20001 88