当前位置:文档之家› 数据库系统概念题目及答案

数据库系统概念题目及答案

数据库系统概念题目及答案
数据库系统概念题目及答案

1.为什么要研究关系规范化理论?

答关系数据库的设计直接影响着应用系统的开发、维护及其运行效率。一个不好的关系模式会导致插入异常、删除异常、数据冗余(修改异常)等问题。为此,人们提出了关系数据库规范化理论。它依据函数依赖,采用模式分解的方法,将一个低一级范式的关系模式转换为若干个高一级范式的关系模式的集合,从而消除各种异常,把不好的关系数据库模式转化为好的关系数据库模式。

2.理解并写出下列术语的含义。

函数依赖,平凡函数依赖,非平凡函数依赖, 1NF范式,BCNF范式,3NF范式,规范化,无损连接性,依赖保持性。

答:

.函数依赖:设关系模式R(A1,A2,…,A n),X,Y是R的两个属性集合,X?R(A1,A2,…,A n)及Y?R(A1,A2,…,A n),R[X,Y]是关系只在属性XUY上的投影,当任何时刻R[X,Y]中任意两个元组中的X属性值相同时,则它们的Y属性值也相同.那么称X函数决定Y,或Y函数依赖于X,记作X→Y。

.平凡函数依赖与非平凡函数依赖:当属性集合Y是属性集合X的子集时,则存在函数依赖X→Y。这说明一组属性函数决定它的所有子集。这种类型的函数依赖称为平凡函数依赖。如果X→Y且Y?X,则称X→Y是非平凡的函数依赖。

.1NF范式:定义;如果关系模式的所有属性的值域中每一个值都是不可再分解的值,则称只属于第一范式(1NF)。

lNF是关系模式的最低要求。这一限制是在关系的基本性质中提出的,每个关系模式都必须遵守。

.BCNF范式:定义:若关系模式R∈lNF且每个非主属性都完全函数依赖于R 的每个键,关系模式及属于第二范式(只E2NF)。

.3NF范式:定义:

.规范化:把一个低一级范式的关系模式转换为若干个高一级范式的关系模式的集合的过程叫做规范化。

.范式:规范化理论认为,一个关系数据库中所有的关系,都应满足一定的要求,它把关系应满足的规范要求分成几级,并为每一级定义了相应的约束条件集,称为范式。

.无损连接性:设有关系模R(U)中存在函数依赖集F,R被分解为R1(U1),…,R k(U k),如果这些关系模式的自然连接与原关系模式R完全相等,则称该分解具有无损连接性。

.依赖保持性:设有关系模式R(U)中存在函数依赖集F,R被分解加R1(U1),…,R k (U k),且R i (U i)(1≤i≤k)所包含的函数依赖集为F i,如果∪1k F i与F等价,则称该分解具有依赖保持性。

3.什么叫关系模式分解?为什么要有关系模式分解?关系模式分解要遵守什么规则?

答:关系模式分解指采用投影的方式将一个关系模式R(U)分解为R1(U1),…,R k(U k),其中不存在U i ?U j(1≤i,j≤k),并且U1∪U2∪…∪U k=U。关系模式分解是规范化的主要手段,通过关系模式分解可以把一个低一级范式的关系模式分解为若干个高一级范式的关系模式的集合。关系模式分解应当具有无损连接性和依赖保持性。

4.要建立关于系、学生、班级、研究会等信息的一个关系数据库.规定:一个系有若干个专业.每个专业每年只招一个班级,每个班级有若干名学生,一个系的学生住在同一个宿舍区。每个学生可以参加若干个研究会.每个研究会有若干名学生。

描述学生的属性有:学号、姓名、出生年月、系号、班号、宿舍区。

描述班组的属性有:班号、专业名、系号、人数、入校年份。

描述系的属性有:系号、系名、系办公地点、人数。

描述研究会的属性有:研究会名、成立年份、地点、人数。

学生参加某研究会,有一个入会年份。

试给出上述数据库的关系模式;写出每个关系的最小函数依赖集(基本的函数依赖,不是导出的函数依赖);指出关系的候选键、外键、有没有全键。.答

·学生:

学生(学号,姓名,出生年月,系号,班号,宿舍区)

最小函数依赖集:班号→系号,系号→宿舍区,学号→班号,学号→姓名,学号→出生年月。

候选键:学号。外键:系号,班号。

·班级:

班级(班号,专业名,系号,人数,入校年份)

最小函数依赖集:班号→专业名,专业名→系号,

候选键:班号。外键:系号。

.系:

系(系号,系名,系办公地点,人数)

最小函数依赖集:系号→系名,系号→系办公地点

候选键:系号或者系名。外部键:无。

·研究会:

研究会(研究会名,成立年份,地点,人数)

最小函数依赖集:研究会名→成立年份

候选键:研究会名。外部键;无。

.研究会会员:

研究会会员(研究会名,学号.入会年份)

最小函数依赖集:(研究会名,学号) →入会年份

候选键:(研究会名,学号)。外部键:研究会名,学号。

填空题

1.一个不好的关系模式会存在、

和等弊病。

2.函数依赖与属性间的联系类型有关。当X,Y之间是“1对1”联系时,则存在函数依赖;当X,Y之间是“多对1”联系时,则只存在函数依赖;当X,y之间是“多对多”联系时,则。

3.函数依赖的基本性质有:、、。

4.当属性集合X是属性集合Y的子集时,则存在函数依赖Y→X。这种类型的函数依赖称为。如果Y→X且X?Y,则称Y→X是。

5.若关系模式R∈1NF,且及中的每个都是,则R∈BCNF。

6.规范化过程.是通过投影分解,把的关系模式“分离”

为模式。但这种投影分解不是惟一的,要求分解既,又具有。

1.插入异常删除异常冗余太大

2.X→Y和Y→X X→Y XY之间不存在函数依赖性

3.

4.平凡函数依赖非平凡的函数依赖

6.低一级范式若干个高一级范式保持函数依赖无损连接性

选择题

1.以下关于函数依赖的说法正确的是。

A.函数依赖和关系表中各属性列的取值有关,因此当关系中各属性列取值发生变化时,函数依赖必然发生改变

