关系模型的完整性约束

合集下载

大学计算机 题目答案

大学计算机 题目答案

答案TTFFT FFFTF FFT1-1数据库管理技术的发展经过了人工管理、文件系统、数据库系统三个阶段。

1-2数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。

1-3概念模型的表示方法很多,其中尤为著名的是Peter Chen提出的“实体-联系方法”(Entity-Relationship Approach),简称E-R模型。

该方法用文本方式表示实体集之间的联系。

1-5文件系统是数据库发展中的最高阶段。

1-6一个关系数据库中的文件,各记录在输入时,次序可以颠倒。

1-7同一个关系模型中任两个元组值可以完全相同。

1-8应用数据库的主要目的是为了解决数据完整性问题。

1-9E-R模型图是实体参照模型图。

1-10关系运算分为两种,一种是传统的关系运算,一种是专门的关系运算。

1-12关系模型的完整性约束包括实体完整性约束、字段完整性约束和参照完整性约束。

1-13在关系数据库中,元组也被称为字段。

1-14实体可以是实际的事物,不可以是实际的事件。

1-15一个实体往往可以有若干个属性。

选择答案ABCCA CABAA ABACA CCBAB CCCBC BCADB CBBAD CABAD2-1__是数据库应用系统中的核心问题。

数据库设计数据库系统运行数据库系统维护.数据库管理员培训2-2数据管理系统是__。

操作系统的一部分在操作系统支持下的系统软件一种编译系统一种操作系统下列__不是数据库系统的组成部分。

硬件系统数据库管理系统及相关软件文件系统数据库管理员2-4DBS是指__。

数据数据库数据库系统数据库管理系统2-5数据库设计的根本目标是__。

数据共享数据安全存储大量数据简化数据维护2-6按数据的组织形式,数据库的数据模型可分为三种模型,它们是__。

小型、中型和大型网状、环状和星状层次、网状和关系独享、共享和实时2-7构成关系模型中的一组相互联系的“关系”是指__。

满足一定规范化要求的二维表二维表中的一行二维表中的一列二维表中的一个数据项2-8一个班级可以有多个学生,则班级和学生之间的关系是__。

数据库原理模拟题

数据库原理模拟题

数据库原理模拟题一、填空题1、数据库中存储的是数据以及数据之间的联系。

2、反映现实世界中实体及实体间联系的信息模型是ER模型。

3、关系代数的专门关系运算中,从指定关系R中取出满足条件的元组集的运算称为选择。

4、数据库三/级模式中,用户与数据库系统的接口是外模式。

5、用树形结构表示实体之间联系的模型是层次模型。

6、关系数据库管理系统应能实现的专门关系运算包括选择, 投影和连接。

7、在ER图中,用长方形表示实体,用椭圆表示属性。

8、在数据库系统中,实现各种数据管理功能的核心软件称为DBMS 。

9、在关系数据模型中,通常可以把字段称为属性,而把记录类型成为关系模式.10、在数据库系统中,用户所见的数据模式为外模式。

