数据库系统概论-第5章 数据库完整性
数据库系统概论第五版课后习题答案

第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义就是不可分的。
解析在现代计算机系统中数据的概念就是广义的。
早期的计算机系统主要用于科学计算,处理的数据就是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储与处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义就是不可分的。
500这个数字可以表示一件物品的价格就是 500元,也可以表示一个学术会议参加的人数有 500人,还可以表示一袋奶粉重 500克。
( 2 )数据库( DataBase ,简称 DB ) :数据库就是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述与储存,具有较小的冗余度、较高的数据独立性与易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas。
Sytem ,简称 DBS ) :数据库系统就是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统与数据库就是两个概念。
数据库系统就是一个人一机系统,数据库就是数据库系统的一个组成部分。
但就是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”与“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统就是位于用户与操作系统之间的一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立与维护功能。
解析 DBMS就是一个大型的复杂的软件系统,就是计算机中的基础软件。
目前,专门研制 DBMS的厂商及其研制的 DBMS产品很多。
数据库系统概论第五章完整性

一、选择题1.实体完整性要求主属性不能取空值,这一点可通过( )来保证。
A .定义外部键B .定义主键C .用户定义的完整性D .由关系系统自动答案:B2. ( )定义了对参照关系的外部属性值域的约束。
A .实体完整性规则B .用户定义的完整性规则C .参照完整性规则D .以上均不是答案:C3.在如下2个数据库的表中,若雇员信息表EMP 的主键是雇员号,部门信息表DEPT 的主键是部门号。
若执行所列出的操作,哪个操作不能执行( )EMP DEPTA .从雇员信息表EMP 中删除行(’010’,’’王利,’01’,’1200’)B .在雇员信息表EMP 中插入行(’102’,’赵丽’,’01’,’1500’)C .将雇员信息表EMP 中雇员号=’010’的工资改为1600元D .将雇员信息表EMP 中雇员号=’101’的部门号改为’05’答案:D4.关系数据库中,实现主码标识元组的作用是通过( )A .实体完整性规则B .参照完整性规则C .用户自定义的完整性D .属性的值域答案:A5.在关系数据库中,实现“表中任意两行不能相同”的约束是靠( )A .外码B .主码C .属性D .列答案:B6.关系数据库中,实现表与表之间的联系是通过( )A .实体完整性规则B .参照完整性规则C .用户自定义的完整性D .值域答案:B雇员号 雇员名 部门号 工资001 张红 02 2000 010 王利 01 1200056 马明 02 1000101 赵丽 04 1500 部门号 部门名 主任 01 业务部 李林02 销售部 江平 03 服务部 周明 04 财务部 陈胜7.根据关系模式的完整性规则,一个关系中的“主键”()A.不能有两个B.不能成为另一个关系的外部键C.不允许为空D.可以取空值答案:C8.在关系模型中,实现“关系中不允许发现相同的元组”的约束是通过()A.候选键B.主键C.外键D.一般键答案:B二、填空题1.为了维护数据库中数据的完整性,在对关系数据库执行插入时首先应检查__________规则。
数据库系统概论及习题及答案

数据库系统概论复习资料:第一章:一选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理答案:A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界答案:A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制答案:B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统 B.数据库 C.数据库管理系统 D.数据结构答案:B5.数据库中存储的是。
A.数据 B.数据模型 C.数据以及数据之间的联系 D.信息答案:C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立答案:C7. .数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件D.多种应用、多种语言、多个用户相互覆盖地使用数据集合答案:D8.据库系统的核心是。
A.数据库B.数据库管理系统C.数据模型D.软件工具答案:B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余 C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据答案:A10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和②。
数据库系统概论知识点