B.属性间的联系方式与函数依赖密切相关,无论哪种联系方式都对应一种函数依赖

C.X→Y是否成立仅取决于X、Y属性集上的值,与其他属性(集)的取值无关D.以上都不是

2.当X,Y之间是”1对多”联系时,则存在函数依赖。

A.X→Y B.Y→X

C.X→Y、Y→X D.以上都不是

3.函数依赖的扩张性是。

A.如果存在函数依赖X→Y及W→Z,则必然存在XW→YZ

B.如果X→Y及X→Z,则存在着X→YZ

C.如果存在函数依赖X→YZ,则必然存在X→Y及X→Z

D.当属性集合X是属性集合Y的子集时,则存在函数依赖Y→X.

4.任何二元关系模式所属的最高范式是。

A.1NF B.2NF C.3NF D.BCNF

5.关于关系模式的键,以下说法正确的是。

A.一个关系模式可以有多个主键

B.一个关系模式可以有多个候选键

C.主键所包含的属性称为主属性

D.不是哪个关系模式都有键

6.若关系模式R中的函数依赖的决定因素(前面的部分)都是键,则R所属的最高范式为。

A.1NF B.2NF C.3NF D.BCNF

1.C 2.B 3.A 4.D 5.B 6.D

1.设有关系模式R(0,I,S,Q,D,B) ,其函数依赖集合为S→D,I→B,IS →Q,B→O,试求:

(1)R的候选键。

(2)如果R不属于3NF,将R分解为3NF(具有无损连接性和依赖保持性)。

2.设关系模式R(A,B,C,D,E,P),R的函数依赖集F为A→D,E→D,D→B,BC→D,DC→A。试求:

(1)R的候选键。

(2)将及分解为BCNF,并具有无损连接性。

数据库设计方法、规范与技巧

一、数据库设计过程

数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求)。

在概念设计阶段形成独立于机器特点、独立于各个DBMS产品的概念模式(信息世界模型),用E-R图来描述。

在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。

在物理设计阶段根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

1. 需求分析阶段

需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。

需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。

需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。

常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。

分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的

结构化分析方法(Structured Analysis,简称SA方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。

数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。

数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,

取值范围,取值含义,与其他数据项的逻辑关系}

数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}

数据流描述={数据流名,说明,数据流来源,数据流去向,

组成:{数据结构},平均流量,高峰期流量}

数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,

组成:{数据结构},数据量,存取方式}

处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},

处理:{简要说明}}

2. 概念结构设计阶段

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。

概念模型用于信息世界的建模。概念模型不依赖于某一个DBMS支持的数据模型。概念模型可以转换为计算机上某一DBMS支持的特定数据模型。

概念模型特点:

(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。

(2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。

概念模型设计的一种常用方法为IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。

使用IDEF1X方法创建E-R模型的步骤如下所示:

2.1 第零步——初始化工程

这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。收集源材料是这阶段的重点。通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。

2.2 第一步——定义实体

实体集成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码”结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代

表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。

2.3 第二步——定义联系

IDEF1X模型中只允许二元联系,n元联系必须定义为n个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。

2.4 第三步——定义码

通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,也不能在同一个时刻有一个以上的值。找出误认的确定关系,将实体进一步分解,最后构造出IDEF1X模型的键基视图(KB图)。

2.5 第四步——定义属性

从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的IDEF1X模型的全属性视图。

2.6 第五步——定义其他对象和规则

定义属性的数据类型、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。

3. 逻辑结构设计阶段

将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的DBMS。

将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:

1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。

2)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本

身的属性均转换为关系的属性。而关系的码为各实体码的组合。

3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

5)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。

6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。

7)具有相同码的关系模式可合并。

为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。确定数据依赖。消除冗余的联系。确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。一般来说将关系分解为3NF的标准,即:

表内的每一个值都只能被表达一次。

表内的每一行都应该被唯一的标识(有唯一键)。

表内不应该存储依赖于其他键的非键信息。

4. 数据库物理设计阶段

为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。

5. 数据库实施阶段

运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行

6. 数据库运行和维护阶段

数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。

建模工具的使用

为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational 公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner 以及Oracle公司的Oracle Designer等。

ERwin主要用来建立数据库的概念模型和物理模型。它能用图形化的方式,描述出实体、联系及实体的属性。ERwin支持IDEF1X方法。通过使用ERwin建模工具自动生成、更改和分析IDEF1X模型,不仅能得到优秀的业务功能和数据需求模型,而且可以实现从IDEF1X模型到数据库物理设计的转变。ERwin工具绘制的模型对应于逻辑模型和物理模型两种。在逻辑模型中,IDEF1X工具箱可以方便地用图形化的方式构建和绘制实体联系及实体的属性。在物理模型中,ERwin 可以定义对应的表、列,并可针对各种数据库管理系统自动转换为适当的类型。设计人员可根据需要选用相应的数据库设计建模工具。例如需求分析完成之后,设计人员可以使用Erwin画ER图,将ER图转换为关系数据模型,生成数据库结构;画数据流图,生成应用程序。

二、数据库设计技巧

1. 设计数据库之前(需求分析阶段)

1) 理解客户需求,询问用户如何看待未来需求变化。让客户解释其需求,而且随着开发的继续,还要经常询问客户保证其需求仍然在开发的目的之中。

2) 了解企业业务可以在以后的开发阶段节约大量的时间。

3) 重视输入输出。

在定义数据库表和字段需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以决定为了支持这些输出哪些是必要的表和字段。

举例:假如客户需要一个报表按照邮政编码排序、分段和求和,你要保证其中包括了单独的邮政编码字段而不要把邮政编码糅进地址字段里。

4) 创建数据字典和ER 图表

ER 图表和数据字典可以让任何了解数据库的人都明确如何从数据库中获得数据。ER图对表明表之间关系很有用,而数据字典则说明了每个字段的用途以及任何可能存在的别名。对SQL 表达式的文档化来说这是完全必要的。

5) 定义标准的对象命名规范

数据库各种对象的命名必须规范。

2. 表和字段的设计(数据库逻辑设计)

表设计原则

1) 标准化和规范化

