关系模型的完整性约束
- 格式:pdf
- 大小:129.98 KB
- 文档页数:2
答案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角度的观察视图.数据库体系结构为不同用户设计不同的模式级别.达到了简化问题,数据独立,安全隔离,面向全局共享等优点.因为数据库管理的数据是全局,复杂和海量的,设计的人员多.由于不同用户关注的角度,程度各不相同,因此他们只需要指导自己应该了解的数据即可,至于数据在数据库中的逻辑与物理存储结构对终端用户可以是透明的.。
简述关系模型的完整性约束内容关系模型的完整性约束内容主要包括四个方面:基本属性、外部关系、基本操作和规则。
1、基本属性这里的基本属性是指模型中所有用来描述实体及其状态之间关系的数据项,通常称为属性(或者称为数据项)。
例如,在表示货币和资产的关系模型中,通常要给出货币和资产的数量、期限、利率等基本属性。
货币可以分为现金和存款,存款又可以分为活期和定期;资产可以分为固定资产和流动资产等。
当我们给定一个模型时,对于每个数据项而言,需要考虑其是否被实体或对象使用以及什么时候会被使用。
这意味着对于一个货币和资产的关系模型而言,需要确定货币(基本属性)和资产(外部关系)各自发生了哪些变化。
也就是说,需要确定货币从1变成2时,资产将发生什么变化。
最简单的模型就是一组或者多组简单的基本属性。
然而,由于数据项是复杂的,实体之间的关系往往很复杂,因此必须引入更加抽象的概念,例如复合属性,可以被认为是多个基本属性的组合。
例如,一个模型可能需要给出货币、资产和利率这三个基本属性,它们可以是基本属性的组合。
有了复合属性,还必须确定每一个基本属性的每一种情况,以及任何两个不同实体之间的连接关系。
例如,利率=期限×货币数量。
2、外部关系这是指不同属性的实体之间的联系方式,主要包括两大类:传递关系和选择关系。
3、基本操作这是指从一种模型转换到另一种模型的过程,涉及三个步骤:建立一个新模型、赋予每个属性以新的值、将新的模型输出为原来的模型。
对于每一个新模型,都要确定是保留模型中的属性的哪些方面,是重写或修改模型中的属性。
在重写或修改属性的方法中,可以通过直接赋值、插入新的数据项或者插入或删除原来的数据项。
4、规则这里的规则是用来描述模型中实体及其状态的可能变化。
实体可以是个人、机构、国家等等。
而状态可以是可执行的或非可执行的。
规则必须是数据项,并且应该与原有的数据项相一致。
5、规则这里的规则是用来描述模型中实体及其状态的可能变化。
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.支持所有用户建立、存储数据库的软件系统是。
A.数据库系统B.数据库管理系统C.应用程序D.操作系统2.DB的三级模式结构中最接近外部存储器的是。
A.子模式B.外模式C.概念模式D.内模式3.在关系模式R中,函数依赖X→Y的语义是。
A.在R的某一关系中,若两个元组的X值相等,则Y值也相等B.在R的每一关系中,若两个元组的X值相等,则Y值也相等C.在R的某一关系中,Y值应与X值相等D.在R的每一关系中,Y值应与X值相等4.子模式是。
A. 模式的副本B. 模式的逻辑子集C. 多个模式的集合D. 内模式的逻辑子集6.数据库系统的核心是。
A. 数据库B. 数据库管理系统C. 数据模型D. 软件工具7.关系代数是以关系运算和为基础的运算。
A.代数运算B.选择操作C.集合操作D.谓词演算9.一组具有相同数据类型的值的集合称为________。
A.关系 B.属性 C.分量 D.域11. “日志”文件用于保存 ________。
A.程序运行过程B.数据操作C.程序执行结果D.对数据库的更新操作12.介质故障的恢复需要________。
A.实体的码 B.日志文件 C.数据转储和日志文件 D.数据库镜像13.内模式数据库的概念模型独立于。
A. E-R图B. 具体的机器和DBMSC. 现实世界D.信息世界14.支持所有用户建立、存储数据库的软件系统是。
A.数据库系统 B.操作系统 C.应用程序 D.数据库管理系统15.DBS具有“数据独立性”特点的原因是因为在DBS中。
A.采用磁盘作为外存B.采用三级模式结构C.使用OS来访问数据D.用宿主语言编写应用程序16.在数据库三级模式结构中,描述数据库中全体逻辑结构和特性的是。
A. 外模式B. 内模式C. 存储模式D. 模式17._____是长期存储在计算机内的有组织,可共享的数据集合.A.数据库管理系统B.数据库系统 C.数据库D.文件组织18.一个关系模式中,不可能存在A.多个候选关键字B.多个相同属性C.多个函数依赖D.多个外部关键字19.为实现数据保护,数据库管理系统通常提供了保证数据完整性,及并发控制等方面的机制。
ti数据库原理及应用复习题一、填空题1、事务的ACID特性指的是:一致性、原子性、持久性和隔离性。
2、实体-联系模型的基本要素是: 实体、属性、联系。
3.计算机能够处理的数据模型根据应用目的不同,可以分成不同层次的三类:概念模型,数据模型,逻辑模型。
(3、)目前最常用的数据模型有:_关系_____、层次、网状。
4、数据管理技术的发展主要经历了以下三个阶段:人工管理、文件系统、数据库系统。
5、关系的三类完整性约束:实体,参照、用户定义。
6、关系模型由三部分组成:数据结构、操纵及完整性约束、存储结构。
7、分E-R图之间的冲突主要有3类:属性、命名、结构。
8、模式分解等价的标准有: 具有无损连接性、保持函数依赖、既要保持函数依赖又要具有函数依赖。
9、数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
10、DBMS的功能应包括下面几类:数据定义、数据操纵、数据库运行管理、数据库组织,存储和管理、数据库建立,维护和其他。
11.目前最常用的数据模型有:层次模型,网状模型,关系模型。
12.数据库系统中的故障类型有:事务内部的故障,系统故障,介质故障,和计算机病毒故障。
二、单项选择题1、现在采用的概念模型主要是( A )。
A.实体-联系模型B.结构模型C.数据模型D.抽象模型2、数据字典通常包括( D)A.数据项和数据结构B.数据流和数据存储 C.处理过程D.ABC均正确。
3、完整性约束条件作用的对象层次有:( D )A.列级 B.元组级 C.关系层 D.ABC均正确4、SQL语言中,条件“年龄BETWEEN 20 AND 30”表示年龄在20至30之间,且(A)。
A.包括20岁和30岁B. 不包括20岁和30岁C.包括20岁但不包括30岁D. 包括30岁但不包括20岁5、SQL语言具有( B)的功能A.关系规范化、数据操纵、数据控制台B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵6、语句SELET COUNT(*) FROM human返回(A)行。
关系模型的三类完整性约束关系模型的三类完整性约束2010-05-23 18:352.3关系模型的三类完整性约束数据完整性由完整性规则来定义,关系模型的完整性规则是对关系的某种约束条件。
关系模型中有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
2.3.1实体完整性实体完整性规则若属性A是关系R的主属性,则A不能取空值。
实体完整性规则规定,关系的主码中的属性(即主属性)不能取空值。
空值(NULL)不是0,也不是空字符串,而是没有值。
换言之,所谓空值就是"不知道"或"无意义"的值。
由于主码是实体的惟一标识,如果主属性取空值,关系中就会存在某个不可标识的实体,即存在不可区分的实体,这与实体的定义矛盾,因此,这个规则称为实体完整性规则。
2.3.2参照完整性规则1.外码和参照关系设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码)。
如果F与基本关系S的主码KS相对应,则称F是基本关系R的外码(Foreign Key),并称基本关系R为参照关系(Referencing Relation),称基本关系S为被参照关系(ReferencedRelation)。
例如,在【例2-11】中的关系模型:课程(课号,课名,学分)教师(工号,姓名,职称,课号)参考书(书号,书名,课号)其中,关系教师中的属性"课号"不是主码,该属性与关系课程中的主码"课号"相对应。
因此,"课号"是关系教师的外码。
关系教师是参照关系,关系课程是被参照关系。
2.参照完整性规则(Referential Integrity Rule)参照完整性规则若属性(或属性组)F是基本关系R的外码,它与基本关系S 的主码KS相对应,则对于R中的每个元组在F上的值必须满足:或者取空值(F 的每个属性均为空值),或者等于S中某个元组的主码值。
例如,在【例2-11】的关系模型中,关系教师中的外码"课号"只能是下面两类值:(1)空值。
简述好的关系模型的评价准则
好的关系模型的评价准则通常包括以下几个方面:
1. 一致性(Consistency):关系模型应该保证数据的一致性,即数据的完整性和正确性。
这意味着关系模型应该能够保证所有数据都符合预先定义的数据完整性约束,并能够正确处理数据的更新操作,如插入、更新和删除。
2. 可扩展性(Scalability):关系模型应该能够应对数据量的
增长和工作负载的变化,而不影响系统的性能和可用性。
这涉及到关系数据库的存储结构和查询优化等方面的设计。
3. 性能(Performance):关系模型应该能够在合理的时间内
提供高效的数据访问和处理能力。
这包括查询的响应时间、并发处理性能、事务处理性能等方面的考虑。
4. 简单性(Simplicity):关系模型应该能够提供简单而易于
理解和使用的数据模型。
这意味着关系模型的概念和操作应该尽可能简洁和清晰,以便用户能够快速上手并正确地使用关系数据库。
5. 容错性(Fault Tolerance):关系模型应该能够应对系统故
障和数据错误,并保证数据的可靠性和可用性。
这包括故障捕捉和恢复、数据备份和恢复、容错机制和冗余策略等方面的设计。
6. 安全性(Security):关系模型应该能够保护数据的机密性、
完整性和可用性,防止未经授权的访问和恶意操作。
这包括用户认证和授权、数据加密、访问控制和审计等方面的设计。
综合考虑这些准则,可以评估关系模型的优劣,并选择适合特定需求的关系数据库管理系统。
关系模型的完整性约束⼀,定义定义关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。
完整性通常包括域完整性,实体完整性、参照完整性和⽤户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满⾜的完整性约束条件。
⼆,域完整性约束域完整性是保证数据库字段取值的合理性。
属性值应是域中的值,这是关系模式规定了的。
除此之外,⼀个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。
域完整性约束 (Integrity constrains)是最简单、最基本的约束。
在当今的关系DBMS中,⼀般都有域完整性约束检查功能。
包括主键(PRIMARY KEY)、检查(CHECK)、默认值(DEFAULT)、唯⼀(UNIQUE)、不为空(NOT NULL)、外键(FOREIGN KEY)等约束。
三,实体完整性约束实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值"。
⼀个关系对应现实世界中⼀个实体集。
现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟⼀性标识。
在关系模式中,以主关键字作为惟⼀性标识,⽽主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定\"的),这与现实世界的实际情况相⽭盾,这样的实体就不是⼀个完整实体。
按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
如表1.1将编号作为主关键字,那么,该列不得有空值,否则⽆法对应某个具体的职⼯,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。
四,参照完整性约束参照完整性(Referential Iintigrity)是定义建⽴关系之间联系的主关键字与外部关键字引⽤的约束条件。
参照完整性主要指主表不能任意删除或修改,从表不能任意添加。
关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。
关系模型的完整性约束
关系模型的完整性约束是对关系中数据的约束,其目的是保证在对关系中的数据进行操作时保持数据的有效性和一致性。
关系模型中包括了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)会拒绝该值的输入,从而保证了数据输入的合理性。