关系模型的完整性规则(5) 设课程之间有先修、后继连系。模式如下: R(C#, CNAME, PC#) 其属性表示课程号、课程名、先修课的课 程号。如果规定,每门课程的直接先修课只 有一门,那么模式R的主键是C#,外键是 PC#.。这里参照完整性在一个模式中实现。 即每门课程的直接先修课必须在关系中出现。 16
16 关系模型的完整性规则 (5) 设课程之间有先修、后继连系。模式如下: R(C#,CNAME,PC#) 其属性表示课程号、课程名、先修课的课 程号。如果规定,每门课程的直接先修课只 有一门,那么模式R的主键是C#,外键是 PC#.。这里参照完整性在一个模式中实现。 即每门课程的直接先修课必须在关系中出现
关系模型的完整性规则(6) 用户定义的完整性规则 在建立关系模式时,对属性定义了数据类 型,即使这样可能还满足不了用户的需求。此 时,用户可以针对具体的数据约束,设置完整 性规则,由系统来检验实施,以使用统一的方 法处理它们,不再由应用程序承担这项工作 例如学生的年龄定义为两位整数,范围还 太大,我们可以写如下规则把年龄限制在 15~30岁之间: CHECK (AGE BETWEEN 15 and 30) 17
17 关系模型的完整性规则 (6) ⚫ 用户定义的完整性规则 在建立关系模式时,对属性定义了数据类 型,即使这样可能还满足不了用户的需求。此 时,用户可以针对具体的数据约束,设置完整 性规则,由系统来检验实施,以使用统一的方 法处理它们,不再由应用程序承担这项工作。 例如学生的年龄定义为两位整数,范围还 太大,我们可以写如下规则把年龄限制在 15~30岁之间: CHECK(AGE BETWEEN 15 AND 30) 返 回
2.1.4ER模型向关系模型的转换规则(1) ER模型向关系模型的转换,实际上就是把ER 图转换成关系模式的集合。 规则21(实体类型的转换):将每个实体类 型转换成一个关系模式,实体的属性即为关 系模式的属性,实体标识符即为关系模式的 键。 规则22(二元联系类型的转换) ①若实体间联系是1:1 ②若实体间联系是1:N ③若实体间联系是MN 18
18 2.1.4 ER模型向关系模型的转换规则 (1) ⚫ ER模型向关系模型的转换,实际上就是把ER 图转换成关系模式的集合。 ⚫ 规则2.1(实体类型的转换):将每个实体类 型转换成一个关系模式,实体的属性即为关 系模式的属性,实体标识符即为关系模式的 键。 ⚫ 规则2.2(二元联系类型的转换) ① 若实体间联系是1:1。 ② 若实体间联系是1:N。 ③ 若实体间联系是M:N
2.1.4E模型向关系模型的转换规则(2) 校名地址》←电话 学校 学校(校名,地址,电话, 校长名,任职年月) 在职>—任职年月 校长 校长(姓名,性别,年龄,职称) 姓名><性别年龄)←职称 图23一对一联系 19
19 2.1.4 ER模型向关系模型的转换规则 (2) 图2.3 一对一联系 任职年月 职称 校名 地址 校长 任职 学校 电话 姓名 性别 年龄 1 1 学校(校名,地址,电话, 校长名,任职年月) 校长(姓名,性别,年龄,职称)
2.1.4ER模型向关系模型的转换规则(3) 系号》系名电话 系 系(系号,系名,电话) 聘用 聘期 教师(工号,姓名,性别 教师 年龄,系号,聘期) 工号》<姓名性别(年龄 图2.4一对多联系
20 2.1.4 ER模型向关系模型的转换规则 (3) 图2.4 一对多联系 系号 系名 教师 聘用 系 电话 聘期 工号 姓名 性别 年龄 1 N 系(系号,系名,电话) 教师(工号,姓名,性别, 年龄,系号,聘期)