数据的标准化有助于消除数据库中的数据冗余。标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能、扩展性和数据完整性方面达到了最好平衡。简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解。表之间的关系通过外键相连接。它具有以下特点:有一组表专门存放通过键连接起来的关联数据。

举例:某个存放客户及其有关定单的3NF 数据库就可能有两个表:Customer 和Order。Order 表不包含定单关联客户的任何信息,但表内会存放一个键值,该

键指向Customer 表里包含该客户信息的那一行。

事实上,为了效率的缘故,对表不进行标准化有时也是必要的。

2) 数据驱动

采用数据驱动而非硬编码的方式,许多策略变更和维护都会方便得多,大大增强系统的灵活性和扩展性。

举例,假如用户界面要访问外部数据源(文件、XML 文档、其他数据库等),不妨把相应的连接和路径信息存储在用户界面支持表里。还有,如果用户界面执行工作流之类的任务(发送邮件、打印信笺、修改记录状态等),那么产生工作流的数据也可以存放在数据库里。角色权限管理也可以通过数据驱动来完成。事实上,如果过程是数据驱动的,你就可以把相当大的责任推给用户,由用户来维护自己的工作流过程。

3) 考虑各种变化

在设计数据库的时候考虑到哪些数据字段将来可能会发生变更。

举例,姓氏就是如此(注意是西方人的姓氏,比如女性结婚后从夫姓等)。所以,在建立系统存储客户信息时,在单独的一个数据表里存储姓氏字段,而且还附加起始日和终止日等字段,这样就可以跟踪这一数据条目的变化。

字段设计原则

4) 每个表中都应该添加的3 个有用的字段

??dRecordCreationDate,在VB 下默认是Now(),而在SQL Server 下默认为GETDATE()

??sRecordCreator,在SQL Server 下默认为NOT NULL DEFAULT USER

??nRecordVersion,记录的版本标记;有助于准确说明记录中出现null 数据或者丢失数据的原因

5) 对地址和电话采用多个字段

描述街道地址就短短一行记录是不够的。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的灵活性。还有,电话号码和邮件地址最好拥有自己的数据表,其间具有自身的类型和标记类别。

6) 使用角色实体定义属于某类别的列

在需要对属于特定类别或者具有特定角色的事物做定义时,可以用角色实体来创建特定的时间关联关系,从而可以实现自我文档化。

举例:用PERSON 实体和PERSON_TYPE 实体来描述人员。比方说,当John Smith, Engineer 提升为John Smith, Director 乃至最后爬到John Smith, CIO 的高位,而所有你要做的不过是改变两个表PERSON 和PERSON_TYPE 之间关系的键值,同时增加一个日期/时间字段来知道变化是何时发生的。这样,你的PERSON_TYPE 表就包含了所有PERSON 的可能类型,比如Associate、Engineer、Director、CIO 或者CEO 等。还有个替代办法就是改变PERSON 记录来反映新头衔的变化,不过这样一来在时间上无法跟踪个人所处位置的具体时间。

7) 选择数字类型和文本类型尽量充足

在SQL 中使用smallint 和tinyint 类型要特别小心。比如,假如想看看月销售总额,总额字段类型是smallint,那么,如果总额超过了$32,767 就不能进行计算操作了。

而ID 类型的文本字段,比如客户ID 或定单号等等都应该设置得比一般想象更

大。假设客户ID 为10 位数长。那你应该把数据库表字段的长度设为12 或者13 个字符长。但这额外占据的空间却无需将来重构整个数据库就可以实现数据库规模的增长了。

8) 增加删除标记字段

在表中包含一个“删除标记”字段,这样就可以把行标记为删除。在关系数据库里不要单独删除某一行;最好采用清除数据程序而且要仔细维护索引整体性。

3. 选择键和索引(数据库逻辑设计)

键选择原则:

1) 键设计4 原则

??为关联字段创建外键。

??所有的键都必须唯一。

??避免使用复合键。

??外键总是关联唯一的键字段。

2) 使用系统生成的主键

设计数据库的时候采用系统生成的键作为主键,那么实际控制了数据库的索引完整性。这样,数据库和非人工机制就有效地控制了对存储数据中每一行的访问。采用系统生成键作为主键还有一个优点:当拥有一致的键结构时,找到逻辑缺陷很容易。

3) 不要用用户的键(不让主键具有可更新性)

在确定采用什么字段作为表的键的时候,可一定要小心用户将要编辑的字段。通常的情况下不要选择用户可编辑的字段作为键。

4) 可选键有时可做主键

把可选键进一步用做主键,可以拥有建立强大索引的能力。

索引使用原则:

索引是从数据库中获取数据的最高效方式之一。95%的数据库性能问题都可以采用索引技术得到解决。

1) 逻辑主键使用唯一的成组索引,对系统键(作为存储过程)采用唯一的非成组索引,对任何外键列采用非成组索引。考虑数据库的空间有多大,表如何进行访问,还有这些访问是否主要用作读写。

2) 大多数数据库都索引自动创建的主键字段,但是可别忘了索引外键,它们也是经常使用的键,比如运行查询显示主表和所有关联表的某条记录就用得上。3) 不要索引memo/note 字段,不要索引大型字段(有很多字符),这样作会让索引占用太多的存储空间。

4) 不要索引常用的小型表

不要为小型数据表设置任何键,假如它们经常有插入和删除操作就更别这样作了。对这些插入和删除操作的索引维护可能比扫描表空间消耗更多的时间。

4. 数据完整性设计(数据库逻辑设计)

1) 完整性实现机制:

实体完整性:主键

参照完整性:

父表中删除数据:级联删除;受限删除;置空值

父表中插入数据:受限插入;递归插入

父表中更新数据:级联更新;受限更新;置空值

DBMS对参照完整性可以有两种方法实现:外键实现机制(约束规则)和触发器实现机制

用户定义完整性:

NOT NULL;CHECK;触发器

2) 用约束而非商务规则强制数据完整性

采用数据库系统实现数据的完整性。这不但包括通过标准化实现的完整性而且还包括数据的功能性。在写数据的时候还可以增加触发器来保证数据的正确性。不要依赖于商务层保证数据完整性;它不能保证表之间(外键)的完整性所以不能强加于其他完整性规则之上。

3) 强制指示完整性

