参照完整性规则
- 格式:ppt
- 大小:426.50 KB
- 文档页数:31
第二章1、关系的性质,关系模式的形式化表示、各参数的含义。
答:关系数据库中的关系必须具有下列一些性质。
(1)任意两个元组(两行)不能完全相同;(2)关系中元组(行)的次序是不重要的,即行的次序可以任意交换。
(3)关系属性(列)的次序也是不重要的,即列的次序可以任意交换。
(4)同一列中的分量必须来自同一个域,是同一类型的数据;(5)属性必须有不同的名称,但不同的属性可出自相同的域,即它们的分量可以取值于同一个域。
(6)每一分量必须取原子值,即每一个分量都必须是不可再分的数据项。
关系模式的形式化表示:关系的描述称为关系模式(Relation Schema)。
它的形式化表示为:R( U, D, DOM, F)其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。
2、关系数据语言的特点及分类。
答:关系数据语言可以分为三类:○1关系代数语言,如ISBL元组关系演算语言,如ALPHA、QUEL○2关系演算语言域关系演算语言如 QBE○3具有关系代数和关系演算双重特点的语言,如 SQL这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3、完整性约束的分类,3类完整性规则的含义。
答:关系模型中有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。
为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,必须遵循下述3类完整性原则。
(1)实体完整性规则:关系中的元组在主属性上不能有空值。
(2)参照完整性规则:外键的值不允许参照不存在的相应表的主键的值。
(3)用户定义的完整性规则:用户定义的完整性规则是用户根据具体应用语义要求,利用DBMS提供的定义的完整性规则的机制,用户自己定义的完整性规则。
4、关系代数中传统的集合运算有哪些,专门的关系运算有哪些。
答:关系代数中传统的集合运算有:并、差、交、笛卡尔积4种运算○1并(Union):设有同类关系R和S,则它们的并记为R∪S,仍然是R和S的同类关系,由属于R或属于S的元组组成,但必须除去重复的元组R∪S={t∣t∈R∨t∈S},其中t为元组。
1.从程序和数据之间的关系分析文件系统和数据库系统之间的区别和联系。
区别:文件系统:用文件将数据长期保存在外存上,程序和数据有一定的联系,用操作系统中的存取方法对数据进行管理,实现以文件为单位的数据共享。
数据库系统:用数据库统一存储数据,程序和数据分离,用DBMS统一管理和控制数据,实现以记录和字段为单位的数据共享。
联系:均为数据组织的管理技术;均由数据管理软件管理数据,程序与数据之间用存取方法进行转换;数据库系统是在文件系统的基础上发展而来的。
2.什么是数据库?数据库是长期存储在计算机内、有组织的、可共享的数据集合。
数据库是按某种数据模型进行组织的、存放在外存储器上,且可被多个用户同时使用。
因此,数据库具有较小的冗余度,较高的数据独立性和易扩展性。
3.什么是数据冗余?数据库系统与文件系统相比怎样减少冗余?在文件管理系统中,数据被组织在一个个独立的数据文件中,每个文件都有完整的体系结构,对数据的操作是按文件名访问的。
数据文件之间没有联系,数据文件是面向应用程序的。
每个应用都拥有并使用自己的数据文件,各数据文件中难免有许多数据相互重复,数据的冗余度比较大。
数据库系统以数据库方式管理大量共享的数据。
数据库系统由许多单独文件组成,文件内部具有完整的结构,但它更注重文件之间的联系。
数据库系统中的数据具有共享性。
数据库系统是面向整个系统的数据共享而建立的,各个应用的数据集中存储,共同使用,数据库文件之间联系密切,因而尽可能地避免了数据的重复存储,减少和控制了数据的冗余。
4.使用数据库系统有什么好处?查询迅速、准确,而且可以节约大量纸面文件;数据结构化,并由DBMS统一管理;数据冗余度小;具有较高的数据独立性;数据的共享性好;DBMS还提供了数据的控制功能。
5.什么是数据库的数据独立性?数据独立性表示应用程序与数据库中存储的数据不存在依赖关系,包括逻辑数据独立性和物理数据独立性。
逻辑数据独立性是指局部逻辑数据结构(外视图即用户的逻辑文件)与全局逻辑数据结构(概念视图)之间的独立性。
数据库原理(专升本) 单选题1. 层次模型不能直接表示_____。
(A) 1:1关系(B) 1 :m关系(C) m :n关系(D) 1 :1和1 :m关系标准答案:C2. 在数据库系统中,系统故障造成_ ____。
(4分)(A) 硬盘数据丢失(B) 软盘数据丢失(C) 内存数据丢失(D) 磁盘丢失标准答案:C3. 关系r和s自然连接时,能够把r和s原该舍弃的元组放到结果关系中的操作是_____。
(4分)(A) 左外连接(B) 右外连接(C) 外部并(D) 外连接标准答案:D4. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是_____。
(4分)(A) DBS包括DB和DBMS(B) DDMS包括DB和DBS(C) DB包括DBS和DBMS(D) DBS就是DB,也就是DBMS标准答案:A5. 要求关系的元组在主属性上不能为空值,这是_____约束。
(4分)(A) 实体完整性(B) 参照完整性(C) 用户自定义(D) 用户操作标准答案:A6. 在下面列出的数据模型中,___ __是概念数据模型。
(4分)(A) 实体、联系模型(B) 层次模型(C) 网状模型(D) 关系模型标准答案:A7. 在关系模式R(A,B,C)中,F= {(A,B) →C,B→C},则R最高可达到_____。
(4分)(A) BCNF(B) 3NF(C) 2NF(D) 1NF标准答案:D8. 数据库的三级模式体系结构的划分,有利于保持数据库的_____。
(4(A) 数据独立性(B) 数据安全性(C) 结构规范化(D) 操作可行性标准答案:A填空题9. 在ER图中,矩形框表示___(1)___ ,菱形框表示___(2)___ 。
(4分)(1).标准答案:实体类型(2).标准答案:联系类型10. 在需求分析中,___(3)___是各类数据描述的集合,它包括数据项、数据结构、数据流、数据存储和数据加工过程等描述。
国家二级ACCESS机试选择题(数据库基础知识)模拟试卷11(题后含答案及解析)题型有:1. 选择题选择题1.设计数据表时,如果要求“成绩”字段的范围在0~100之间,则应该设置的字段属性是A.默认值B.输入掩码C.参照完整性D.有效性规则正确答案:D解析:有效性规则是指向表中输入数据时应遵循的约束条件,本题中要求“成绩”字段的取值范围在0~100之间,应设置该字段的有效性规则,所以选项D 正确。
知识模块:数据库基础知识2.在设计数据表时,如果要求“课程安排”表中的“教师编号”必须是“教师基本情况”表中存在的教师,则应该进行的操作是A.在“课程安排”表和“教师基本情况”表的“教师编号”字段设置索引B.在“课程安排”表的“教师编号”字段设置输入掩码C.在“课程安排”表和“教师基本情况”表之间设置参照完整性D.在“课程安排”表和“教师基本情况”表的“教师编号”字段设置有效性规则正确答案:C解析:参照完整性是在输入或删除记录时,为维持表之间已定义的关系而必须遵守的规则,本题中要求“课程安排”表中的“教师编号”必须是“教师基本情况”表中存在的教师,那么在“课程安排”表和“教师基本情况”表之间创建关系时,必须设置参照完整性规则,以起到对两表之间的约束作用,所以选项C 正确。
知识模块:数据库基础知识3.支持数据库各种操作的软件系统称为A.命令系统B.数据库系统C.操作系统D.数据库管理系统正确答案:D解析:数据库管理系统是数据库系统的核心软件,支持用户对于数据库的基本操作,其主要目标是使数据成为方便用户使用的资源,所以选项D正确。
知识模块:数据库基础知识4.如果说“主表A与相关表B之间是一对一联系”,下列叙述中,正确的是A.主表A和相关表B都必须指定至少一个主关键字字段B.主表A和相关表B应按主关键字字段建立索引C.主表A中任意一条记录必须与相关表B中的一条记录相关联D.相关表B中任意一条记录必须与主表A中的一条记录相关联正确答案:C解析:表与表之间的关系分为一对一、一对多和多对多3种。
关系模型的参照完整性规则
答: 关系模型的完整性规则是对关系的某种约束条件。
关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。
其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。
1) 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。
2) 参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必
须为:
·或者取空值(F的每个属性值均为空值);
·或者等于S中某个元组的主码值。
3) 用户定义的完整性是针对某一具体关系数据库的约束条件。
它反映某一具体应用所涉及的数据必须满足的语义要求。
2022年山西大学信息管理与信息系统专业《数据库概论》科目期末试卷B(有答案)一、填空题1、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和______。
2、使某个事务永远处于等待状态,得不到执行的现象称为______。
有两个或两个以上的事务处于等待状态,每个事务都在等待其中另一个事务解除封锁,它才能继续下去,结果任何一个事务都无法执行,这种现象称为______。
3、有两种基本类型的锁,它们是______和______。
4、在设计局部E-R图时,由于各个子系统分别有不同的应用,而且往往是由不同的设计人员设计,所以各个局部E-R图之间难免有不一致的地方,称为冲突。
这些冲突主要有______、______和______3类。
5、在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用____________语句,收回所授的权限使用____________语句。
6、设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者______取空值,这是规则,它是通过______和______约束来实现的。
7、关系数据库中基于数学的两类运算是______________和______________。
8、数据库管理系统的主要功能有______________、______________、数据库的运行管理以及数据库的建立和维护等4个方面。
9、完整性约束条件作用的对象有属性、______和______三种。
10、设某数据库中有作者表(作者号,城市)和出版商表(出版商号,城市),请补全如下查询语句,使该查询语句能查询作者和出版商所在的全部不重复的城市。
SELECT城市FROM作者表_____SELECT城市FROM出版商表;二、判断题11、在一个关系中,不同的列可以对应同一个域,但必须具有不同的列名。
(本大题共9小题,每空1分,共10分)请在每小题的空格中填上正确答案。
错填、不填均无分。
1. 关系数据模型由关系数据结构、关系操作和关系完整性约束三部分组成。
2. 一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的属性3. 在Student表的Sname列上建立一个唯一索引的SQL语句为:CREATE UNIQUE INDEX Stusname ON student(Sname)4. SELECT语句查询条件中的谓词“!=ALL”与运算符 NOT IN 等价5. 关系模式R(A,B,C,D)中,存在函数依赖关系{A→B,A→C,A→D,(B,C)→A},则侯选码是 A和(B,C) ,R∈ AB NF。
6. 分E-R图之间的冲突主要有属性冲突、命名冲突、结构冲突三种。
7. 事物是DBMS的基本单位,是用户定义的一个数据库操作序列。
8. 存在一个等待事务集{T0,T1,…,T n},其中T0正等待被T1锁住的数据项,T1正等待被T2锁住的数据项,T n-1正等待被T n锁住的数据项,且T n正等待被T0锁住的数据项,这种情形称为死锁。
9. 可串行性是并发事务正确性的准则。
三、简答题(第1、3题3分,第2题4分,共10分)1.试述关系模型的参照完整性规则?答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
2.试述视图的作用?(1)视图能够简化用户的操作。
(1分)(2)视图使用户能以多种角度看待同一数据。
(1分)(3)视图对重构数据库提供了一定程度的逻辑独立性。
(1分)(4)视图能够对机密数据提供安全保护。
(1分)3. 登记日志文件时必须遵循什么原则?登记日志文件时必须遵循两条原则:(1)登记的次序严格按并发事务执行的时间次序。
一、有效性规则和参照完整性1.有效性规则先选中要求设置的字段,(1)“规则”:逻辑型表达式即SQL格式表达式。
例:年龄是15-20:年龄>=15 and 年龄<=20(2)“信息”:字符型表达式,直接摘抄加“”(英文状态)(3)“默认值”:看选中的字段是什么类型2.参照完整性(1)判断一方(没有重复字段的表)和多方(有重复字段的表)(2)一方建主索引,多方建普通索引(3)由一方向多方扯一条线(4)清理数据库(数据库—清理数据库,如果遇到“文件正在使用暂不能发布pack命令,”此时close all,再重新以独占方式打开数据库再进行一次清理)(5)右键编辑参照完整性(两个永久性联系须一一设置其参照完整性)二、SQL语句1.格式:格式一:Select [top]字段1/字段2…… from表1,表2…. where连接条件and(or) 筛选条件{group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2asc/desc…… into table表格式二:Select[top]字段1/字段2…… from表1 join 表2 join表3…. on连接条件(返回来写) where筛选条件 {group by 某一字段 [haing count(字段)] } order by字段1 asc/desc, 字段2 asc/desc…… into table表⑴.“字段1/字段2……”,根据题目要求,搜索什么字段写什么字段,若其中某一字段在表中没有则认定为是起的新名字,在该字段前加as,之后向函数avg(),sum(),max(),min(),count()。
⑵.“group by 某一字段 [haing count(字段)]”为难点。
考虑用不用group by,首先在草稿纸上或脑海生成题目要求的表,选取一个个例填写分析是否用得到group by,按什么分组。