第一章:绪论数据库〔DB〕:长期存储在计算机、有组织、可共享的大量数据的集合。
数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。
数据库管理系统〔DBMS〕:位于用户和操作系统间的数据管理系统的一层数据管理软件。
用途:科学地组织和存储数据,高效地获取和维护数据。
包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。
数据库系统〔DBS〕:在计算机系统中引入数据库后的系统,一般由数据库。
数据库管理系统〔及其开发工具〕、应用系统、数据库管理员构成。
目的:存储信息并支持用户检索和更新所需的信息。
数据库系统的特点:数据构造化;数据的共享性高,冗余度低,易扩大;数据独立性高;数据由DBMS统一管理和控制。
概念模型实体,客观存在并可相互区别的事物称为实体。
属性,实体所具有的*一特性称为属性。
码,唯一标识实体的属性集称为码。
域,是一组具有一样数据类型的值的集合。
实体型,具有一样属性的实体必然具有的共同的特征和性质。
实体集,同一类型实体的集合称为实体集。
联系两个实体型之间的联系一对一联系;一对多联系;多对多联系关系模型关系,元组,属性,码,域,分量,关系模型关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。
这些操作必须满足关系完整性约束条件。
关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。
数据库系统三级模式构造外模式,模式,模式模式:〔逻辑模式〕数据库中全体数据的逻辑构造和特征的描述,是所有用户的公共数据视图。
一个数据库只有一个模式。
模式的地位:是数据库系统模式构造的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。
模式定义的容:数据的逻辑构造〔数据项的名字、类型、取值围等〕,数据之间的联系,数据有关的平安性、完整性要求外模式:〔子模式/用户模式〕数据库用户〔包括应用程序员和最终用户〕能够看见和使用的局部数据库和逻辑构造和特征的描述,是数据库用户的数据视图,是与*一应用有关的系统的逻辑表示。
第5章 数据库完整性

第5章数据库安全性(2课时)数据库的数据保护主要包括数据的安全性和数据的完整性。
数据的安全性是为了保护数据库防止恶意的破坏和非法访问,防范对象是非法用户和非法操作。
数据库的完整性是指数据的正确性和相容性,是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据,防范对象是不合语义的、不正确的数据。
举例说明数据的完整性(三种完整性各一例)。
为维护数据库的完整性,DBMS必须具备三个功能:1 提供定义完整性约束条件的机制完整性约束条件也称为完整性约束规则,是数据库必须满足的语义约束条件。
SQL标准使用了一系列概念来描述完整性,包括关系模型的实体完整性、参照完整性和用户定义完整性。
这些完整性一般由SQL的DDL语句来实现。
它们作为数据库模式的一部分存入数据字典中。
2 提供完整性检查的方法DBMS中检查数据是否满足完整性约束条件的机制称为完整性检查。
一般在INSERT、UPDA TE、DELETE语句执行后开始检查,也可以在事务提交时检查。
检查这些操作执行后数据库中的数据库是否违背了完整性约束条件。
3 违约处理DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作,如拒绝(NOACTION)执行该操作,或级联(CASCADE)执行其他操作,进行违约处理以保证数据的完整性。
目前商用的DBMS产品都支持完整性控制,即完整性定义、检查控制和违约处理都是由DBMS来实现,不必由应用程序来完成,从而减轻了应用程序员的负担。
5.1 实体完整性是关系的两个不变性之一,关系的主属性的取值不能相同,主属性不能取空值,保证在一个关系中不存在两个完全相同的元组。
5.1.1 实体完整性定义关系模型的实体完整性在CREATE TABLE中用PRIMARY KEY定义。
对单属性构成的码有两种说明方法:一种是定义为列级约束条件;一种是定义为表级约束条件。
对多个属性构成的码只有一种说明方法:定义为表级约束条件。
数据库系统概论王珊第5版第五版教材课后习题答案详解pdf