在有害数据进入数据库之前将其剔除。激活数据库系统的指示完整性特性。这样可以保持数据的清洁而能迫使开发人员投入更多的时间处理错误条件。

4) 使用查找控制数据完整性

控制数据完整性的最佳方式就是限制用户的选择。只要有可能都应该提供给用户一个清晰的价值列表供其选择。这样将减少键入代码的错误和误解同时提供数据的一致性。某些公共数据特别适合查找:国家代码、状态代码等。

5) 采用视图

为了在数据库和应用程序代码之间提供另一层抽象,可以为应用程序建立专门的视图而不必非要应用程序直接访问数据表。这样做还等于在处理数据库变更时给你提供了更多的自由。

5. 其他设计技巧

1) 避免使用触发器

触发器的功能通常可以用其他方式实现。在调试程序时触发器可能成为干扰。假如你确实需要采用触发器,你最好集中对它文档化。

2) 使用常用英语(或者其他任何语言)而不要使用编码

在创建下拉菜单、列表、报表时最好按照英语名排序。假如需要编码,可以在编码旁附上用户知道的英语。

3) 保存常用信息

让一个表专门存放一般数据库信息非常有用。在这个表里存放数据库当前版本、最近检查/修复(对Access)、关联设计文档的名称、客户等信息。这样可以实现一种简单机制跟踪数据库,当客户抱怨他们的数据库没有达到希望的要求而与你联系时,这样做对非客户机/服务器环境特别有用。

4) 包含版本机制

在数据库中引入版本控制机制来确定使用中的数据库的版本。时间一长,用户的需求总是会改变的。最终可能会要求修改数据库结构。把版本信息直接存放到数据库中更为方便。

5) 编制文档

对所有的快捷方式、命名规范、限制和函数都要编制文档。

采用给表、列、触发器等加注释的数据库工具。对开发、支持和跟踪修改非常有用。

对数据库文档化,或者在数据库自身的内部或者单独建立文档。这样,当过了一年多时间后再回过头来做第2 个版本,犯错的机会将大大减少。

6) 测试、测试、反复测试

建立或者修订数据库之后,必须用用户新输入的数据测试数据字段。最重要的是,让用户进行测试并且同用户一道保证选择的数据类型满足商业要求。测试需要在把新数据库投入实际服务之前完成。

7) 检查设计

在开发期间检查数据库设计的常用技术是通过其所支持的应用程序原型检查数据库。换句话说,针对每一种最终表达数据的原型应用,保证你检查了数据模型并且查看如何取出数据。

三、数据库命名规范

1. 实体(表)的命名

1) 表以名词或名词短语命名,确定表名是采用复数还是单数形式,此外给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)

对工作用表来说,表名可以加上前缀WORK_ 后面附上采用该表的应用程序的名字。在命名过程当中,根据语义拼凑缩写即可。注意,由于ORCLE会将字段名称统一成大写或者小写中的一种,所以要求加上下划线。

举例:

定义的缩写 Sales: Sal 销售;

Order: Ord 订单;

Detail: Dtl 明细;

则销售订单明细表命名为:Sal_Ord_Dtl;

2) 如果表或者是字段的名称仅有一个单词,那么建议不使用缩写,而是用完整的单词。

举例:

定义的缩写 Material Ma 物品;

物品表名为:Material, 而不是 Ma.

但是字段物品编码则是:Ma_ID;而不是Material_ID

3) 所有的存储值列表的表前面加上前缀Z

目的是将这些值列表类排序在数据库最后。

4) 所有的冗余类的命名(主要是累计表)前面加上前缀X

冗余类是为了提高数据库效率,非规范化数据库的时候加入的字段或者表

5) 关联类通过用下划线连接两个基本类之后,再加前缀R的方式命名,后面按照字母顺序罗列两个表名或者表名的缩写。

关联表用于保存多对多关系。

如果被关联的表名大于10个字母,必须将原来的表名的进行缩写。如果没有其他原因,建议都使用缩写。

举例:表Object与自身存在多对多的关系,则保存多对多关系的表命名为:R_Object;

表 Depart和Employee;存在多对多的关系;则关联表命名为R_Dept_Emp

2. 属性(列)的命名

1) 采用有意义的列名,表内的列要针对键采用一整套设计规则。每一个表都将有一个自动ID作为主健,逻辑上的主健作为第一组候选主健来定义,如果是数据库自动生成的编码,统一命名为:ID;如果是自定义的逻辑上的编码则用缩写加“ID”的方法命名。如果键是数字类型,你可以用_NO 作为后缀;如果是字符类型则可以采用_CODE 后缀。对列名应该采用标准的前缀和后缀。

举例:销售订单的编号字段命名:Sal_Ord_ID;如果还存在一个数据库生成的自动编号,则命名为:ID。

2) 所有的属性加上有关类型的后缀,注意,如果还需要其它的后缀,都放在类型后缀之前。

注: 数据类型是文本的字段,类型后缀TX可以不写。有些类型比较明显的字段,可以不写类型后缀。

3) 采用前缀命名

给每个表的列名都采用统一的前缀,那么在编写SQL表达式的时候会得到大大的简化。这样做也确实有缺点,比如破坏了自动表连接工具的作用,后者把公共列名同某些数据库联系起来。

3. 视图的命名

1) 视图以V作为前缀,其他命名规则和表的命名类似;

2) 命名应尽量体现各视图的功能。

4. 触发器的命名

触发器以TR作为前缀,触发器名为相应的表名加上后缀,Insert触发器加'_I',Delete触发器加'_D',Update触发器加'_U',如:TR_Customer_I,TR_Customer_D,TR_Customer_U。

5. 存储过程名

存储过程应以'UP_'开头,和系统的存储过程区分,后续部分主要以动宾形式构成,并用下划线分割各个组成部分。如增加代理商的帐户的存储过程为'UP_Ins_Agent_Account'。

6. 变量名

变量名采用小写,若属于词组形式,用下划线分隔每个单词,如@my_err_no。

7. 命名中其他注意事项

1) 以上命名都不得超过30个字符的系统限制。变量名的长度限制为29(不包括标识字符@)。

2) 数据对象、变量的命名都采用英文字符,禁止使用中文命名。绝对不要在对象名的字符之间留空格。

