数据库基础与应用(题与答案整理好)中南大学远程教育平台

内容发布更新时间 : 2025/4/8 8:17:06星期一 下面是文章的全部内容请认真阅读。

1.关系模型的完整性规则有哪几类?在关系模型的参照完整性规则中,外部码属性的值是否可以为空?什么情况下才可以为空?

1 实体完整性

实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。

例如,在学生关系S(S#, SN, SS, SA, SD)中,S#属性为主码,则S#不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。例如,学生选课关系SC(S#, C#,G)中,(S#,C#)为主码,则S#和C#两属性都不能取空值。

2 参照完整性:

若属性(或属性组)F是关系R的外码,它与关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值为取空值(F的每个属性值均为空值),或者等于S中某个元组的主码值。

对于例子中选修关系中每个元组的学号属性只能取下面两类值: (1)空值,表示尚未有学生选课。

(2)非空值,这时该值必须是学生关系中某个学生的学号,表示某个未知的学生不能选课。 同样,选修关系中每个元组的课程号属性只能取下面两类值: (1)空值,表示尚未开课。

(2)非空值,这时该值必须是课程关系中的某个课程号,表示不能选未开设的课。 3 用户定义的完整性

实体完整性和参照完整性适用于任何关系数据库系统。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。例如,学生关系的年龄在15~30之间,选修关系的成绩必须在0~100之间等。

2.关系系统可以分为哪几类?各类关系系统的定义是什么?

关系系统的定义

一个系统可以定义为关系系统,当且仅当它支持如下条件时才可以:

(1)关系数据结构,也就是说,从用户观点看,数据库是由表构成的,并且系统中只有表这种结构。

(2)选择、投影和(自然)连接运算。对这些运算不要求用户定义任何物理存取路径。 关系模型中并非每一部分都是同等重要的,所以我们并不苛求一个实际的关系系统必须完全支持关系模型。

不支持关系数据结构的系统显然不能称为关系系统。

仅支持关系数据结构,但没有选择、投影和连接运算功能的系统,用户使用起来仍不方便,这种系统仍不能算作关系系统。

支持选择、投影和连接运算,但要求定义物理存取路径,这样就降低或丧失了数据的物理独立性,这种系统也不能算作真正的关系系统。

选择、投影、连接运算是最有用的运算,能解决绝大部分实际问题,所以要求关系系统只要支持这三种最主要的运算即可,并不要求它必须提供关系代数的全部运算功能。 关系系统的分类

按照E.F.Codd的思想,依据关系系统支持关系模型的程度不同,可以把关系系统分为四类,如图2-1所示。

关系系统分类图

图中的圆表示关系数据模型。每个圆分为三部分,分别表示模型的三个组成部分:S表示数据结构(Structure),I表示完整性约束(Integrity),M表示数据操纵(Manipulation)。图中的阴影部分表示各类系统支持模型的程度。 1.表式系统

这类系统仅支持关系数据结构(即表),不支持集合级的操作。表式系统实际上不能算关系系统。倒排表列(Inverted list)系统属于这一类。 2.(最小)关系系统

这类关系是上面定义的关系系统,它支持关系数据结构和选择、投影、连接三种关系操作。许多微机关系系统如FoxBASE,FoxPro等属于这一类。 3.关系完备的系统

这类类系统支持关系数据结构和所有的关系代数操作(功能上

>>灞曞紑鍏ㄦ枃<<
12@gma联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4 ceshi