二、单选题1.设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为( A ).A.r+sB.r-sC.r×sD.max(r,s)2.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模型时,该关系模式的关键字是( D ).A.M端实体的关键字B.N端实体的关键字C.重新选取其他属性D.M端实体关键字与N端实体关键字组合3.一个关系数据库文件中的各条记录( A ).A.前后顺序可以任意颠倒,不影响库中的数据关系B.前后顺序不能任意颠倒,一定要按照输入的顺序排列C.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列D.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同4.DB,DBMS和DBS三者之间的关系是( B ).A.DB包括DBMS和DBSB.DBS包括DB和DBMSC.DBMS包括DB和DBSD.不能相互包括5.ER图是表示概念模型的有效工具之一,在ER图中的菱形框表示( A )A.联系B.实体C.实体的属性D.联系的属性6.SQL的视图是从一个或几个( C )中导出的.A.视图B.基本表C.视图或基本表D.数据库7.SQL谓词”年龄BETWEEN15AND35”表示年龄在15至35之间,且( A ).A.包括15岁和35岁B.包括15岁但不包括35岁C.包括35岁但不包括15岁D.不包括15岁和35岁8.SQL语言的一次查询的结果是一个( A ).A.表B.元组C.记录D.数据项9.SQL语言具有两种使用方式,它们在使用的细节上会有些差别,特别是SELECT语句.这两种不同使用方式的SQL,分别称为交互式SQL和( C )A.提示式SQLB.多用户SQLC.嵌入式SQLD.解释式SQL10.SQL语言中,删除一个表中所有数据,但保留表结构的命令是( B ).A.REMOVEB.DELETEC.DROPD.CLEAR11.SQL语言中创建外键,使用FOREIGNKEY时要配合的语句是( D ).A.PRIMARYB.FOREIGNC.EXTENDD.REFERENCES12.部分匹配查询中,通配符”%”代表( C ).A.一个字符B.多个字符C.零或多个字符D.一或多个字符13.当两个关系没有公共属性时,其自然联接表现为( A ).A.笛卡儿积B.等值联接C.结果为空D.出错14.定义在{1,2}和{1,2}上的二元关系数为( D )A.2B.4C.8D.1615.下面哪个不是数据库系统必须提供的数据控制功能( B ).A.安全性B.可移植性C.完整性D.并发控制16.概念模型表示方法醉常用的是( A )A.ER方法B.数据的方法C.分布式方法D.面向对象的方法17.关系R的实体完整性控制是指( D ).A.主键非空B.主键唯一C.主键非空或唯一D.主键非空且唯一18.下述关于数据库系统的正确叙述是( B ).A.数据库系统避免了一切冗余B.数据库系统减少了数据冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据19.关系模型中的关系模式至少是( A ).A.1NFB.2NFC.3NFD.BCNF20.一般情况下,当对关系R和S使用自然联接时,要求R和S至少含有一个共同的( D )A.记录B.行C.数据字典D.属性21.关系数据模型的三个组成部分中,不包括( C ).A.数据结构B.数据操作C.数据恢复D.数据完整性规则22.关系运算中花费时间可能醉长的运算是( C ).A.选择B.投影C.笛卡尔积D.除23.关于关系代数的五个基本操作是( C )A.并,差,交,除,笛卡尔积B.并,差,交,投影,除C.并,差,交,选择,投影D.并,差,笛卡尔积,投影,选择24.候选码中的属性都属于( A ).A.主属性B.候选属性C.关键属性D.复合属性25.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHEER),学生选课关系是SC(S#,C#,GRADE)要查找选修”COMPUTER”课程的女学生的姓名,将涉及到关系( D )A.SB.SC,CC.S,SCD.S,C,SC26.绝大多数数据库系统的总体结构,都具有外模式,模式和内模式三/级模式结构.描述数据库中全体数据的全局逻辑结构和特征的是( C )A.模式和内模式B.内模式C.模式D.外模式27.逻辑数据独立性是指( D ).A.内模式变化时应用程序可以不变B.模式变化时应用程序可以不变C.模式变化时,只要适当调整外模式和模式间的映射,应用程序可以不变D.模式变化时,只要适当调整外模式和模式间的映射,外模式上的应用程序可以不变28.日志文件是用于记录( D ).A.程序运行过程B.数据操作C.程序执行的结果D.对数据的所有更新操作29.如果有两个事务,同时对数据库中同一数据进行操作,不会引起冲突的操作是( A ).A.两个都是SELECTB.SELECT和UPDATEC.两个都是UPDATED.UPDATE和INSERT30.同一个关系的任意两个元组的值( B ).A.可以全相同B.不能全相同C.必须全相同D.以上都不是31.设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为( A )A.r+sB.r-sC.r譻D.max(r,s)32.下列叙述中错误的是( A ).A.在数据库系统中,数据的物理结构必须与逻辑结构一致B.数据库技术的根本目标是解决数据共享问题C.数据库技术是指已有数据管理系统的基础上建立数据库D.数据库系统需要操作系统的支持33.下列各种对关系数据库的基本操作中,( A )是从表中选取满足某种条件的元组的操作,相当于横向选择数据.A.选择B.投影C.连接D.除34.设有两个事务T1,T2,其并发操作如下所示,下面评价正确的是( B ).A.该操作不存在问题B.该操作丢失修改C.该操作不能重复读D.该操作读”脏”数据35.试图是由下面哪两者导出的表( B )A.模式,关系B.基本表,视图C.基本关系,关系D.内模式,外模式36.视图与关系模式之间的联系是( C ).A.内模式/模式B.内模式/外模式C.模式/外模式D.模式/关系模式37.数据库的三/级模式结构之间存在着二级映像,使得数据库具有较高的( C ).A.数据重用性B.事务并发性C.数据独立性D.数据可靠性38.下列各种模型中不是数据模型的是( A )A.概念模型B.层次模型C.网状模型D.关系模型39.数据库系统达到了数据独立性是因为采用了( D ).A.关系模型B.网状模型C.层次模型D.三/级模式结构40.索引的描述存放在下列哪一项所指示的对象中( C )A.视图B.模式C.数据字典D.文件三、判断题1.DELETETABLE和DROPTABLE都可以完全删除一张表.(错)2.在关系笛卡尔积运算记号R×S中,R,S均为关系名.(对)3.数据一致性是指DB中的数据类型一致.(错)4.死锁是操作系统中的问题,数据库操作中不存在.(错)5.DELETETABLE和DROPTABLE都可以完全删除一张表.(错)6.关系中的行,列均可交换.(对)7.数据库系统的三/级模式结构中,外模式,模式,内模式都只有一个.(错)8.数据库系统指软件为主,不包括数据库与用户.(错)9.一个表的主键只能建立在一列上.(错)10.一个表可以创建多个主键.(错)四、问答题1.简述关系模型的三类完整性约束.[答案]:实体完整性:主码的取值约束,该主码取值能够唯一的标识一个元组,PRIMARYKEY. 参照完整性:外码的取值约束,外码取值必须是参考表中主键的取值或空,FOREIGNKEY.用户自定义完整性:CHECK,DEFAULT,NOTNULL等对属性的约束.2.举例说明,定义基本表时,如何使用列级约束和表级约束.[答案]:当约束作用的列是一列时,可以在该列建立列级约束,也可以建立表级约束;而当约束作用的列是多列的组合时,只能建立表级约束.如学生基本信息表S(Sno,Sname,Ssex,Sage,Sdept)中,主键是Sno,则可以建立列级约束(CREATETABLE(SnoCHAR(4)PRIMARYKEY,其它列定义))或表级约束(CREATETABLE(...所有列定义,PRIMARYKEY(Sno))),而选课表SC(Sno,Cno,Grade)中,主键是Sno,Cno组合时,只能建立表级约束PRIMARYKEY(Sno,Cno).3.简述数据库设计的六个步骤.[答案]:1)需求分析,得出数据流图DFD,数据字典DD2)概念设计,设计E-R图3)逻辑设计,设计关系模式4)物理设计,设计数据存储结构,索引5)数据库实施,数据装载6)数据库运行和维护4.简述数据库系统的三/级模式和二级映像结构的优势.[答案]:数据库三/级模式二级映像结构是从DBMS角度的观察视图.数据库体系结构为不同用户设计不同的模式级别.达到了简化问题,数据独立,安全隔离,面向全局共享等优点.因为数据库管理的数据是全局,复杂和海量的,设计的人员多.由于不同用户关注的角度,程度各不相同,因此他们只需要指导自己应该了解的数据即可,至于数据在数据库中的逻辑与物理存储结构对终端用户可以是透明的.。

第2章 数据库-关系模型1

第2章 数据库-关系模型1

• 在关系数据模型中一般将数据完整性分为三类
– 实体完整性
– 参照完整性 – 用户定义完整性
需要说明两点
• 关系是元组的集合,集合(关系)中的元素(元组) 是无序的;而元组不是分量di的集合,元组中的分量
是有序的。
例如,在关系中(a,b)≠(b,a),但在集合中{a,b}={b,a}。
• 若一个关系的元组个数是无限的,则该关系称为无限
实体完整性规则
• 实体完整性是要保证关系中的每个元组都是可识别和唯一的。 • 实体完整性规则要求关系中元组的主键值不可以为空值。
• 实体完整性是关系模型必须满足的完整性约束条件,也称作是
关系的不变性。 • 关系数据库管理系统用主键实现实体完整性,这是由关系系统 自动支持的。
对实体完整性规则的几点说明
关系数据语言
• 关系代数语言:如ISBL
• 关系演算语言:
– 元组关系演算语言(如Aplha,Quel)
– 域关系演算语言(如QBE)
• 具有关系代数和关系演算双重特点的语言:如SQL
返回
关系完整性约束
• 在数据库中数据完整性是指保证数据正确的特性。
它包括两方面的内容:
– 与现实世界中应用需求的数据的相容性和正确性; – 数据库内数据之间的相容性和正确性。
部门表(R1)
部门编号 01 02 03 04 部门名称 经理办公室 人事部 公关部 技术部 …
02 03
外部关系键
主关系键
注意事项:
• 外部关键字和相应的主关键字可以不同名,只要 定义在相同值域即可。 • 两个关系(R和S)也可以是同一个关系模式,表 示了属性之间的联系。 • 外部关键字的值是否为空,应视具体问题而定。

【《数据库与信息系统》复习题及答案】第2章关系数据库基本知识

【《数据库与信息系统》复习题及答案】第2章关系数据库基本知识

答案:A 解析: 在数据库设计中,概念设计用 E-R 图来描述信息结构,与具体的数据库管理系统和 计算机系统无关。数据流图和数据字典是系统分析阶段的工具,结构数据模型是逻辑设计阶 段的结果。
6.数据库概念设计的 E-R 图中,用属性描述实体的特征,属性在 E-R 图中一般用________ 表示。 A. 椭圆形 B. 矩形 C. 四边形 D. 菱形 答案:A 解析: E-R 图主要包括实体、实体属性和实体间的关系,一般用椭圆形表示实体的属性, 用矩形表示实体,用菱形表示实体之间的联系。
13.在数据库中,产生数据不一致的根本原因是________。 A. 数据冗余 B. 数据存储量太大 C. 没有严格保护数据 D. 未对数据进行完整性的控制 答案:A
解析: 数据冗余是造成数据不一致的根本原因,如果完全没有冗余,就没有重复数据,就 不会出现不一致。数据不一致与存储量无关。没有严格保护数据造成数据安全问题,不会产 生数据不一致。未对数据进行完整性的控制会造成数据不一致,但不是根本原因。
7.E-R 图中的一个实体可以与________实体建立联系。 A. 0 个或多个 B. 0 个 C. 1 个 D. 多个 答案:A 解析: 在 E-R 图中,一个实体可能不与任何实体建立联系,也可能与多个实体有联系,因 为现实世界的事物可能存在多种联系。如:学生和课程之间有选修关系,学生和班级之间有 属于关系。
16.在一个关系模式中,侯选关键字和主关键字分别可以有________。 A. 多个、1 个 B. 0 个、多个 C. 1 个、多个 D. 多个、多个 答案:A 解析:候选关键字是能唯一区分数据记录的属性或属性组,一个表至少有 1 个候选关键字, 也就是说最坏的情况就是全部属性一起做候选关键字(即全码);但主关键字只能有 1 个, 选择其中 1 个候选关键字来做。

简述关系模型的完整性约束内容

简述关系模型的完整性约束内容

简述关系模型的完整性约束内容关系模型的完整性约束内容主要包括四个方面:基本属性、外部关系、基本操作和规则。

1、基本属性这里的基本属性是指模型中所有用来描述实体及其状态之间关系的数据项,通常称为属性(或者称为数据项)。

例如,在表示货币和资产的关系模型中,通常要给出货币和资产的数量、期限、利率等基本属性。

货币可以分为现金和存款,存款又可以分为活期和定期;资产可以分为固定资产和流动资产等。

当我们给定一个模型时,对于每个数据项而言,需要考虑其是否被实体或对象使用以及什么时候会被使用。

这意味着对于一个货币和资产的关系模型而言,需要确定货币(基本属性)和资产(外部关系)各自发生了哪些变化。

也就是说,需要确定货币从1变成2时,资产将发生什么变化。

最简单的模型就是一组或者多组简单的基本属性。

然而,由于数据项是复杂的,实体之间的关系往往很复杂,因此必须引入更加抽象的概念,例如复合属性,可以被认为是多个基本属性的组合。

例如,一个模型可能需要给出货币、资产和利率这三个基本属性,它们可以是基本属性的组合。

有了复合属性,还必须确定每一个基本属性的每一种情况,以及任何两个不同实体之间的连接关系。

例如,利率=期限×货币数量。

2、外部关系这是指不同属性的实体之间的联系方式,主要包括两大类:传递关系和选择关系。

3、基本操作这是指从一种模型转换到另一种模型的过程,涉及三个步骤:建立一个新模型、赋予每个属性以新的值、将新的模型输出为原来的模型。

对于每一个新模型,都要确定是保留模型中的属性的哪些方面,是重写或修改模型中的属性。

在重写或修改属性的方法中,可以通过直接赋值、插入新的数据项或者插入或删除原来的数据项。

4、规则这里的规则是用来描述模型中实体及其状态的可能变化。

实体可以是个人、机构、国家等等。

而状态可以是可执行的或非可执行的。

规则必须是数据项,并且应该与原有的数据项相一致。

5、规则这里的规则是用来描述模型中实体及其状态的可能变化。

2-关系模型练习题参考答案

2-关系模型练习题参考答案

2-关系模型一、选择题1、下面对“关系模型”的叙述中,不正确的说法是( C )。

A.关系模型的数据结构就是关系。

B.关系是一个属性数目相同的元组集合。

C.关系模型允许在关系中出现两条完全相同的元组。

D.关系模型具有三类完整性约束。

2、下面对“关系”的叙述中,不正确的说法是( D )。

A.关系中元组顺序的改变不影响关系结果。

B.关系中每个属性都不能再分割。

C.不允许在关系中出现两条完全相同的元组。

D.关系中属性顺序的改变影响关系结果。

E.往一个关系中添加一个元组后,该关系就变成另外一个关系。

3、下面关于“关系模式”与“关系”两个概念的不正确叙述是( D )。

A.关系模式是指二维表的结构,不包括二维表的内容。

B.关系包括二维表的内容。

C.关系是动态的。

D.关系模式也是动态的。

4、下面对关系“候选键”概念的正确叙述是( D )。

A.候选键是指在一个关系中,能够唯一标识每个元组的属性集。

B.一个关系必须有候选键。

C.一个关系只能有一个候选键。

D.候选键不能由多个属性构成。

5、下面对关系“主键”概念的不正确叙述是( C )。

A.主键一定是候选键。

B.一个关系只能有一个主键。

C.主键只能由单属性构成。

D.主键可以由单多个属性构成。

6、在对关系代数表达式进行优化时,一般来说,( A )操作应尽可能早地进行。

A.选择B.联接C.投影D.除法7、下面对两个关系进行自然联接的前提条件的正确的说法是( D )。

A.两个关系必须有属性名称相同的属性。

B.两个关系必须有取值类型都相同的属性。

C.两个关系必须有名称、类型都相同的属性。

D.两个关系必须有取值域相同的属性。

8、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。

A.πW(R-S)=πW(R)-πW(S)B.σ(F)(R-S)=σ(F)(R)-σ(F)(S)C.πW(R∩S)=πW(R)∩πW(S)D.πW(R∪S)=πW(R)∪πW(S)9、设关系R和S的属性集相同,W是R的属性集的子集,下面不正确的等式是()。

数据库关系模型的三类完整性约束

数据库关系模型的三类完整性约束

数据库关系模型的三类完整性约束关系模型中有三类完整性约束,分别是:实体完整性,参照完整性,⽤户定义完整性实体完整性定义:实体完整性是⽤于保证关系数据库中每个元组都是可区分的,唯⼀的。

它的意思就是说数据表中每⼀⾏都应该有办法将其唯⼀区分开来,这⾃然指的就是主键了,⽽且主键必须不能为空或部分为空。

那么它⼤可以直接叫⼀些诸如“要有主键”等通俗的名字,但是为何要叫实体完整性呢?⾸先第⼀点,“实体完整性”这个名字听起来就很⾼⼤上,嘿嘿;好了不开玩笑了,说认真的。

⼀个基本表实际上是对应了现实⽣活中的⼀个实体集的,⽐如学⽣关系就对应了学⽣的集合,因此我们所谓的表,其实就相当于现实⽣活中的某⼀种实体的集合。

⽽现实⽣活中的实体都是可以唯⼀区分的,他们本⾝就都具有了某种唯⼀性标识,⽐如学⽣的学号,⼈的⾝份证等等。

所以既然我们的表是相对于实体集的,那么表中必然需要⼀个主键来作为这个实体在被抽象后的唯⼀标识⽽主键不能为空就更好理解了,主键要是为空了那还拿什么来唯⼀标识这个实体呢?即这样就会存在不可区分的实体了,那就和我们上⾯讲的⽭盾了。

因此,这个规则就叫做实体完整性,私下⾥(不正式啊,只是辅助理解与记忆)可以理解为主键完整性。

参照完整性参照完整性中的参照,说⽩了就是数据表⾥的外键。

举个例⼦,下⾯有三个关系:学⽣(学号,姓名)课程(课程号,课程名)选修(学号,课程号,成绩)显然,在选修关系中的学号,必须是学⽣表⾥真正存在的学号,且选修表⾥的课程号,也必须是课程表⾥真正存在的课程号。

这就是参照完整性的⼀个典型表现了。

在上⾯的例⼦中,选修表中的学号就称为选修表的⼀个外码,它对应的是学⽣表中的学号。

并且称选修关系为参照关系,⽽学⽣关系为被参照关系。

但是仅仅这么说还有很多细节没有讲到,下⾯我们理⼀理外码的定义。

⾸先要知道,外码不能是这个关系(参照关系)的主码,但是是它参照的关系(被参照关系)的主码。

什么意思呢,就是说学号这个属性在学⽣表中是主码,⽽在选修表中不是,这就称学号是选修表中的⼀个外键(课程号同理)。

关系模型的完整性规则

关系模型的完整性规则

关系模型的完整性规则一、实体完整性实体完整性要求关系模型中的每一个实体都必须具有一个唯一的标识符,并且不能有重复的记录。

它可以分为以下几个具体的规则:1.主键约束:每个实体都必须有一个主键,主键的值必须是唯一的,且不能为空。

2.唯一约束:主键以外的属性也可以用唯一约束来保证其值的唯一性,但允许为空。

3.非空约束:要求一些属性的值不能为空。

二、参照完整性参照完整性规则用于保证关系模型中外键的有效性。

外键是关系模型中一个表中的字段,它引用了另一个表的主键。

参照完整性规则包括以下几个方面:1.外键约束:一个表中的外键必须引用另一个表中的一个存在的主键值,或者为空(如果允许为空)。

2.级联操作:级联操作是指当一个表中的记录被删除或更新时,与之相关联的其他表中的记录也会被删除或更新。

3.级联约束:级联约束用于定义级联操作的行为,包括级联删除和级联更新。

三、用户定义完整性用户定义完整性规则允许用户根据具体的业务需求定义自己的完整性规则。

用户定义完整性规则包括以下几个方面:1.检查约束:检查约束用于定义一些属性的取值范围或取值约束。

2.默认值约束:默认值约束用于在未明确指定一些属性值时,为其设置一个默认值。

3.触发器:触发器用于定义在特定事件发生时自动执行的动作,可以用于实现更复杂的完整性规则。

需要注意的是,完整性规则不仅可以在数据库的模式中定义,也可以通过触发器、存储过程等方式在应用程序中进行定义和实现。

完整性规则的作用是保证数据库中的数据的一致性和有效性,通过强制执行这些规则,可以避免无效、冗余或不一致的数据被插入到数据库中,保证了数据库的数据质量。

同时,完整性规则也有助于提高数据库的性能和可维护性,减少了数据处理的错误和冗余工作。

因此,在设计和维护数据库时,应该充分考虑并合理应用完整性规则。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关系模型的完整性约束
关系模型的完整性约束是对关系中数据的约束,其目的是保证在对关系中的数据进行操作时保持数据的有效性和一致性。

关系模型中包括了3类完整性约束,即实体完整性、参照完整性和用户定义的完整性。

1.实体完整性
实体完整性(Entity Integrity Constraint)规则:若属性A是关系R的主属性,则属性A的值不能为空值。

实体完整性规则具体说明如下:
(1)使用“Null”表示空值,表示的不是空格值,而是表示“不知道”、“不存在”或“无意义”的值。

(2)实体完整性规则是针对基本关系的。

一个基本表通常对应现实世界的一个实体集。

(3)实体完整性规则可以保证实体是可区分的。

如果主属性取空值Null,就表明实体集中存在不可标识的实体,即存在不可区分的实体,这显然违背了现实世界。

(4)实体完整性规则可以保证实体的唯一性。

关系中使用主码作为唯一性标识,因此,不允许主码中的属性出现重复值。

例如,学生档案表中的学号是主属性,学号属性不允许为空值,而其他属性,如“性别”为空,则仅仅表明该学生的这些特征值还不清楚,但不影响该元组所表达的意义和它所具有的唯一性。

2.参照完整性
参照完整性(Referential Integrity Constraint)规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K s相对应(基本关系R和S可以是不同的关系),则对于关系R中每个元组在F上的值必须取空值(F的每个属性值均为空值)或者等于关系S
中某个元组的主码值。

例如,有学生档案、专业两个关系,其关系模型表示如下:
学生档案(学号,姓名,性别,年级,专业编号)
专业(专业号,专业名称,所属学院)
(1)外码和参照关系
设F是基本关系R的一个或一组属性,但不是关系R的码。

如果F与基本关系S的主码K s相对应,则称F是基本关系R的外码(Foreign Key),并称基本关系R为参照关系(Referencing Relation),基本关系S为被参照关系(Referenced Relation)。

需要说明的是,R的外码F与S的主码K s必须来自于同一个域。

例如,专业关系的专业号与学生档案的专业编号相对应,因此专业编号是学生档案关系的外码。

同时,学生档案关系是参照关系,而专业关系是被参照关系。

(2)参照完整性规则
上例中,专业编号是学生档案关系的外码,它的值将参照专业关系的主码(专业号)属性。

它的取值只能是:
●空值:表示该学生至今还未分配专业;
●非空值:该值只能来自于专业关系的专业编号属性中的某一个值。

3.用户定义的完整性
用户定义的完整性(User-Defined Integrity Constraint)是针对某一具体关系数据库的约束条件,它反映的是某一具体应用所涉及的数据必须满足的语义要求。

数据库管理系统(DBMS)都应该提供定义和检验这类完整性机制,以便统一检验和处理这种约束,而不再由应用程序来提供这个功能。

例如,人员的“性别”属性的取值只能是“男”或“女”,“成绩”属性的取值范围在0~100之间。

因此,当用户向关系表中输入数据时,如果某个属性定义了约束,数据库管理系统(DBMS)会自动检测输入值是否符合约束条件,若不符合,数据库管理系统(DBMS)会拒绝该值的输入,从而保证了数据输入的合理性。

相关文档
最新文档