3) 小心保留词,要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突

5) 保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。

数据库系统概论复习题及答案

第一学期期末考试试卷和答案 试卷代码:03115 授课课时:96 课程名称:数据库系统原理A 适用对象:本科选课班 一、选择题(从下列各题四个答案中选出一个正确答案,每小题1分,共10分) 1、在数据库技术发展的几个阶段中,数据独立性最高的是__A___阶段。 A、数据库系统 B、文件系统 C、人工管理 D、数据项管理 2、在SQL的SELECT语句中,与选择运算对应的命令动词是__C___。 A、SELECT B、FROM C、WHERE D、ORDER BY 3、在数据库中,下列说法_A__是不正确的 A、数据库避免了一切数据的重复 B、若系统是完全可以控制的,则系统可确保更新是的一致性 C、数据可以共享 D、数据库减少了冗余 4、在数据库系统中,模式/外模式映像用于解决数据的_C__ A、结构独立性 B、物理独立性 C、逻辑独立性 D、分布独立性 5、关系代数的5种基本运算是__D_。 A、并、差、选择、投影、自然连接 B、并、差、交、选择、投影 C、并、差、交、选择、笛卡尔积 D、并、差、选择、投影、笛卡尔积 6、在SQL语句中,谓词“EXISTS”的含义是_B___。 A、全称量词 B、存在量词 C、自然连接--在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列 D、等值连接--在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列 7、规范化过程主要为克服数据库逻辑结构中的插入异常、删除异常、更新异常以及_C__的缺陷 A、数据不一致性 B、结构不合理 C、冗余度大 D、数据丢失 8、数据库数据的正确性和相容性是数据库的__B____。 A、安全性 B、可维护性 C、完整性 D、并发控制 9、数据库三级模式体系结构主要的目标是确保数据库的_B__。 A、数据安全性 B、数据独立性

数据库系统概念(各章节练习简答题答案)

数据库系统概念(章节练习简答题答案) 1 .试述sQL 语言的特点。 (l)综合统一。sQL 语言集数据定义语言DDL 、数据操纵语言DML、数据控制语言DCL 的功能于一体。(2)高度非过程化。用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。 (3)面向集合的操作方式。sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 (4)以同一种语法结构提供两种使用方式。sQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。 2 .试述sQL 的定义功能。 sQL 的数据定义功能包括定义表、定义视图和定义索引。SQL 语言使用cREATE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREA TE VIEW 语句建立视图,DROP VIEW 语句删除视图。 3 .什么是基本表?什么是视图?两者的区别和联系是什么? 基本表是本身独立存在的表,在sQL 中一个关系就对应一个表。视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。 4.试述视图的优点。 ( l )视图能够简化用户的操作;( 2 )视图使用户能以多种角度看待同一数据;( 3 )视图对重构数据库提供了一定程度的逻辑独立性;( 4 )视图能够对机密数据提供安全保护。 5 .所有的视图是否都可以更新?为什么? 不是。视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能惟一有意义地转换成对相应基本表的更新,所以,并不是所有的视图都是可更新的. 6 .哪类视图可以更新的?哪类视图不可以更新的?各举一例说明。 基本表的行列子集视图一般是可更新的。若视图的属性来自集函数、表达式,则该视图肯定是不可以更新的。(举例在书上有) 7 .什么是数据库的安全性? 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 8 .数据库安全性和计算机系统的安全性有什么关系? 安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 9 .什么是数据库中的自主存取控制方法和强制存取控制方法? 自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 10. 为什么强制存取控制提供了更高级别的数据库安全性? 强制存取控制(MAC )是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。

数据库系统概论各章复习试题及答案

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

数据库系统概论试题及答案整理版

数据库系统概论复习资料 第一章绪论 一、选择题 1.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个 阶段中,数据独立性最高的是 A 阶段。 A.数据库系B.文件系统C.人工管理D.数据项管理 2.数据库的概念模型独立于 A 。 A.具体的机器和DBMS B.E-R图C.信息世界D.现实世界 3.数据库的基本特点是 B 。 A.(1)数据结构化(2)数据独立性 (3)数据共享性高,冗余大,易移植 (4)统一管理和控制 B.(1)数据结构化(2)数据独立性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 C.(1)数据结构化(2)数据互换性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 D.(1)数据非结构化 (2)数据独立性 (3)数据共享性高,冗余小,易扩充 (4)统一管理和控制 4. B 是存储在计算机内有结构的数据的集合。 A.数据库系统B.数据库C.数据库管理系统D.数据结构 5.数据库中存储的是 C 。 A. 数据 B. 数据模型 C.数据及数据间的联系 D. 信息 6.数据库中,数据的物理独立性是指 C 。 A.数据库与数据库管理系统的相互独立 B.用户程序与DBMS的相互独立 C.用户的应用程序与存储在磁盘上数据库中的数据是相互独立的 D.应用程序与数据库中数据的逻辑结构相互独立 7.数据库的特点之一是数据的共享,严格地讲,这里的数据共享是指 D 。 A.同一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户相互覆盖地使用数据集合

(完整版)数据库系统概论试题及答案3

