参照完整性规则
数据库复习纲要(第二章)

第二章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为元组。
参照完整性

CREATE TABLE 读者
(读者号 char(6) PRIMARY KEY, 姓名 varchar(20), 性别 c har(2),
读者类型ID char(6), 类型名称varchar(16), FOREIGN KEY(读者类型ID) REFERENCES读者类型(读者类型ID) )
数据库
王伟 清华大学出版社
9781765982 数据库应用 郑智浩 电子工业出版社
9781766770 数据库原理 王丽娟 清华大学出版社
•借阅表中插入一条新记录 •借阅表中修改一^ ISBN号 •图书表中删除一条记录 •图书表中修改—ISBN号
外码
、 Borrow关系
Reader BorrowDate
ALTER TABLE 借阅 ADD CONSTRAINT FK_图书号 FOREIGN KEY(图书 号) REFERENCES图书(图书号)
4.2.3参照完整性检查和违约处理
食可能破坏参照完整性的情况及违约处理
主码4
(TSBN)
9781267845
Book关系
BookName Editor
Press
整性规则自动进行检查并进行违约处理。
可能破坏参照完整性乍■ 插入元组
违约处理 ,
拒绝 /
可能破坏参照完整性 ■■ 修改外码值 删除元组 ■降可能破坏参照完整性
拒绝 拒绝/级联删除/设置空值
修改主码值 ■降可能破坏参照完整性
拒绝/级联修改/设置空值
默认策略
4.2.3参照完整性检查和违约处理
Pl创建参照表时显式定义违约处理策略-示例
CREATE TABLE 借阅 (读者号char(6), 图书号 varchar(15), 借阅日期datetime, 还书日期datetime,
数据库原理习题及答案

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(题后含答案及解析)

国家二级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(有答案)

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、在一个关系中,不同的列可以对应同一个域,但必须具有不同的列名。
Access 2010数据库应用:为数据表之间的关系设置“实施参照完整性”规则

3
【任务实施】
(1)启动Access,打开数据库 “Book4.accdb”。
(2)打开【关系】窗口,双击“图书类型” 表与“图书信息”表之间关系的连接线,打开 【编辑关系】对话框。
9
(12)按组合键“Ctrl+Z”,撤消对相关 表的修改。
(13)在快速访问工具栏中单击选择【保 存】按钮,保存修改的最终结果。关闭所有的 数据表视图和【关系】窗口
10
《Access2010数据库应用》
单元4 维护与使用Access数据表
《Access2010数据库应用》
单元4 维护与使用Access数据表
4.3 建立与编辑数据表之间的关系
ห้องสมุดไป่ตู้4.3.4 设置数据表的参照完整性
2
《Access2010数据库应用》
【任务4-16】为数据表之间的关系 设置“实施参照完整性”规则
【任务描述】
(1)为“图书类型”表与“图书信息”表之间 的关系设置“实施参照完整性”规则。
图4-60 在【编辑关系】对 话框中选中三个复选框
6
(6)关闭【关系】窗口,同时打开“图书类 型”和“图书信息”数据表视图。
(7)在主表“图书类型”中将图书类型编号 “17”修改为“178”,此时系统会打开如图4-62 所示提示信息对话框,表示不能更改主表中相关 字段的内容。
图4-62 更改已“实施参照完整性”规则的 关系的主表相关字段的内容时出现的对话框
7
(8)在该对话框中单击选择【确定】按钮,关 闭对话框。按组合键“Ctrl+Z”,撤消对主表的修 改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
只有一个当前数据库。也就是说,所有作用于数据库的命令或函数 是对当前数据库而言的。
指定当前数据库的命令是: SET DATABASE TO[ DatabaseName ]
9
第四章 数据库与多表操作
4. 修改数据库 ⑴使用“项目管理器”修改数据库 ⑵使用命令修改一个数据库 格式:
6
第四章 数据库与多表操作
4.2.3 数据库的基本操作
1. 打开数据库 打开数据库的方式也有三种: ⑴在“项目管理器”中打开已存在的数据库: ⑵从“打开”对话框打开数据库: ⑶使用命令方式打开数据库。 格式:OPEN DATABASE [ 文件名 / ?]
[ EXCLUSIVE / SHARED ] [ NOUPDATE ] [ VALIDATE ]
3
第四章 数据库与多表操作
2. 关系数据库的完整性
⑴实体完整性。实体完整性是指一个表中主关键字的取值必须 是确定的、唯一的,不允许为null值。
⑵参照完整性。数据库的参照完整性是指在“子表”当中实现 关联的外部关键字,它的取值或者为“空”值、或者为“父表”中 实现相应关联的主关键字值的子集。
⑶用户自定义完整性。这部分是由实际应用环境当中的用户需 求决定的。通常为某个字段的取值限制、多个字段之间取值的条件 等。
一对多关系;多对多关系;一对一关系。
1
第四章 数据库与多表操作
4.1.2 数据库的设计
1. 数据库表之间的联系与外部关键字 ⑴表与表之间是一对多的联系:实现该联系需将父表中的主关键
字放入子表当中,以实现两表之间的有效关联。 ⑵表1与表2之间是多对多的联系:实现该联系需另外增加一个新
表,这个表称为“关联表”,其中包括表1和表2的主关键字,并且加 进两表之间的关联字段。
7
第四章 数据库与多表操作
2. 关闭数据库 关闭数据库一般有两种方性: ⑴是在项目管理器中关闭数据库 ⑵二是用命令方式关闭数据库 格式:CLOSE DATABASES [ALL] 功能:
不带选项:表示关闭当前数据库和表。 带“ALL”:表示关闭当前打开的数据库和数据库表、自由表及索
引文件等。
8
第四章 数据库与多表操作
表”按钮。 ⑵使用REMOVE TABLE命令。 格式:
REMOVE TABLE 表名 / ? [ DELETE ] [ RECYCLE ] 例如,打开“学籍”数据库,并将其中的表“学生.DBF”移出:
OPEN DATABASE 学籍 REMOVE TABLE 学生
13
第四章 数据库与多表操作
4. 删除表文件 使用DROP TABLE命令删除表文件 格式:
⑵使用命令方式 格式:ADD TABLE 表名 / ?[ 长表名 ]
例如,打开“学籍”数据库,并向其中添加表“学生.DBF”: OPEN DATABASE 学籍 ADD TABLE 学生
12
第四章 数据库与多表操作
3. 从数据库中移出表 ⑴从“数据库”菜单中选择“移出表”,或者单击工具栏中的“移出
第四章 数据库与多表操作
4.1 关系数据库的基础知识
4.1.1 基本概念
1. 关键字、主关键字、组合关键字与候选关键字 关系表中,其值可以唯一地标识一条记录的字段称为关键
字。如果几个字段的值组合后可以唯一地标识一条记录,则这 几个字段就称为组合关键字。表中可能有多个关键字,选取表 中的一个关键字作为对该表进行各种操作时,用以区别每条记 录的唯一性标志,并作为该表与其他表实现关联的关键字,则 该关键字称为主关键字或主码。其他的关键字,称为候选关键 字。 2. 数据之间的联系类型
MODIFY DATABASE [ 数据库名 / ?] [NOWAIT] [NOEDIT]
例如,要修改学生“学籍”数据库,可用命令: MODIFY DATABASE 学籍
10
ห้องสมุดไป่ตู้
第四章 数据库与多表操作
5. 删除数据库 ⑴在“项目管理器”中删除数据库 ⑵使用命令删除数据库 删除数据库的命令格式是: DELETE DATABASE 数据库名 | ?[ DELETETABLES ][ RECYCLE ]
4
第四章 数据库与多表操作
4.2 数据库的基本操作
4.2.1 建立数据库
建立数据库主要有如下三种方法: 1. 在“新建”菜单中建立数据库 2. 在项目管理器中建立数据库 3. 使用命令建立数据库
命令格式:Create Database [数据库名 / ?]
例如,要创建学生“学籍”数据库,可以使用以下命令: Create Database 学籍
例如,要删除学生“学籍”数据库,可用命令: DELETE DATABASE 学籍
11
第四章 数据库与多表操作
4.2.4 数据库表和自由表的相互转换
1. 概念 数据库表:已加入到某个数据库中的表。 自由表:不属于任何数据库的表。 2. 将表加入到数据库
⑴为了把一个已存在的表加入到数据库,可从“数据库”菜单中 选择“添加表”,或者单击工具栏中的“添加表”按钮。
⑶表与表之间是一对一的联系:实现该联系需要根据实际情况而
。 定,设计时可以分为两个表或合并为一个表
2
第四章 数据库与多表操作 外部关键字
在一对多的关系表中,子表中的某一字段是父表的主关键 字,则该字段称为子表的外部关键字或外码。
数据库表、自由表
属于数据库的表称为数据库表;独立存在、不与任何数据 库相关联的表称为自由表。
DROP TABLE 表名 / 文件名 / ? [ RECYCLE ] 例如,打开“学籍”数据库,并将其中的表“学生.DBF”删除:
OPEN DATABASE 学籍 DROP TABLE 学生
14
第四章 数据库与多表操作
4.2.5 工作区
1. 工作区
工作区是Visual FoxPro在内存中开辟的临时区域。用户可以在不同 的工作区中打开多个不同的表,并且可以利用多种方法访问不同工作区 中的表。
5
第四章 数据库与多表操作
4.2.2 数据库设计器
打开数据库设计器的方法有以下三种: 1. 从项目管理器中打开数据库设计器 2. 从打开菜单中打开数据库设计器 3. 用命令打开数据库设计器
打开数据库设计器的命令的语法格式如下: MODIFY DATABASE [ 文件名 / ?] [ NOWAIT ] [ NOEDIT ]