请使用“关系模式标记规则”(见本题附录),给出上述各关系模式的主键和外键。 对于表5-17和表5-18所示的“职工”和“部门”关系,请指出表5-19中第①、②和③行是否允许插入?请分别用100字以内的文字简要说明理由。

admin2010-01-15  19

问题 请使用“关系模式标记规则”(见本题附录),给出上述各关系模式的主键和外键。
对于表5-17和表5-18所示的“职工”和“部门”关系,请指出表5-19中第①、②和③行是否允许插入?请分别用100字以内的文字简要说明理由。

选项

答案这是一道要求考生掌握完整性定义的约束性的综合分析题。本试题的解答思路如下。 (1)用SQL定义关系模式的一个非常重要的问题是完整性控制。完整性控制应具有①定义功能、②检测功能和③处理功能等3方面的功能。一旦发现违背了完整性约束条件,则应采取相关的动作来保证数据的完整性。数据库中最重要的约束是声明一个或一组属性形成关系的键。键的约束在SQL的CREATE TABLE命令中声明。在关系系统中,最重要的完整性约束条件是:实体完整性和参照完整性。 (2)实体完整性定义。在关系中只能有一个主键。声明主键有以下两种方法:①将PRIMARY KEY保留字加在属性类型之后;②在属性列表中引入一个新元素,该元素包含保留字PRIMARY KEY和用圆括号括起的,形成该键的属性或属性组列表。 (3)参照完整性定义。定义格式如下: [*] 参照完整性是通过使用保留字“FOREIGN KEY”定义哪些列为外码;REFERENCES用于指明外键对应于哪个表的主键;ON DELETE CASCADE指明删除被参照关系的元组时,同时删除参照关系中的元组;SET NULL表示置为空值方式。 (4)由于在职工表的定义中,职工号主码是唯一标识每个元组(记录)的,而在表5-19第①行中的职工号是“1001”,在题目给出的表5-17“职工”关系示例表中已经存在该职主号的记录,为了保证实体的完整性,该条记录不能插入。 (5)表5-19第②行的元组可以插入到表5-17“职工”关系表中,尽管部门号、电话和办公室为空,但是它表示该雇员暂时没有分配到某个部门。虽然职工表中部门号是外键,但在定义中也没有约束它不能为空。 (6)表5-19第③行的元组不能插入到表5-17“职工”关系表中,部门号是外键,而在部门关系中找不到部门号为“6”的元组,违反了参照完整性,所以不能做插入操作。

解析
转载请注明原文地址:https://kaotiyun.com/show/KcDZ777K
0

相关试题推荐
最新回复(0)