试题三 一、单项选择题 (本大题共20小题,每小题1.5分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要 求的,请将其代码填写在题后的括号内。错选、多选或 未选均无分。 1. 数据库系统与文件系统的主要区别是() A.数据库系统复杂,而文件系统简单 B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决C.文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件D.文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 2.数据库管理系统能实现对数据库中数据的查询、插入、修改和删除等操作的 数据库语言称为() A.数据定义语言(DDL)B.数据管理语言 C.数据操纵语言(DML)D.数据控制语言 3.数据库的网状模型应满足的条件是() A.允许一个以上结点无双亲,也允许一个结点有多个双亲 B.必须有两个以上的结点 C.有且仅有一个结点无双亲,其余结点都只有一个双亲 D.每个结点有且仅有一个双亲 4.数据的逻辑独立性是指() A.内模式改变,模式不变 B.模式改变,内模式不变 C.模式改变,外模式和应用程序不变 D.内模式改变,外模式和应用程序不变 5.设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号唯一,每个职工有多项技能,则EMP表的主码是() A.职工号B.姓名,技能 C.技能D.职工号,技能 6.在关系代数中,对一个关系做投影操作后,新关系的元组个数()原来 关系的元组个数。

A.小于B.小于或等于C.等于D.大于 7.设关系R和S的属性个数分别是2和3,那么R S等价于() 1<2 A.σ1<2(R?S)B.σ1<4(R?S) C.σ1<2(R S)D.σ1<4(R S) 8.学校数据库中有学生和宿舍两个关系: 学生(学号,姓名)和宿舍(楼名,房间号,床位号,学号) 假设有的学生不住宿,床位也可能空闲。如果要列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,则应执行() A. 全外联接 B. 左外联接 C. 右外联接 D. 自然联接 9.用下面的T-SQL语句建立一个基本表: CREATE TABLE Student(Sno CHAR (4) NOT NULL, Sname CHAR (8) NOT NULL, Sex CHAR (2), Age SMALLINT) 可以插入到表中的元组是() A. '5021','刘祥',男,21 B.NULL,'刘祥',NULL,21 C. '5021',NULL,男,21 D. '5021','刘祥',NULL,NULL 10. 把对关系SC的属性GRADE的修改权授予用户ZHAO的T-SQL语句是 () A. GRANT GRADE ON SC TO ZHAO B. GRANT UPDA TE ON SC TO ZHAO C. GRANT UPDA TE (GRADE) ON SC TO ZHAO D. GRANT UPDA TE ON SC (GRADE) TO ZHAO 11.图1中()是关系完备的系统 A B C D 图1 12.给定关系模式SCP(Sno,Cno,P),其中Sno表示学号,Cno表示课程号,P 表示名次。若每一名学生每门课程有一定的名次,每门课程每一名次只有一名学生,则以下叙述中错误的是()

数据库系统概念(database system concepts)英文第六版 课后练习题 答案 第23章

C H A P T E R23 XML Practice Exercises 23.1Give an alternative representation of university information contain- ing the same data as in Figure23.1,but using attributes instead of subelements.Also give the DTD or XML S chema for this representation. Answer: a.The XML representation of data using attributes is shown in Figure 23.100. b.The DTD for the bank is shown in Figure23.101. 1

2Chapter23XML Figure23.100XML representation. 23.2Give the DTD or XML S chema for an XML representation of the following nested-relational schema: Emp=(ename,ChildrenSet setof(Children),SkillsSet setof(Skills)) Children=(name,Birthday) Birthday=(day,month,year) Skills=(type,ExamsSet setof(Exams)) Exams=(year,city)

数据库系统概论课后练习答案4

第4章数据库安全性 1 .什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2 .数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3 .试述可信计算机系统评测标准的情况,试述TDI / TCSEC 标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD )正式颁布的《 DoD 可信计算机系统评估准则》。CC通用准则V2.1版于1999年被ISO纳为国际标准,2001年我国采用其为国家标准。目前CC已经基本取代了TCSEC,成为评估信息产品安全性的主要标准。 TDI / TCSEC 标准是将TcsEc 扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Tmsted Database Interpretation 简称TDI , 又称紫皮书)。在TDI 中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI 与TcsEc 一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。 CC提出目前国际公认的表述信息技术安全性的结构,即把对信息产品的安全要求分为安全功能要求和安全保证要求。 安全功能要求用以规范产品和系统的安全行为,安全保证要求解决如何正确、有效地实施这些功能。 4 .试述TcsEC ( TDI )将系统安全级别划分为4 组7 个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC ( TDI )将系统划分为四组(division )7 个等级,依次是 D 、C ( CI , CZ )、B ( BI , BZ , B3 )、A ( AI ) ,按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为: ● D 级D 级是最低级别。一切不符合更高标准的系统,统统归于D 组。 ●Cl级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主存取控制 (DAC ) ,保护或限制用户权限的传播。 ●C2 级实际是安全产品的最低档次,提供受控的存取保护,即将Cl 级的DAC 进一步细化,以个 人身份注册负责,并实施审计和资源隔离。 ●Bl 级标记安全保护。对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC ) 以及审计等安全机制。

数据库系统概念第六版课后习题部分答案2s

C H A P T E R2 Introduction to the Relational Model Practice Exercises 2.1Consider the relational database of Figure??.What are the appropriate primary keys? Answer:The answer is shown in Figure2.1,with primary keys under- lined. 2.2Consider the foreign key constraint from the dept name attribute of in- structor to the department relation.Give examples of inserts and deletes to these relations,which can cause a violation of the foreign key constraint. Answer: ?Inserting a tuple: (10111,Ostrom,Economics,110,000) into the instructor table,where the department table does not have the department Economics,would violate the foreign key constraint. ?Deleting the tuple: (Biology,Watson,90000) from the department table,where at least one student or instructor tuple has dept name as Biology,would violate the foreign key con- straint. employee(person name,street,city) works(person name company name,salary) company(company name,city) Figure2.1Relational database for Practice Exercise2.1. 1

《数据库系统概论》课后习题及参考答案

课后作业习题 《数据库系统概论》课程部分习题及参考答案 第一章绪论(教材 41页) 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 数据: 描述事物的符号记录称为数据。数据的种类有文字、图形、图象、声音、正文等等。数据与其语义是不可分的。 数据库: 数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库系统: 数据库系统( DBS)是指在计算机系统中引入数据库后的系统构成。数据库系统由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。 数据库管理系统: 数据库管理系统 (DBMS)是位于用户与操作系统之间的一层数据管理软件。用于科学地组织和存储数据、高效地获取和维护数据。DBMS主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。 2.使用数据库系统有什么好处? 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。 使用数据库系统的好处很多,例如可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担等。 为什么有这些好处,可以结合第 5题来回答。

使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由 DBMS来完成。 此外,当应用逻辑改变,数据的逻辑结构需要改变时,由于数据库系统提供了数据与程序之间的独立性。数据逻辑结构的改变是 DBA的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序。从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。 使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为 DBMS在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性,多用户并发控制,故障恢复等等都由DBMS执行。 总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,可以提高数据的利用率和一致性,又有利于应用程序的开发和维护。 3.试述文件系统与数据库系统的区别和联系。 文件系统与数据库系统的区别: 文件系统面向某一应用程序,共享性差、冗余度大,独立性差,纪录内有结构、整体无结构,应用程序自己控制。 数据库系统面向现实世界,共享性高、冗余度小,具有高度的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是: 文件系统与数据库系统都是计算机系统中管理数据的软件。 5.试述数据库系统的特点。 数据库系统的主要特点有: 一、数据结构化 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。 二、数据的共享性高,冗余度低,易扩充

