《数据库系统原理及应用》习题集及参考答案要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库系统原理及应用》习题集及参考答案
一、简答题
1、什么是数据库管理系统?
一种负责数据库的建立、操作、管理和维护的软件系统。
2、数据库系统有哪几种模式?分别用来描述什么?
(1)外模式
是用户的数据视图,用来描述数据的局部逻辑结构,是模式的子集。
(2)模式
是所有用户的公共数据视图,用来描述数据库中全体数据的全局逻辑结构和特征。(3)内模式
又称存储模式,描述数据的物理结构及存储方式
3、什么是事务?事务有哪些特征?
答:所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。
事务的特征:原子性、一致性、隔离性、持续性。
4、POWER BUILDER中事务对象有何作用?
答:PowerBuider的事务对象是应用程序与数据库之间进行通信的桥梁,在应用程序初启时,系统自动创一个为SQLCA(SQL Communication Area, SQL通讯区)的全局事务对象,该对象在应用程序的任何地方都可以访问
应用程序与数据库的所有通信都需要通过事务对象来完成,除了直接使用系统的缺省事务对SQLCA外,开发人员也可以创建自己的事务对象。
5、SQL SERVER中INSERTED表和DELETED表有何用?
答:触发器中用到两种特殊的表:删除表和插入表触发器中使用名为“deleted"和“inserted"来参照这些表;删除表存储受DELTE和UPDATE语句影响的行的副本当执行DELETE或UPDA TE语句时,行从触发器表中删除并传递到删除表中。删除表和触发器表通常没有共有的行。
插入表存储受INSERT和UPDA TE语句影响的行的副本当执行一NSERT或UPDA T语句时,新行同时增加到插入表和触发器表中。插入表中的行是触发器表中新行的副本可使用删除表和插入表中的行来参照相关表中的行,
或测试被删除或插入行中的值。
6、数据库系统由哪几部分构成?
答:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
7、什么是候选码?什么是主码?主码只能有一个属性吗?
答:能唯一标识实体的属性或属性组称为超码,其任意真子集都不能成为超码的最小超码称为候选码;
从所有候选码中选定一个用来区别同一实体集中的不同实体,称作主码;主码只能有一个属性。
8、在E-R模型中联系是用来反映什么样的信息,它有几种类型?
答:用来反映为实体(型)内部的联系和实体(型)之间的联系,实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
联系可分为三种:
(1)一对一联系(1:1)
(2)一对多联系(1:n)
(3)多对多联系(m:n)。
9、什么是锁协议?什么是两段锁协议?
答:数据库管理系统的并发控制在运用封锁方法时,对数据对象加锁时需要约定一些规则,例如何时申请封锁、持锁时间、何时释放封锁等;这些规则就是锁协议。
所谓两段锁协议是指所有事务必须两个阶段对数据项加锁和解锁。
(1)在对任何数据进行读、写操作之前,首先分申请并获得对该数据项加锁和解锁;
(2)在释放一个封锁之后,事务不现申请和获得任何其他封锁。
10、数据库恢复的依据是什么?
答:基本原理就是利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库。
11、关系数据库中的实体完整性和参照完整性对数据分别有什么样的约束?
答:实体完整性规则是:若属性A是基本关系R的主属性,则属性A不能取空值。
参照完整性规则是:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。
12、数据库管理系统为什么要对事务进行并发控制?如果不进行并发控制会出现哪些问题?
答:为了充分利用系统资源发挥数据库共享资源的特点,应该允许多个事务并行地执行,当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏事务的一致性和数据库的一致性;所以数据库管理系统必须提供并发控制机制。
如果不进行并发控制会出现数据丢失修改、不可重复读和读“脏”数据等问题。
13、在进行总体E-R图的优化时具体做什么?
答:消除多余的属性和多余的联系。
14、什么是外码?建立外码的作用是什么?
答:外码指关系R中的一个属性组,它不是R的码,但它与另一个关系S的码相对应,则称这个属性组为R的外码。如S关系中的D#
建立外码的作用:在相应的表之间建立一种关联。
15、数据库的结构数据模型有哪几种?按此划分SQL SERVER属于哪种类型?
答:有层次模型、网状模型、关系模型、面向对象模型、对象关系模型等几种;SQL SERVER 属于关系模型。
16、数据库管理系统为什么要对事务进行并发调度?并发调度时为什么要进行并发控制?答:数据库是一个共享资源,可以供多个用户使用;如果事务一个一个地串行执行,则许多系统资源将处于空闲状态,因此为了充分利用系统资源发挥数据库共享资源的特点,应该允许多个事务并行地执行,进行并发调度;
当多用户并发地存取数据库时就会产生多个事务同时存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏事务的一致性和数据库的一致性;所以数据库管理系统必须提供并发控制机制。
17、写出数据库设计的步骤。
答:(1)需求分析;
(2)概念结构设计;
(3)逻辑结构设计;
(4)物理结构设计;
(5)数据库实施;
(6)数据库运行和维护。
18、在建立E-R模型时如何区分实体和属性?
答:在给定的应用环境中,可以遵循以下准则来划分实体和属性:
(1)属性与它所描述的实体之间只能是单值联系,即联系只能是一对多的;
(2)属性不能再有需要进一步描述的性质;
(3)作为属性的数据项,除了它所描述的实体之外,不能再与其它实体具有联系。
19、什么是触发器?
答:是一种特殊类型的存储程序,在试图修改触发器所保护的表中的数据时,它就会自动执行。触发器可以包括大多数Transact_sql语句。触发器的查询计划存储在过程缓冲中。
20、事务对象的属性SQLCODE的返回值有哪些,分别表示什么?
答:SQLCode指示最近一次SQL语句是操作成功还是失败,其可能取值为:
0 操作成功
-1 操作失败
100 操作成功,但无返回数据
21、什么是ODBC?将它和专用接口进行比较。
答: ODBC(Open Data Base Connectivity)接口是微软公司提出的开放式数据库互连标准接口,它以关系数据库标准查询语言SQL来存取连接到的数据源,ODBC支持单个应用系统访问多个不同的数据库管理系统(DBMS),并且,对应用系统的开发人员来说,它能够用统一的方法处理不同的数据源,减轻了学习新系统的压力。现在,除了Oracle,Sybase,MS SQL Server, IBM DB/3等大型数据库管理系统支持ODBC接口外,诸如dBase, FoxPro, Sybase SQLAnywhere,Excel之类的数据源也都支持ODBC接口。
专用接口针对具体的数据库管理系统而设计,对诸如Oracle,Sybase, informix之类的大