数据库系统概论-第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中执行完整性控制的子系统。 其功能为监督事务的执行,测试其是否违反完整性 约束条件;若有违反,则分情况进行预定的处理。
(完整版)数据库原理第五版习题答案
答:
实体:客观存在并可以相互区分的事物叫实体。实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。实体集:同型实体的集合称为实体集。属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。码:惟一标识实体的属性集称为码。实体联系图(E一R图):提供了表示实体型、属性和联系的方法:·实体型:用矩形表示,矩形框内写明实体名;·属性:用椭圆形表示,并用无向边将其与相应的实体连接起来;·联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1 , 1 : n或m : n)。
( 4)数据库管理系统(DataBase Management sytem,简称DBMs ):数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。解析DBMS是一个大型的复杂的软件系统,是计算机中的基础软件。目前,专门研制DBMS的厂商及其研制的DBMS产品很多。著名的有美国IBM公司的DBZ关系数据库管理系统和IMS层次数据库管理系统、美国Oracle公司的orade关系数据库管理系统、s油ase公司的s油ase关系数据库管理系统、美国微软公司的SQL Serve,关系数据库管理系统等。
11.试给出一个实际部门的E一R图,要求有三个实体型,而且3个实体型之间有多对多联系。3个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗?为什么?
答:
3个实体型之间的多对多联系和3个实体型两两之间的3个多对多联系是不等价,因为它们拥有不同的语义。3个实体型两两之间的三个多对多联系如下图所示。
05_数据库完整性
全表扫描.依次判断表中每条记录的主码值与 将插入记录上的主码值(或修改的新主码值) 是否相同.十分耗时. 在主码上自动建立索引(如B+树索引).可大 大提高效率.
5.2 参照完整性
5.2.1 参照完整性定义
在CREATE TABLE中用FOREIGN KEY短语来定 义哪些列为外码,用REFERENCES短语指明这 些外码参照哪些表的主码. 见课本P154 [例3]
定义触发器(续)
INSERT,UPDATE和DELETE三个选项是指定在表或视图 上执行哪些数据修改语句时将激活触发器的关键字.必须 至少指定一个选项.在触发器定义中允许使用以任意顺序 组合的这些关键字.如果指定的选项多于一个,需用逗号 分隔这些选项. AS后是触发器要执行的操作. CREATE TRIGGER 权限默认授予定义触发器的表所有者, sysadmin 固定服务器角色成员以及 db_owner 和 db_ddladmin 固定数据库角色成员,并且不可转让.
ALTER TABLE <表名> DROP < 完整性约束条件名>
5.6 触发器(Trigger)
触发器是用户定义在关系表上的一类由事件驱动的 特殊过程.一旦定义,任何用户对表的增,删,改 操作均由服务器自动激活相应的触发器,在DBMS 核心层进行集中的完整性控制.触发器类似于约束, 但是比约束更加灵活,可实施比FOREIGN KEY约 束,CHECK约束更为复杂的检查和操作,具有更 精细和更强大的数据控制能力.
定义触发器(续)
当你创建一个触发操作时,通常需说明所指的是触发语句 作用之前还是之后的列值.由于此种原因,我们用两个取 有特殊名字的虚拟表格来测试触发语句的作用:deleted 和inserted(在内存中,触发器完成运行后,这些表就不 能再访问). 这些表和指定触发器的表具有相同的结构. deleted表保 存受delete和update影响的行的副本.inserted表保存在 insert和update之后添加到触发器中的行的副本.
数据库系统概论 课件 第05章_数据库完整性
列值非空(NOT NULL约束) 列值唯一(UNIQUE约束) 检查列值是否满足一个布尔表达式(CHECK约束)
SQL Server 实现用户定义数据完整性的主要方法 有:约束、默认、规则、自定义数据类型和触发器
1、不允许取空值
DB
例5 在定义“学生”表时,说明学号Sno为主键,姓
数据库系统原理
DB
Principles of Database System
第五章 数据库完整性
第五章
DB
数据库完整性
数据库的完整性(Integrity)
数据的正确性、有效性和相容性
防止不合语义的数据进入数据库
例:学生的年龄必须是整数,取值范围为14-35;
学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系;
DB
FOREIGN KEY(<列名>) REFERENCES <表名> [(<列名>)] [ ON DELETE <参照动作> ] [ ON UPDATE <参照动作> ] 其中 第一个“列名”是外部关键字 第二个“列名”是被参照表中的主键或候选键 。
参照动作
DB
NO ACTION(拒绝)
CASCADE(级联)
FOREIGN KEY(Sno) REFERENCES Student(Sno),
FOREIGN KEY(Cno) REFERENCES Course(Cno)
);
5.2.2 参照完整性检查和违约处理
DB
一个参照完整性将两个表的相应元组联 系起来了
对被参照表和参照表进行增删改操作时
有可能破坏参照完整性 因此,必须进行检查
数据库系统概论第五章数据库的完整性PPT课件
02 数据完整性的实现方式
实体完整性
实体完整性定义
确保表中每条记录的唯一性,通常通过主键约 束来实现。
主键约束
主键是表中的一个或多个字段的组合,其值唯 一标识表中的每条记录。
主键的作用
确保表中数据的唯一性,防止重复记录的出现。
数据库完整性技术面临的挑战和机遇
数据量爆炸式增长
01
随着大数据时代的来临,数据库完整性面临数据量爆炸式增长
带来的存储、处理和管理挑战。
法规遵从与隐私保护
02
随着法规对数据保护的要求日益严格,数据库完整性需满足法
规遵从和隐私保护的需求。
技术创新与市场机遇
03
数据库完整性技术的发展将带来新的市场机遇,推动相关产业
参照完整性定义
维护数据库表之间的关系,确保引用数据的 一致性和准确性。
级联更新和删除
当父表中的数据发生变化时,自动更新或删 除子表中的相关数据。
外键约束
通过在子表中设置外键来引用父表的主键, 确保子表中数据与父表数据的一致性。
更新和删除规则
定义当父表中的数据发生变化时,如何处理 子表中的相关数据。
视图完整性
THANKS FOR WATCHING
感谢您的观看
视图完整性定义
基于一个或多个表的查询结果 集创建视图,并确保该结果集
的完整性。
视图的作用
提供了一个虚拟表,可以基于 现有表的数据进行查询和操作 。
视图的限制
通过在视图上定义约束来确保 数据的完整性和准确性。
视图与数据操作
对视图进行查询、更新、插入 和删除操作时,必须遵守视图
数据库系统概论第五版课后习题答案王珊版
第二章关系数据库1 .试述关系模型的三个组成部分。
答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2 .试述关系数据语言的特点和分类。
答:关系数据语言可以分为三类:关系代数语言。
关系演算语言:元组关系演算语言和域关系演算语言。
SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3 (略)4 .5 . 述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
即属性F 本身不是主属性,则可以取空值,否则不能取空值。
6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno (σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO :πSno (σJno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO :πSno (πSno,,Pno (σJno=‘J1‘ (SPJ))∞πPno (σCOLOR=’红‘ (P )))4)求没有使用天津供应商生产的红色零件的工程号JNO :πJno (SPJ)- πJNO (σcity=‘天津’∧Color=‘红‘ (S ∞SPJ ∞P )5)求至少用了供应商S1所供应的全部零件的工程号JNO :πJno ,Pno (SPJ)÷ πPno (σSno=‘S1‘ (SPJ ))7. 试述等值连接与自然连接的区别和联系。
数据库概论参考答案
.数据库概论专科作业题参考答案第一章数据库系统导论一、选择1.C2.B3.C4.A5.A6.A7.C8.A9.D 10.D11.B 12.B 13.B 14.C 15.D 16.C17.A18.D19.C20.B21.A22.C23.A24.C25.D 26.D 27.B 28.B 29.A 30.C31.A 32.D 33.A 34.C 35.A 36. A 37.C 38.D 39.A 40.D41.D 42.D 43.C 44.A 45.D 46.B二、填空1.数据2.数据库3.数据库的恢复4.概念模型5.逻辑独立性6.关系数据7.层次8.数据定义9.网状模型10.完整性约束11.关系数据12.E-R13.一对多14.信息三、名词解释1.信息:经过加工处理后具有一定含义的数据集合,它具有超出事实数据本身之外的价值;2.数据:数据库中存储的基本对象,通常指描述事物的符号;3.数据库:存储在计算机存储设备上,结构化的相关数据集合;它不仅包括描述事物的数据本身,还包括相关事物之间的联系;4.数据库管理系统:处理数据访问的软件系统,也就是位于用户与操作系统之间的一层对数据库进行管理的软件;用户必须通过数据库管理系统来统一管理和控制数据库中的数据;5.数据库系统:引进了数据库技术后的计算机系统,它能够有组织地、动态地存储大量数据,提供数据处理和数据共享机制,一般由硬件系统、软件系统、数据库和人员组成;6.实体:客观存在并可相互区别的事物称为实体;7.属性:实体所具有的某一特征或性质称为属性;8.联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系;9.关键字:唯一地标识实体的属性集称为关键字;10.实体型:用实体名及其属性名集合来抽象和描述同类实体,称为实体型;11.实体集:同一类实体的集合称为实体集;12.数据结构:数据结构是对数据静态特征的描述;数据的静态特征包括数据的基本结构、数据间的联系和对数据取值范围的约束;13.数据操作:数据操作是指对数据动态特征的描述,包括对数据进行的操作及相关操作规则;14.数据的完整性约束:数据的完整性约束是对数据静态和动态特征的限定,是用来描述数据模型中数据及其联系应该具有的制约和依存规则,以保证数据的正确、有效和相容;四、简答1数据与信息有什么区别与联系数据与信息既有联系又有区别;数据是表示信息的,但并非任何数据都表示信息,信息是加工处理后的数据,是数据所表达的内容;同时,信息不随表示它的数据形式而改变,它是反映客观现实世界的知识;而数据则具有任意性,用不同的数据形式可以表示相同的信息;2什么是数据库、数据库系统和数据库管理系统数据库:存储在计算机存储设备上,结构化的相关数据集合;它不仅包括描述事物的数据本身,还包括相关事物之间的联系;数据库系统:引进了数据库技术后的计算机系统,它能够有组织地、动态地存储大量数据,提供数据处理和数据共享机制,一般由硬件系统、软件系统、数据库和人员组成;数据库管理系统:处理数据访问的软件系统,也就是位于用户与操作系统之间的一层对数据库进行管理的软件;用户必须通过数据库管理系统来统一管理和控制数据库中的数据;3计算机数据管理技术发展经历几个阶段,各阶段的特点是什么1.人工管理阶段a)数据面向具体应用,不共享;b)数据不单独保存;c)没有软件系统对数据进行管理;d)没有文件的概念;2.文件系统阶段a)程序与数据分开存储,数据以“文件”形式可长期保存在外部存储器上,并可对文件进行多次查询、修改、插入和删除等操作;b)有专门的文件系统进行数据管理,程序和数据之间通过文件系统提供存取方法进行转换;c)数据不只对应某个应用程序,可以被重复使用;3.数据库系统阶段a)数据结构化b)数据的冗余度低、共享性高、易扩充c)数据独立性高d)数据由数据库管理系统统一管理和控制4什么是外模式、模式和内模式1.外模式外模式也称子模式或用户模式,属于视图层抽象,它是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;2.模式模式也称逻辑模式或概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,是数据库管理员看到的数据库,属于逻辑层抽象;3.内模式内模式也称存储模式,是数据在数据库中的内部表示,属于物理层抽象;内模式是数据物理结构和存储方式的描述,一个数据库只有一个内模式,它是DBMS管理的最低层;5试述数据库系统的两级映像功能;1.外模式/模式映像模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构;对应于同一个模式可以有任意多个外模式;对于每一个外模式,数据库系统都提供了一个外模式/模式映像,它定义了该外模式与模式之间的对应关系;这些映像定义通常包含在各自外模式的描述中;2.模式/内模式映像数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系;当数据库的存储结构改变了,为了保持模式不变,也就是应用程序保持不变,可由数据库管理员对模式/内模式映像做相应改变就可以了;6试述数据库系统的三级模式结构是如何保证数据的独立性的;数据库系统的三级模式结构由外模式、模式和内模式组成;外模式,亦称子模式或用户模式,是数据库用户包括应用程序员和最终用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示;模式,亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图;模式描述的是数据的全局逻辑结构;外模式涉及的是数据的局部的逻辑结构,通常是模式的子集;内模式,亦称存储模式,是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述;数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储;为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映象:外模式/模式映象和模式/内模式映象;正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性;7简单说明数据库管理系统包含的功能,a)数据定义b)数据操纵c)数据库的运行管理d)数据库的恢复Recovery8什么是数据模型并说明为什么将数据模型分成两类,各起什么作用;数据模型是数据特征的抽象,是数据库管理的教学形式框架;数据模型分为概念数据模型和结构数据模型. 概念数据模型用来描述某个特定组织所关心的信息结构. 结构数据模型直接面向数据库中数据逻辑结构.9什么是概念模型概念模型的表示方法是什么;概念模型是现实世界到机器世界的一个中间层,它不依赖于数据的组织结构,而是反映现实世界中的信息及其关系;它是现实世界到信息世界的第一层抽象,也是用户和数据库设计人员之间进行交流的工具;概念模型的表示方法很多,其中最为著名、最为常用的是Approach,即E-R方法或E-R模式;该方法用E-R图来描述现实世界的概念模型;10解释概念模型中的常用术语:实体、属性、联系、属性值、关键字、实体型、实体集;实体:客观存在并可相互区别的事物称为实体;属性:实体所具有的某一特征或性质称为属性;联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为两类:一类是实体内部的联系;另一类是实体之间的联系;属性值: 属性的具体取值称为属性值;关键字:唯一地标识实体的属性集称为关键字;实体型:用实体名及其属性名集合来抽象和描述同类实体,称为实体型;实体集:同一类实体的集合称为实体集;第二章关系数据库基本理论一、选择1.B2.C3.C4. B5. C6.A7. B8. D9. A 10.D11. C 12. C 13. A 14.C 15. B 16. D 17. D 18. C 19. A 20. A21. D 22. A 23. D 24.C二、填空1.元组2.连接3.投影4.右外连接5.谓词演算6.按给定的条件选取若干个属性列7.选择、投影、连接运算8.网状模型9.关系模型三、名词解释1.关系:一个关系通常对应一张表2.元组:二维表中的一行即为一个元组;3.属性:二维表中的一列即为一个属性;4.域:属性的取值范围称为该属性的域;5.关键字:表中的某个属性或几个属性的组合称为关键字;6.关系模式:对关系的描述成为关系模式;7.元数:关系模式中属性的数目是关系的元数;8.分量:元组中的每个属性值称为元组的分量;9.实体完整性:实体完整性是指关系的主属性不能为空;10.参照完整性:在关系模型中,实体与实体之间的联系都是用关系来表示的;参照完整性描述了实体之间的引用规则;11.用户定义完整性:用户定义完整性是指不同的关系数据库系统根据应用环境的不同,设定的一些特殊的约束条件;四、简答l关系模型的特点是什么1 具有严格的数据理论基础,关系数据模型是建立在严格的数据概念基础上的;2 概念单一,不管是实体本身还是实体之间的联系都用关系表来表示,这些关系必须是规范化的,使得数据结构变得非常清晰、简单;3 在用户的眼中无论是原始数据还是结果都是二维表,不用考虑数据的存储路径;因此,提高了数据的独立性、安全性,同时也提高了开发效率;2解释关系模型中的常用术语:关系、元组、属性、关键字、外关键字、关系模式;1.关系:一个关系通常对应一张表2.元组:二维表中的一行即为一个元组;3.属性:二维表中的一列即为一个属性;4.关键字:表中的某个属性或几个属性的组合称为关键字;5.外关键字:如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字或外码;3简述关系模型与关系模式的区别与联系;关系模型:用二维表的形式表示实体和实体间联系的数据模型;关系模式:对关系的描述;关系实际上就是关系模式在某一时刻的状态或内容;也就是说,关系模式是型,关系是它的值;关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据;但在实际当中,常常把关系模式和关系统称为关系;4关系的完整性约束是什么各有什么含义1. 实体完整性实体完整性是指关系的主属性不能为空;在关系模型中关键字码能够唯一地识别元组,而关键字是由一个或几个属性组成的;这就规定了组成关键字的所有属性都不能为空,这些属性也称为主属性;2. 参照完整性在关系模型中,实体与实体之间的联系都是用关系来表示的,这些关系主要分为1∶1、1∶n和m∶n三种;参照完整性也称为引用完整性,描述了实体之间的引用规则;即一个实体中某个属性的属性值是引用另一个实体的关键字,其中引用关系称为参照关系,而被引用关系称为被参照关系,参照关系中的引用字段称为外关键字;3. 用户定义的完整性用户定义的完整性是指不同的关系数据库系统根据应用环境的不同,设定的一些特殊约束条件;用户定义的完整性也称为域完整性或语义完整性;它说明某一具体应用所涉及的数据必须满足应用语义的要求;5①查询商场中的全部商品;σ商品②查询商场中所有电器类产品的供应商;∏供应商σ商品类别='电器类'商品③查询购买了计算机商品的顾客姓名和联系方式;∏姓名,联系方式σ商品类别='计算机' 商品6①查询购买了PTI号商品的顾客号和顾客姓名;∏顾客号,顾客姓名σ商品号='PT1' 商品②查询没有购买任何商品的顾客信息;∏顾客号,商品号,购买数量顾客∏顾客号顾客-∏顾客号购买③查询购买了所有钢笔类产品的顾客信息;∏顾客号,商品号,购买数量顾客购买÷∏商品号σ商品类别='钢笔' 商品第三章结构化查询语言SQL一、选择1. C2. B3. B4. C5. B6. C7. A8. A9. D 10. C11. A 12. B 13. D 14. D 15. D 16. D 17. D 18. D 19. A 20. C21. B 22. C 23. D 24. D 25.D 26.D 27. C 28. C 29. B二、填空1.表、视图2.SELECT R.A,R.B,S.D,S.F FROM R,S WHERE R.A=S.A3.SELECT SNAME,GRADE FROM S,SC,C WHERE CNAME='数据库技术'AND_ S.S=SC.S_AND SC.C=C.C4.Cursor5.SQL语言6.引发触发器7.GRANT、REVOKE8.视图9.WHERE10.MAX三、名词解释1.数据定义:SQL数据定义功能通过数据定义语言定义关系数据库的模式、外模式和内模式,来实现基本表、视图和索引文件的定义、修改和删除操作;2.数据查询:数据查询是指对数据库中的数据进行查询、分组、统计和排序等操作;3.数据操纵:数据操纵是指对数据的插入、修改和删除等操作;4.数据控制:数据控制是对数据库中数据的安全性和完整性进行控制;5.聚合函数:为了方便用户,增强检索功能,SQL提供了许多聚合函数,也称集合函数或计算函数;6.嵌套查询:将一个查询块嵌套在另一个查询块的WHERE子句或HA VING短语的条件中的查询称为嵌套查询或子查询;7.视图:视图对应于关系数据库模型的外模式,是从一个或几个基本表或视图中导出的表;四、简答1试述SQL语言的特点;1.功能一体化2.语言简洁,易学易用3.高度非过程化4.面向集合的操作方式5.以同一种语法结构提供两种使用方式2什么是基本表什么是视图两者有什么区别和联系基本表:本身独立存在的表,即实际存储在数据库中的表,而不是从其它表导出来的;视图:从一个或几个表中导出的表;视图本身不独立存储于数据库中,即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基表中,视图是一个虚表, 在概念上与基本表等同,用户可以在视图上再定义视图;3举例说明视图在什么情况下不能更新;为什么在关系数据库中,受到基本表的限制并非所有的视图都是可更新的;例如:视图中的列没有包含基本表的NOT NULL 非空列;视图的列取自表达式或聚合函数;视图是由两个以上基本表导出的;视图是在一个不可更新的视图上定义的等;4简述什么是嵌入式SQL.SQL作为嵌入式语言,能够嵌入到高级语言例如C、C++等宿主语言程序中;5①检索所有读者的全部情况;SELECT FROM 读者②检索姓张的读者姓名、单位及联系方式;SELECT 姓名,单位,联系方式FROM 读者WHERE 姓名LIKE ‘张%’③检索“清华大学出版社”和“高等教育出版社”出版的图书、作者及单价并且单价降序排列; SELECT 作者,单价FROM 图书WHERE 出版单位=’清华大学出版社’or出版单位=’高等教育出版社’ORDER BY 单价ASC6①SELECT FROM 图书WHERE 单价>=30 AND 单价<=50②SELECT读者.姓名,读者.单位FROM 借阅,读者WHERE 借阅.借书证号=读者.借书证号③SELECT读者.借书证号,读者.姓名,读者.性别,读者.单位,读者.联系方式FROM 图书,借阅,读者WHERE 借阅.借书证号=读者.借书证号AND 借阅.总编号=图书.总编号AND 图书.书名=’数据库原理与应用’7;①SELECT图书.总编号,图书.分类号,图书.书名,图书.作者,图书.出版单位,图书.单价FROM 图书,借阅WHERE 图书.单价>38 AND 借阅.总编号=图书.总编号ORDER BY 借阅.借阅日期②SELECT FROM 图书WHERE 单价>SELECT MAX单价FROM 图书WHERE 出版单位=’天津大学出版社’③SELECT MAX单价,MIN单价,COUNTFROM 图书GROUP BY 出版单位8①SELECT FROM 读者WHERE 借书证号IN SELECT 借书证号FROM 借阅WHERE count=3 GROUP BY 借书证号②SELECT 姓名,单位FROM 读者WHERE 借书证号NOT IN SELECT 借书证号FROM 借阅③UPDATE 图书SET 单价=单价+单价2%9;①DELETE FROM 借阅WHERE 借阅日期<’2001-01-01’②CREATE VIEW TEMPBOOK AS SELECT借书证号,总编号,借阅日期FROM 借阅WHERE 借阅日期>=’2007-01-01’第四章关系模式规范化设计一、选择1. A2. A3. D4. C5. D6. B7. C8. B9. B 10. C 11. D12. A 13. D 14. D 15. B 16. B 17. D 18. B 19. C 20. C 21. C22. A 23. A 24. A 25. D 26. B 27. B 28. B 29. B 30. B 31. D 32. B33. B 34.A 35.D 36.B 37.B 38.D 39.A 40.A 41.B 42.B 43.C 44.C 45.B46.A 47.B 48.B 49.B 50.C 51.C 52.B 53.B二、填空1.保持函数依赖2.Armstrong3.B→C4.多值依赖5.修改复杂6.F⊆G+,和G⊆F+7.BCNF8.3NF9.数据冗余度大10. 1NF三、名词解释1.函数依赖: 设RU是一个属性集U上的关系模式,X和Y是U的子集;若对于RU的任意两个可能的关系r1、r2,若r1x=r2x,则r1y=r2y,或者若r1x不等于r2x,则r1y不等于r2y,称X决定Y,或者Y依赖X;2.完全函数依赖: 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’→Y,则称Y完全函数依赖于X;3.部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y 部分函数依赖于X;4.传递函数依赖: 设X,Y,Z是关系R中互不相同的属性集合,存在X→YY →X,Y→Z,则称Z传递函数依赖于X;5.候选关键字: 设K是关系模式RU,F中的属性或属性组,K '是K的真子集即K ' K,若K→U,而不存在K →U,则K是R的候选关键字;6.外关键字:设有两个关系模式R和S,X是R的属性或属性组,并且X不是R的候选关键字,但X是S 的候选关键字,则称X是R的外关键字;7.第一范式:如果一个关系模式R的所有属性都是不可分的基本数据项,则称关系R满足第一范式,记作R∈1NF;8.第二范式:满足第一范式的关系模式R,如果所有非主属性都完全依赖于候选关键字,则称R属于第二范式,记为R∈2NF;9.第三范式:若关系模式R∈2NF,且它的任何一个非主属性都不传递依赖于候选关键字,则称关系R满足第三范式,记为R∈3NF;10.BCNF范式:若关系模式R的所有属性都不传递依赖于R的任何候选关键字,则称关系R满足BCNF,记作R∈BCNF;也可以定义为:设关系模式RU,F∈1NF,若F的任一函数依赖X→YY ⊄ X中X都包含了R 的一个候选关键字,则称关系R满足BCNF,记作R∈BCNF;11.模式分解:关系模式R<U , F>的一个分解是指ρ= {R1<U1,F1>,R2<U2,F2>, …, Rn<Un,Fn>},其中U = U1UU2U…UUn,并且没有Ui⊆ Uj,1≤i,j≤n,Fi是F在Ui上的投影;12.无损连接性:设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn,其中U=U1U2…UN,且不存在Ui⊆ Uj,Fi为F在Uj上的投影,如果R与R1,R2,…,Rn自然连接的结果相等,则称关系模式R的分解具有无损连接性;13.保持函数依赖性:设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn,其中U=U1U2…UN,且不存在Ui⊆ Uj,Fi为F在Uj上的投影,如果F所蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所蕴含,则称关系模式R的分解具有函数依赖保持性;14.主属性: 在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,则称它为主属性. 15.非主属性: 不包含在任何一个候选码中的属性称为非主属性.四、简答11.函数依赖: 设RU是一个属性集U上的关系模式,X和Y是U的子集;若对于RU的任意两个可能的关系r1、r2,若r1x=r2x,则r1y=r2y,或者若r1x不等于r2x,则r1y不等于r2y,称X决定Y,或者Y依赖X;2.部分函数依赖: 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y 部分函数依赖于X;3.传递函数依赖: 设X,Y,Z是关系R中互不相同的属性集合,存在X→YY →X,Y→Z,则称Z传递函数依赖于X;4.候选关键字: 设K是关系模式RU,F中的属性或属性组,K '是K的真子集即K ' K,若K→U,而不存在K →U,则K是R的候选关键字;5.外关键字:设有两个关系模式R和S,X是R的属性或属性组,并且X不是R的候选关键字,但X是S 的候选关键字,则称X是R的外关键字;6.主属性: 在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,则称它为主属性. 7.非主属性: 不包含在任何一个候选码中的属性称为非主属性.2规范化理论为数据库设计人员判断关系模式优劣提供了理论标准,可用以指导关系数据模型的优化,用来预测模式可能出现的问题,为设计人员提供了自动产生各种模式的算法工具,使数据库设计工作有了严格的理论基础;3关系模式的异常操作包括插入异常、删除异常、修改异常;这些异常由模式中某些数据依赖引起的;规范化理论可以改造关系模式,通过分解关系模式来消除不适合的数据依赖,以解决这些异常和潜在的数据不一致性的问题;4候选码:1A;2CD;3E5范式表示的是关系模式的规范化程序;共分六个级别,分别1NF,2 NF,3 NF,BCNF,4 NF,5 NF;6l候选码为AC,BC.AD,BD、可选其中之一为主码;2不服从4NF;在多值依赖中决定因素中不包含码;3不服从BCNF;在函数依赖中决定因素中不包含码;4服从3NF;该模式中不存在非主属性;7①第一范式,ab是主码,d依赖于ab的一部分,这是第二范式不允许的;因此最高是第一范式;②第一范式,ab或者ad是主码,无论谁做主码,b和d互相依赖,也是对主码的一部分的依赖③第二范式,只要选择e做主码就满足第二范式,但是想要推得d,必须经过间接依赖;即e推出ab,ab推出ce,c 推出d,所以不满足第三范式,因此最高是第二范式;8关键字是bd,3NF分解:{a,b,c}{a,c}第五章数据库设计与维护一、选择1. A2. D3. D4. C5. C6. B7. C8. A9. B 10. C11. B 12. B 13. A 14. A 15. C 16. C 17. B 18. D 19. A20. B 21. C 22. C 23. D 24. C 25. A 26. D 27. D 28. D 29. B二、填空1.数据库物理设计2.共享性3.物理结构设计4.子类型5.聚集6.逻辑设计阶段的7.结构三、名词解释1.数据流图:用于表达和描述系统的数据流向和对数据的处理功能;2.数据字典:各类数据描述的基何,是对系统中数据结构的详细描述,是各类数据属性的清单;3.数据项:不可再分的数据单位;4.数据结构;包括数据结构名、含义说明、组成等;5.数据流:包括数据流名,数据流说明,流入、流出过程,组成等;6.数据存储:包括数据存储名、存储说明、输入数据流、输出数据流、组成、数据量、存取方式等; 7.处理过程:包括处理过程名、处理说明、输入/输出数据流、处理方法等;四、简答1分为六个阶段:需求分析阶段;概念结构设计阶段;逻辑结构设计阶段;物理设计阶段;数据库实施阶段;数据库运行、维护阶段2;数据库设计既是一项涉及多学科的综合性技术又是一项庞大的工程项目;其主要特点有:1 数据库建设是硬件、软件和干件技术与管理的界面的结合; 2 从软件设计的技术角度看,数据库设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构数据设计和行为处理设计密切结合起来;31全面了解数据库系统的功能、物理环境和工具,特别是存储结构和存取方法;2 了解应用环境;对不同的应用要求按其重要程度和使用方式进行分类;事物处理的频率,响应时间的要求,都是对时间和空间效率进行平衡和优化的重要依据;3 了解外存设备的特性;4需求分析是数据库设计的第一阶段,是设计数据的起点,需求分析是整个设计过程的基础和首要条件,也是最困难、最耗费时间的一步;其结果是概念设计的基础,分析结果是否准确而无遗漏地反映了用户对系统的实际要求,将直接影响到后面各个阶段的设计成效,并影响到设计结果是否合理和实用;51 调查组织机构的总体情况;2 熟悉各部门的业务活动情况;3 分析用户需求;4确定新系统的边界;6数据字典的内容包括数据项、数据结构、数据流、数据存储、处理过程五部分;7将系统需求分析得到的用户需求抽象为信息结构过程;概念模型是整个数据库设计的关键;概念模型最。
数据库系统概论 第5章
当一个关系模式在连接的过程中没有丢掉有用信息的, 称为无损连接分解否则称为有损连接分解。 3NF的优点就是其总可以在满足无损连接并保持依赖的 前提下得到3NF设计。其缺点是,若没有消除所有的传递 依赖,则必须要用空值来表示数据项间的某些可能有意义 的联系。此外,3NF还存在信息重复的问题。 若必须在BCNF和保持依赖的3NF间作选择的话,通常 倾向于选择3NF。因为若不能有效地检验依赖的保持情况, 我们要么牺牲系统性能,要么破坏数据库中的数据的完整 性,这当然都不好。相比之下,3NF中允许传递依赖造成 少量冗余反到是可以容忍的。所以,我们常选择保持依赖 而放弃BCNF。
假定有一个实际问题,有关系模式: 借书人(姓名,地址,书名,日期) 即 BORROW(NAME,ADDR,TITLE,DATE) 其中:NAME和TITLE是整个模式的关键字(主码)。
NAME 张 平 张 平 张 平 张 平 张 平 张 平 李少林 李少林 ADDR A1 A1 A1 A1 A1 A1 A2 A2 TITLE T1 T2 T3 T4 T5 T6 T3 T7 DATE D1 D2 D3 D4 D5 D6 D4 D7
一个低一级范式的系模式的集合,这种 过程就叫规范化。各种范式之间的关系为:
1NF 2NF
3NF BCNF 4NF
5NF
例:以下两例为非1NF关系。借书人
部门名 部门号
经理
正经理 副经理
张 平 李文化
DN1 DN2
D1 D2
M1 M2
5.2.5 3NF
定义:关系模式R(U,F)中若不存在这样的码X,属 性组Y及非主属性Z(Z Y)使得X→Y(Y→X)Y→Z 成立,则称R(U,F) ∈3NF。 简言之,不存在非主属性部分依赖和传递依赖于 码的第一范式称为第三范式。 从定义中还可得出结论:不存在非主属性的模式 为第三范式。
第五章王珊,萨师煊版《数据库系统概论》讲义及课后习题答案
完整性约束条件分类
六类完整性约束条件
•
静态列级约束 静态元组约束 静态关系约束 动态列级约束 动态元组约束 动态关系约束
• • • • •
完整性约束条件(续)
对象状态 动态 动态列级约束 ④ 静态列级约束 ① 动态元组约束 ⑤ 动态关系约束 ⑥
静态
静态元组约束 静态关系约束 ② ③
列
元组
关系
对象粒度
4. 修改被参照关系中主码的问题
• 两种策略 (1)不允许修改主码 (2)允许修改主码
允许修改主码策略
• 违约操作 ♦要修改被参照关系中某些元组的主码值, 而参照关系中有些元组的外码值正好等 于被参照关系要修改的主码值 ♦要修改参照关系中某些元组的主码值, 而被参照关系中没有任何元组的外码值 等于被参照关系修改后的主码值
允许修改主码策略
例:将Student关系中Sno=950001的元组中Sno 值改为960123。而SC关系中有 4个元组的 Sno=950001 – 级联修改:将SC关系中4个Sno=950001元组 中的Sno值也改为960123。如果参照关系同时 又是另一个关系的被参照关系,则这种修改操 作会继续级联下去。
一般是拒绝执行
• 违反参照完整性的操作:
– 拒绝执行 – 接受这个操作,同时执行一些附加的操作,以保证 数据库的状态正确
三、参照完整性的实现
例:职工-部门数据库包含职工表EMP和部门表DEPT
1 DEPT关系的主码为部门号Deptno 2 EMP关系的主码为职工号Empno, 外码为部门号Deptno 称DEPT为被参照关系或目标关系,EMP为参照关系
3.在参照关系中插入元组时的问题
• 受限插入 – 仅当被参照关系中存在相应的元组,其主码值 与参照关系插入元组的外码值相同时,系统才 执行插入操作,否则拒绝此操作。 • 递归插入 – 首先向被参照关系中插入相应的元组,其主码 值等于参照关系插入元组的外码值,然后向参 照关系插入元组。
第5章 数据完整性
第5章数据完整性【学习目标】Microsoft SQL Server 2005系统提供了一系列保证数据完整性的方法和机制,例如约束、默认值和规则等。
其中约束技术是应用最为广泛的保证数据完整性的方法。
本章将主要介绍有关数据库完整性的技术与方法。
本章学习要点:◆数据完整性的基本概念与类型◆约束的概念与类型◆默认值的概念与类型◆规则的概念与类型【学习导航】数据完整性是指数据库系统中数据在逻辑上的一致性和准确性,是保证数据库中数据质量的一种重要手段,是数据库设计好坏的一项重要指标,同时也是现代数据库系统的一个重要特征。
我们都有在网上注册帐户的经历,在注册信息的时候,我们经常会遇到用户名已经存在、密码少于规定的长度、电子邮件必填、出生日期有效、身份证号码是否正确等一系列的限制,实际上这些限制就是保证数据完整性的一些手段,主要的目的就是为了保证用户所填写的内容正确、有效。
本章主要内容见图5-1所示的学习导航。
图5-1 本章学习导航5.1 概述当对数据库进行一系列的操作后,如添加、修改、删除后,数据可能会出现被破坏或相关数据不一致的情况,那么如何防止和解决这些问题的出现呢?这不仅仅需要管理人员和操纵人员的认真和负责,更需要建立一个保障机制,要么防止这些问题发生,要么发生这些问题时可以及时地发现。
数据完整性就是解决这些问题的一种机制。
数据完整性就是指存储在数据库中的数据的一致性和准确性。
在评价数据库的设计时,数据完整性是数据库设计好坏的一项重要指标。
根据数据完整性机制所作用的数据对象和范围不同,数据完整性可以分为实体完整性、域完整性、参照完整性和用户定义完整性4种。
1.实体完整性实体完整性,也可以称为行完整性。
实体是指表中的记录,一个实体就是表中的一条记录。
实体完整性要求在表中不能存在完全相同的记录,而且要求每条记录都要具有一个唯一的标识符,这种标识符一般称为主键值。
这样就可以保证数据所代表的任何事物都不存在重复、可以区分。
数据库系统概论第5版(王珊、萨师煊)课后答案第5章数据库完整性
数据库系统概论第5版(王珊、萨师煊)课后答案第5章数据库完整性第5章数据库完整性1.什么是数据库的完整性?答: 数据库的完整性是指数据的正确性和相容性。
2.数据库的完整性概念与数据库的安全性概念有什么区别和联系?答: 数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garba : e In Garba : e out )所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
3.什么是数据库的完整性约束条件?答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
常见的静态关系约束有:实体完整性约束;参照完整性约束;函数依赖约束。
4.关系DBMS 的完整性控制机制应具有哪些功能?答: DBMS 的完整性控制机制应具有三个方面的功能:1)定义功能,即提供定义完整性约束条件的机制;2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;3)违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
5.关系DBMS 在实现参照完整性时需要考虑哪些方面?答:关系DBMS 在实现参照完整性时需要考虑以下几个方面:1)外码是否可以接受空值。
2)被参照关系中删除元组或修改主码时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作、设置为空值。
3)参照关系中插入或修改元组时,若使参照关系在被参照关系中找不到与之相等的属性值,系统可选择的作法有三种:拒绝执行(默认策略)、级联操作(CASCADE)、设置为空值。
数据库系统概论总结
数据库系统概论复习总结第一章绪论一、基本概念(1)数据:描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音等。
数据与其语义是不可分的。
(2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
(3)数据库管理系统:DBMS是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取数据和维护数据。
DBMS的主要功能:数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
(4)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
(5)数据库系统的特点:数据结构化;数据共享性高,冗余度低,易扩充;数据独立性高二、数据管理技术的发展过程1.数据库管理技术发展的三个阶段:人工管理阶段、文件管理阶段和数据库系统阶段.2.文件系统与数据库系统区别和联系:a.数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
b.数据库系统存储数据的方式灵活,可以存储数据库中的某一个数据项,一组数据项,一组记录或一个纪录,而文件系统中数据的存取单位是记录。
c.数据库系统的数据共享性高,易扩充;而文件系统中的文件是为某一特定的应用服务的,系统也不宜扩充。
三、数据模型1. 定义:数据模型也是一种模型,它是对现实世界的一种抽象。
也就是说,数据模型是用来描述数据、组织数据和对数据进行操作的。
2.组成三要素:数据结构、数据操作和完整性约束。
(1)数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
(2)数据操作:是指对数据库中各种对象(型)的实例(值)允许进行的操作集合,包括操作及有关的操作规则,是对系统动态特性的描述。
(3)数据的约束条件:是一组完整性规则的集合。
完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
数据库系统概论课后习题答案
第1章绪论习题参考答案13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
请用E-R图画山此工厂产品,零件,材第2章关系数据库习题参考答案5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))第3章 SQL语言习题参考答案用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S( Sno CHAR(2) UNIQUE,Sname CHAR(6) ,Status CHAR(2),City CHAR(4));零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P( Pno CHAR(2) UNIQUE,Pname CHAR(6),COLOR CHAR(2),WEIGHT INT);工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J( JNO CHAR(2) UNlQUE,JNAME CHAR(8),CITY CHAR(4));供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ( SNO CHAR(2),PNO CHAR(2),JNO CHAR(2), QTY INT);4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:求供应工程J1零件的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO=’J1’求供应工程J1零件P1的供应商号码SNO:SELECT SNO FROM SPJWHERE JNO='J1' AND PNO='P1'求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,PWHERE JNO='J1' AND = AND COLOR='红'求没有使用天津供应商生产的红色零件的工程号JNO:SELECT JNO FROM SPJWHERE JNO NOT IN (SELECT JNO FROM SPJ,P,SWHERE ='天津' AND COLOR='红' AND =AND =;或者:SELECT JNO FROM JWHERE NOT EXITS( SELECT * FROM SPJ,S,PWHERE = AND =;求至少用了供应商S1所供应的全部零件的工程号JNO。
- 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) );