数据库系统概论试题及答案

试题二 一、单项选择题 在每小题列出的四个备选项中只有一个是符合题目 要求的,请将其代码填写在题后的括号内。错选、 多选或未选均无分。 1. 下列四项中,不属于数据库系统的主要特点的是()。 A.数据结构化B.数据的冗余度小 C.较高的数据独立性 D.程序的标准化 2. 数据的逻辑独立性是指() A.内模式改变,模式不变 B.模式改变,内模式不变 C.模式改变,外模式和应用程序不变 D.内模式改变,外模式和应用程序不变 3. 在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征 的是()。 A.外模式 B.内模式 C.存储模式 D.模式 4. 相对于非关系模型,关系数据模型的缺点之一是()。 A.存取路径对用户透明,需查询优化 B.数据结构简单 C.数据独立性高D.有严格的数学基础 5. 现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生 日期)的主码是()。 A.宿舍编号 B.学号 C.宿舍地址,姓名 D.宿舍编号,学号 6.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然 连接时,要求R和S含有一个或多个共有的()。 A.元组 B.行 C.记录 D.属性 7.下列关系运算中,()运算不属于专门的关系运算。 A.选择B.连接 C.广义笛卡尔积D.投影 8. SQL语言具有()的功能。

A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制 C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵 9.从E-R模型关系向关系模型转换时,一个M:N联系转换为关系模式时,该关系模式的关键字是()。 A.M端实体的关键字B.N端实体的关键字 C.M端实体关键字与N端实体关键字组合 D.重新选取其他属性 10. SQL语言中,删除一个表的命令是() A. DELETE B. DROP C. CLEAR D. REMOVE 11. 图1中()是关系完备的系统 A B C D 图1 12.有关系模式A(S,C,M),其中各属性的含义是:S:学生;C :课程;M:名次,其语义是:每一个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只有一个学生(即没有并列名次),则关系模式A最高达到()A.1NF B.2NF C.3NF D.BCNF 13.关系规范化中的删除异常是指 ( ) A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入 14.在数据库设计中, E-R图产生于() A.需求分析阶段B.物理设计阶段 C.逻辑设计阶段D.概念设计阶段 15.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于()。 A.实体完整性约束 B.参照完整性约束 C.用户自定义完整性约束 D.关键字完整性约束

数据库系统概念答案(第五版)