内容说明王珊《数据库系统概论》(第5版)是我国高校采用较多的权威教材之一,无论指定参考书是否为该教材,对该教材的课后习题加以练习和掌握,非常有助于考生的复习和备考。
本册以王珊《数据库系统概论》(第5版)为依据,对课后习题进行了详细的分析与解答,并对相关重要知识点进行了延伸和归纳。
明立考试(公众号)本文档的内容参考了部分网络资料及图书资料,是出于传递更多信息之目的,并不代表故意侵犯原作者或出版人的版权和利益,如果原作者或出版人对本文档有任何异议,请与作者联系,会在第一时间处理!内容说明 (1)声明 (2)目录 (3)第1章绪论 (5)课后习题 (5)参考答案 (6)第2章关系数据库 (12)课后习题 (12)参考答案 (14)第3章关系数据库标准语言SQL (18)课后习题 (18)参考答案 (19)第4章数据库安全性 (22)课后习题 (22)参考答案 (23)第5章数据库完整性 (26)课后习题 (26)参考答案 (27)第6章关系数据理论 (29)课后习题 (29)参考答案 (31)第7章数据库设计 (34)课后习题 (34)参考答案 (35)第8章数据库编程 (39)课后习题 (39)参考答案 (40)第9章关系查询处理和查询优化 (42)课后习题 (42)参考答案 (43)第10章数据库恢复技术 (46)课后习题 (46)参考答案 (48)第11章并发控制 (51)课后习题 (51)参考答案 (53)第12章数据库管理系统 (59)课后习题 (59)参考答案 (60)第13章数据库技术发展概述 (63)课后习题 (63)参考答案 (64)第14章大数据管理 (65)课后习题 (65)参考答案 (66)第15章内存数据库系统 (68)课后习题 (68)参考答案 (69)第16章数据仓库与联机分析处理技术 (71)课后习题 (71)参考答案 (72)第1章绪论课后习题1.试述数据、数据库、数据库管理系统、数据库系统的概念。
《数据库系统概论》各章复习试题及答案---副本