C H A P T E R2 Exercises 2.4Describe the differences in meaning between the terms relation and relation schema. Answer:A relation schema is a type de?nition,and a relation is an instance of that schema.For example,student(ss#,name)is a relation schema and is a relation based on that schema. 2.5Consider the relational database of Figure2.35,where the primary keys are un- derlined.Give an expression in the relational algebra to express each of the fol-lowing queries: a.Find the names of all employees who work for First Bank Corporation. b.Find the names and cities of residence of all employees who work for First Bank Corporation. c.Find the names,street address,and cities of residence of all employees who work for First Bank Corporation and earn more than$10,000per annum. d.Find the names of all employees in this database who live in the same city as the company for which they work. e.Assume the companies may be located in several cities.Find all companies located in every city in which Small Bank Corporation is located. Answer: a.Πperson-name(σcompany-name=“First Bank Corporation”(works)) 7

数据库系统概论知识点

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

数据库系统概论第一章课后答案

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

数据库系统概念16章课后习题

1. 假设两阶段锁定并不保证可串行性。然后有一个组事务T0,T1……Tn?1,服从2pl和它产生的非序列化时间表。一个非可序列化的时间表意味着一个周期在优先图,我们将显示,2pl 不能产生这种循环。没有损失的通用性,假设以下循环存在于优先图: T0→T1→T2→……Tn?→1→T0。让αi是Ti获得其最后一个锁(即Ti的锁点)的时间。然后对所有事务,以便Ti →Tj,αi <αj。然后我们有周期 α0 <α1 <α2 <……< <α0αn?1 因为α0 <α0是一个矛盾,没有这样的循环可以存在。因此2pl无法产生非可序列化的时间表。因为所有事物的属性,Ti→Tj,αi <αj,锁点排序的事务也是一个拓扑排序顺序图的优先级。因此事物根据他们的锁点可以序列化。 2.a.锁定和解锁指令: b执行这些事务可能导致死锁。例如,考虑下面的部分计划: 现在的事务陷入死锁。

3. 严格的两阶段锁具有严格的2pl。此外,它已经属性,对于两种相互冲突的交易,他们的提交订单是他们的可串行性秩序。在一些系统中用户可能希望这种行为。 4. 证据就是Buckley和Silberschatz,并发控制在图协议通过使用边锁,Proc。ACM SIGACT-SIGMOD的研讨会上数据库系统原理,1984。 5. 考虑下面的树型结构数据库图。 时间表可能在树协议但不低于2pl 6. 证据就是Kedem和Silberschatz,锁定协议:从独享共享锁,JACM卷。30,4,1983。 7. 证据就是Kedem和Silberschatz,控制并发使用锁定协议,Proc。年度IEEE研讨会的计算机基础科学,1979。 8. 证据就是Kedem和Silberschatz,控制并发使用锁定协议,Proc。年度IEEE研讨会的计算机基础科学,1979。 9. 访问保护机制可以用于实现页面级锁。考虑读第一,一个过程是允许读一页只有在它读-锁该页面。这是通过使用mprotect实现最初关掉阅读所有页面的权限,因为这个过程。当进程试图访问一个地址在一个页面上,保护违反发生。处理程序关联保护违反然后请求一个页面上的读锁,锁后获得,它使用mprotect允许读访问页面的过程,最后允许过程继续。写访问的处理是类似的。 10. 证据就是Korth,锁定原语在一个数据库系统,JACM卷。30日,1983。 11. 它没有什么区别。写协议是这样的,最近的写一项事务也是最大时间戳的那个。

数据库系统概论选择题

第一章:数据与信息 1、关于信息和数据的描述正确的是? A、数据是信息的符号表示 B、数据是信息的载体 C、信息是数据的内涵 D、以上都不正确 2、数据和信息的关系是? A、二者不可区分 B、二者的可区分性不确定 C、信息和数据不可分离又有一定区别 D、任何数据均可表示信息 3、以下说法错误的是? A、数据具有客观性,本身没有意义 B、数据是信息的载体 C、数据与信息是一个概念,都是对现实世界的客观存在的描述 D、数据包括数字、文字、符号、图形、图像等形式 4、以下关于数据和信息的关系,说法不正确的是? A、数据是信息的载体,信息是从数据中提炼出来的 B、123456是数据,当它被当作密码时,就是信息 C、信息和数据就是一回事,不能被严格的区分 D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达 5、以下关于数据和信息的关系,说法不正确的是? A、数据就是信息,本来就是一回事 B、love这个单词是数据,当你向女生表白的时候,它就项女生传达了信息 C、202.108.33.60是由数字和点组成的数据,在网络中它指的是新浪的服务器 D、同一数据可以表达不同信息,同一信息也可以用不同的数据来表达 数据库存储和管理

1、在数据库系统中,负责监控数据库系统的运行情况,及时处理运行过程中出现的问题,这类职责的人员统称为( )? A、数据库管理员 B、数据库设计员 C、系统分析员 D、应用程序员 2、下面关于数据库的用途的说法正确的是? A、淘宝网、京东商城页面上显示的商品的信息来自于数据库中的数据 B、我们在淘宝上能看到我们的购买记录,是因为淘宝网用数据库记录了买家的每一笔 交易记录 C、去移动营业厅能够打印每一次通话记录的时长,呼入方和呼出方的电话号码,是因 为中国移动的后天服务器记录了用户的每一次通话 D、QQ上的聊天记录能够漫游,是因为聊天记录存放在腾讯的服务器上 3、数据库系统与文件系统的主要区别是? A、数据库系统复杂,而文件系统简单 B、文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 C、文件系统只能管理程序文件,而数据库系统能够管理各种类型的文件 D、文件系统管理的数据量较少,而数据库系统可以管理庞大的数据量 4、以下关于数据库、数据库关系系统,说法不正确的是? A、数据库字面上的意思是存放数据的仓库,把数据按照一定的逻辑存放在一起 B、平常常说数据库,实际上是指数据库管理系统,数据库是基础,在这个基础之上, 提供给用户操作数据的界面或对数据实施管理,那么,数据库加上对数据的管理,就是我们常说的数据库管理系统 C、严格意义上来说,SQLServer /Oracle是属于数据库管理系统,简称DBMS D、从本质来看,SQLServer/Oracle是数据库 5、数据库系统的核心是? A、数据库 B、数据库管理系统 C、数据模型 D、软件工具 6、数据库管理系统的缩写是?

数据库系统概论课后答案{王珊版}

2 .使用数据库系统有什么好处? 答: 使用数据库系统的好处是由数据库管理系统的特点或优点决定的。使用数据库系统的好处很多,例如,可以大大提高应用开发的效率,方便用户的使用,减轻数据库系统管理人员维护的负担,等等。使用数据库系统可以大大提高应用开发的效率。因为在数据库系统中应用程序不必考虑数据的定义、存储和数据存取的具体路径,这些工作都由DBMS 来完成。用一个通俗的比喻,使用了DBMS 就如有了一个好参谋、好助手,许多具体的技术工作都由这个助手来完成。开发人员就可以专注于应用逻辑的设计,而不必为数据管理的许许多多复杂的细节操心。还有,当应用逻辑改变,数据的逻辑结构也需要改变时,由于数据库系统提供了数据与程序之间的独立性,数据逻辑结构的改变是DBA 的责任,开发人员不必修改应用程序,或者只需要修改很少的应用程序,从而既简化了应用程序的编制,又大大减少了应用程序的维护和修改。使用数据库系统可以减轻数据库系统管理人员维护系统的负担。因为DBMS 在数据库建立、运用和维护时对数据库进行统一的管理和控制,包括数据的完整性、安全性、多用户并发控制、故障恢复等,都由DBMS 执行。总之,使用数据库系统的优点是很多的,既便于数据的集中管理,控制数据冗余,提高数据的利用率和一致性,又有利于应用程序的开发和维护。读者可以在自己今后的工作中结合具体应用,认真加以体会和总结。 3 .试述文件系统与数据库系统的区别和联系。 答: 文件系统与数据库系统的区别是:文件系统面向某一应用程序,共享性差,冗余度大,数据独立性差,记录内有结构,整体无结构,由应用程序自己控制。数据库系统面向现实世界,共享性高,冗余度小,具有较高的物理独立性和一定的逻辑独立性,整体结构化,用数据模型描述,由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力。 文件系统与数据库系统的联系是:文件系统与数据库系统都是计算机系统中管理数据的软件。解析文件系统是操作系统的重要组成部分;而DBMS 是独立于操作系统的软件。但是DBMS 是在操作系统的基础上实现的;数据库中数据的组织和存储是通过操作系统中的文件系统来实现的。 4 .举出适合用文件系统而不是数据库系统的例子;再举出适合用数据库系统的应用例子。答: ( l )适用于文件系统而不是数据库系统的应用例子数据的备份、软件或应用程序使用过程中的临时数据存储一般使用文件比较合适。早期功能比较简单、比较固定的应用系统也适合用文件系统。 ( 2 )适用于数据库系统而非文件系统的应用例子目前,几乎所有企业或部门的信息系统都以数据库系统为基础,都使用数据库。例如,一个工厂的管理信息系统(其中会包括许多子系统,如库存管理系统、物资采购系统、作业调度系统、设备管理系统、人事管理系统等),学校的学生管理系统,人事管理系统,图书馆的图书管理系统,等等,都适合用数据库系统。希望读者能举出自己了解的应用例子。 5 .试述数据库系统的特点。 答: 数据库系统的主要特点有: ( l )数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。解析注意这里的“整体’夕两个字。在数据库系统中,数

相关主题
文本预览
相关文档 最新文档