数据库系统概论复习资料:第一章:一、选择题:1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A.数据库系统 B.文件系统 C.人工管理 D.数据项管理【答案:】A2.数据库的概念模型独立于。
A.具体的机器和DBMS B.E-R图 C.信息世界 D.现实世界【答案:】A3.数据库的基本特点是。
A.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余大,易移植 (4)统一管理和控制B.(1)数据可以共享(或数据结构化) (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制C.(1)数据可以共享(或数据结构化) (2)数据互换性 (3)数据冗余小,易扩充 (4)统一管理和控制D.(1)数据非结构化 (2)数据独立性 (3)数据冗余小,易扩充 (4)统一管理和控制【答案:】B4. 是存储在计算机内有结构的数据的集合。
A.数据库系统B.数据库 C.数据库管理系统 D.数据结构【答案:】B5.数据库中存储的是。
A.数据 B.数据模型C.数据以及数据之间的联系 D.信息【答案:】C6. 数据库中,数据的物理独立性是指。
A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立【答案:】C7. 数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指。
A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合【答案:】D8.数据库系统的核心是。
A.数据库 B.数据库管理系统 C.数据模型 D.软件工具【答案:】B9. 下述关于数据库系统的正确叙述是。
A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致 D.数据库系统比文件系统能管理更多的数据【答案:】A10. 数将数据库的结构划分成多个层次,是为了提高数据库的①和②。
第五章 数据库完整性

例2:将SC表中的SNO、cno属性组定义为码 create table sc (sno char(9) not null, cno char(4) not null, grade smallint, primary key(sno,cno) )
8
5.1.2 实体完整性的违约处理
对于实体完整性的检查,包括:
在子表中修改外码(也是主属性)的策略
6. 在参照关系(子表)中修改外码(同时是主码 属性 )。与在参照关系中插入元组类似,可以 有2种策略: 受限修改 递归修改 RDBMS在实现参照完整性时: 需要向用户提供定义主码、外码的机制。 向用户提供按照自己的应用要求选择处理依 赖关系中对应的元组的方法。
6
5.1 实体完整性
5.1.1 定义实体完整性 例1:将student表中的sno属性定义为码 create table student (sno char(9) primary key, sname char(20) not null, ssex char(2), sage smallint, sdept char(20) )
26
5.4 完整性约束命名子句
1. 完整性约束命名子句 Constraint <完整性约束条件名><完整性约 束条件> 例5.10 建立学生登记表 student,要求学号在 90000—99999 之间,姓名不能取空值,年 龄小于30,性别只能是“男”或者“女”
5
数据库完整性控制机制
DBMS完整性控制机制: 1. 提供定义完整性约束条件的机制:提供定义数 据完整性约束条件的方法,完整性约束条件作为 模式的一部分存入数据库中; 2. 提供完整性检查的方法:进行完整性检查,检 查数据是否满足约束条件; 3. 进行违约处理:若有违反,采取相应措施(拒 绝、报告、改正)处理。 完整性子系统:DBMS中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实体完整性定义(续)
[例5.1] 将Student表中的Sno属性定义为码 (1)在列级定义主码 CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );
整性,必须进行检查
DBMS什么时候要进行参照完整性的检查?
An Introduction to Database System
例:表SC和Student有四种可能破坏参照完整性的情况 (1)
❖ SC表中增加一个元组,该元组的Sno属性的值在表Student
中找不到一个元组,其Sno属性的值与之相等
❖ 实体完整性 定义方法 检查方法及违约处理
An Introduction to Database System
第五章数据库完整性
实体完整性 参照完整性 用户定义的完整性 完整性约束命名字句 * 域中的完整性限制 断言 触发器 小结
An Introduction to Database System
An Introduction to Database System
实体完整性定义(续)
(2)在表级定义主码 CREATE TABLE Student
( Sno CHAR(9), Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY
/*在表级定义参照完整性 */
/*在表级定义参照完整性 */
An Introduction to Database System
5.2 参照完整性
1. 参照完整性定义 2. 参照完整性检查和违约处理
An Introduction to Database System
参照完整性检查和违约处理
❖ 一个参照完整性将两个表中的相应元组联系起来 ❖ 对被参照表和参照表进行增删改操作时有可能破坏参照完
照实体完整性规则自动进行检查。 检查主码值是否唯一,如果不唯一则拒绝插入或修改 检查主码的各个属性是否为空,只要有一个为空就拒
绝插入或修改
An Introduction to Database System
实体完整性检查和违约处理(续)
❖ 检查记录中主码值是否唯一的一种方法是进行全表扫描 依次判断表中每一条记录的主码值与将插入记录上的 主码值(或者修改的新主码值)是否相同
完整性约束条件也称为完整性规则,是数据库中的数据 必须满足的语义约束条件
SQL标准使用了一系列概念来描述完整性,包括关系模 型的实体完整性、参照完整性和用户定义完整性
这些完整性一般由SQL的数据定义语言语句来实现
An Introduction to Database System
数据库完整性(续)
An Introduction to Database System
实体完整性定义(续)
[例5.2] 将SC表中的Sno,Cno属性组定义为 码
CREATE TABLE SC
( Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
PGRraIMdeARSYMKAELYLINT, ); (Sno,Cno)
/*只能在表级定义主码*/
An Introduction to Database System
5.1 实体完整 性
1. 实体完整性定义 2. 实体完整性检查和违约处理
An Introduction to Database System
5.1.2 实体完整性检查和违约处 ❖ 插入理或对主码列进行更新操作时,关系数据库管理系统按
第五章数据库完整性
实体完整性 参照完整性 用户定义的完整性 完整性约束命名字句 * 域中的完整性限制 断言 触发器 小结
An Introduction to Database System
5.1 实体完整 性
1. 实体完整性定义 2. 实体完整性检查和违约处理
An Introduction to Database System
An Introduction to Database System
数据库完整性(续)
❖ 由DBMS进行完整性检查的好处 不必由应用程序来完成,从而减轻了应用程序员的负 担。 能够为所有的用户和所有的应用提供一致的数据库完 整性,避免出现漏洞。
An Introduction to Database System
An Introduction to Database System
实体完整性检查和违约处理(续)
❖ 表扫描缺点
十分耗时
❖ 为避免对基本表进行全表扫描,RDBMS核心 一 般都在主码上自动建立一个索引
An Introduction to Database System
实体完整性检查和违约处理(续)
例如: 学生所选的课程必须是学校开设的课程 学生所在的院系必须是学校已成立的院系
An Introduction to Database System
数据库完整性(续)
❖ 数据的完整性和安全性是两个不同概念 数据的完整性
防止数据库中存在不符合语义的数据,也就是防止数据 库中存在不正确的数据
防范对象:不合语义的、不正确的数据
5.2 参照完整性
1. 参照完整性定义 2. 参照完整性检查和违约处理
An Introduction to Database System
参照完整性规则
若属性(或属性组)F是基本关系R的外码它与基本关系S的 主码Ks相对应(基本关系R和S不一定是不同的关系),则 对于R中每个元组在F上的值必须为:
该学生不可能属于一个不存在的专业
An Introduction to Database System
参照完整性定义
❖ 关系模型的参照完整性定义 在CREATE TABLE中用FOREIGN KEY短语定义哪些 列为外码 用REFERENCES短语指明这些外码参照哪些表的主码
An Introduction to Database System
例:新插入记录的主码值是25
新记录的主码值 25 引
51
主码的B+树索
12 30
66 78
3 7 15 20 25
30 41 51 54 65 68 69 71 76 79 84 93
An Introduction to Database System
实体完整性检查和违约处理(续)
例:新插入记录的主码值是86
5.1.1 实体完整性定 ❖ 关系模型的义实体完整性
CREATE TABLE中用PRIMARY KEY定义 ❖ 单属性构成的码有两种说明方法
定义为列级约束条件 定义为表级约束条件 ❖ 对多个属性构成的码只有一种说明方法 定义为表级约束条件
An Introduction to Database System
数据的安全性
保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作
完整性是阻止合法用户通过合法操作向数据库中加入不正确的数据 安全性防范的是非法用户和非法操作存取数据库中的正确数据
An Introduction to Database System
数据库完整性(续)
❖ 为维护数据库的完整性,数据库管理系统必须: 1.提供定义完整性约束条件的机制
/*在表级定义参照完整性 */
);
An Introduction to Database System
参照完整性定义(续)
例:关系SC中(Sno,Cno)是主码。Sno,Cno分别参照Student表的 主 码和Course表的主码
CREATE TABLE SC ( Sno CHAR(9) NOT NULL,
Sage SMALLINT
Sdept C, HAR(20) FOREIGN KEY REFERENCES DEPT(Deptno)
/*在列级定义参照完整性 */
);
An Introduction to Database System
参照完整性定义(续)
例:Student表的Sdept属性是外码,参照DEPT表的主码 Deptno
Student
Sno Sname
121
李文
122
刘力
133
王强
Ssex 女 男 男
Sage 19 18 19
Sdept 12 12 13
?
SC
Sno 121 121 121 122 201
Cno 101 103 201 201 101
Grade 95 88 79 87 90
An Introduction to Database System
13
Sno
121
121 121
21022 1122
122
Cno
Grade
101
95
103
88
201
79
101
82
102
90
201
87
An Introduction to Database System
例:表SC和Student有四种可能破坏参照完整性的情况 (3)❖ 从Student表中删除一个元组,造成SC表中某些元组的
Cno CHAR(4) NOT
Grad NULL,
PeRIMARSYMKAEYLL(ISNnTo,, Cno), /*在表级定义实体完整性*/
FOREIGN KEY (Sno) REFERENCES Student(Sno), FOREIGN KEY (Cno) REFERENCES Course(Cno) );