数据库考试题答案全集.docx
- 文档编号:2849698
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:17
- 大小:233.58KB
数据库考试题答案全集.docx
《数据库考试题答案全集.docx》由会员分享,可在线阅读,更多相关《数据库考试题答案全集.docx(17页珍藏版)》请在冰豆网上搜索。
数据库考试题答案全集
1.回答以下问题:
(1)什么是E-R图:
实体-联系是基于对现实世界的这样一种认识:
现实世界是由一组称为实体的基本对象以及这些对象之间的联系构成的。
实体是现实世界中可区别于其他对象的一个“事件”或一个“物体”,例如,每个人是一个实体,每个银行账户也是一个实体。
实体要通过它的属性集合来描述。
联系是实体间的相互关联。
E-R图可以表达现实世界中实体和实体之间的联系。
图中有以下元素构成:
矩形:
代表实体集。
椭圆:
代表属性。
菱形:
代表实体集间的联系。
线段:
将属性和实体集相联或将实体集于联系相连。
双椭圆:
表示多值属性。
虚椭圆:
表示派生属性。
双线:
表示一个实体全部参与到联系集中。
(2)什么是数据库系统设计的参照完整性约束?
参照完整性约束:
“参照”需要完整的,这个约束叫“参照完整性约束”
令关系r1(R1)和r2(R2)的主码分别为K1和K2。
称R2的子集a为参照关系r1中K1的外码,是要求对r2中任意元组t2,均存在r1中元组t1使得t1[K1]=t2[a]。
这种要求成为参照完整性约束,也叫外码约束。
保证一个关系中给定属性集上的取值也在另一关系的某一属性集的取值中出现,从而保证当授权用户对数据库做修改时不会破坏数据的一致性。
外键码约束又称参照完整性约束,用来限定本表外键码字段列值与相关表主键码字段列值的匹配,即保证相关数据的一致性。
(3)什么是事务的并发控制?
事务是构成单一逻辑工作单元的操作集合。
无论有无故障,数据库系统必须保证事务的正确执行——或者执行整个事务或者属于该事务的操作一个也不执行。
数据库系统必须控制事务的并发执行,保证数据库处于一致的状态。
把并发的多个事务转化成可串行的事务就是事务的并发控制。
并发控制机制的目标是获得高度的并发性,同时保证所产生的调度是冲突或视图可串行化的,并且是无级联的。
采取的方法有:
各种封锁协议、时间戳排序机制、有效性检查技术、多版本机制。
(4)什么是触发器?
触发器:
它是一条语句,当一定条件满足时,它自动执行,对数据库进行修改。
(5)什么是关系数据库系统的规范化设计?
关系数据库系统的规范化设计:
它要求数据库设计满足第一范式,如果不能设计到满足第三范式的情况下,允许存在一定的冗余。
这种情况称之为PC范式。
首先必须要符合,无损连接和保持依赖,最好可以达到BCNF如果不能达到,可允许存在少量冗余以满足3NF
(6)什么是事务处理?
事务处理主要是事务的并发控制,使系统中的多个事务并行执行,同时保证可串行化,提高系统的利用率。
无论有无故障,数据库系统必须保证事务的正确执行——或者执行整个事务或者属于该事务的操作一个也不执行。
数据库系统必须控制事务的并发执行,保证数据库处于一致的状态。
把并发的多个事务转化成可串行的事务就是事务的并发控制。
(7)什么是数据定义语言,数据操纵语言?
数据定义语言(DDL):
是一种特殊语言,用来定义数据库模式。
Ddl语言的编译结果是产生数据字典或数据目录(存储在一个特殊文件中的一系列表)。
数据操纵语言(DML):
使用户可以访问和操纵由适当的数据模式组织起来的数据。
通常有两类:
过程化的数据操纵语言:
它要求用户指定需要什么数据以及如何获得这些数据。
非过程化的数据操纵语言:
只要求用户指定需要什么数据,而不必指明如何获得这些数据。
(8)什么是数据库系统的ACID特性?
(事务概念)
原子性:
对外部世界来说,事务的发生是不可分割的,要么全执行,要么全不执行。
一致性:
事务的处理不会破坏系统的恒定。
独立性:
并发的事务之间不会互相干扰。
持久性:
一旦一个事务处理提交,它的结果将永久保存。
(9)集中式数据库和分布式数据库各有什么优缺点?
中式数据库系统中的数据存放在一个地方,便于存取、查询。
而分布式数据库的数据存在于多个地方,其可以实现数据的高度共享,提高数据系统的可靠性、可用性。
但是同时也给存取、查询带来很多困难。
需要更多的开发代价,程序错误存在更大的可能性,以及增大的处理开销。
2.在数据库应用系统中,从传统的C/S结构发展为MIDAS结构时,试回答下面问题:
(1)解释什么是多层分布式体系结构?
一般采用传统的C/S结构,在C/S结构中,通常由客户端机器执行应用程序,然后连接到后端数据库服务器中存取应用系统需要的数据。
(2)C/S结构和MIDAS结构的主要区别是什么?
C/S:
客户机/服务器结构
数据存放于专门的数据服务器,数据服务器置于局域网,数据对局域网中的用户共享,数据的处理分担在客户机与服务器上,可以有效地利用局域网的网络资源。
特点是数据共享性高、投资成本较小(可以利用现有的局域网加以改造)、速度快、数据安全性高。
MIDAS(Multi-tierDistributedApplicationServices):
多层分布式应用服务
多层数据库技术作为数据库应用中的一个新兴技术,是在单层数据库(本地数据库)技术、两层数据库(客户机/服务器机构)技术的基础上发展起来的。
使用多层数据库结构的应用程序,可以通过局域网甚至Internet和其他用户共享数据和网络信息。
多层数据库技术的优点可以概括为两点:
一是集中化的商业逻辑;另一个是客户程序的运行环境可以十分广泛。
多层结构应用体系应运而生,即在传统的二层C/S模型中放入应用程序服务器。
应用程序服务器简单地说就是一个包含企业逻辑的应用程序,开发人员以一种特定的组件形态,如MicrosoftCOM/DCOM,CORBA对象,或EnterpriseJAVABean等,封装企业逻辑的程序代码,这种经过封装,能够执行特定企业功能的对象被称为“企业对象”,把这些企业对象分发到应用程序服务器中,开发人员在开发应用程序时就可以使用这些企业对象提供的服务。
多层结构的典型是三层结构,其基本思想是把用户界面与企业逻辑分离。
整体结构如图二所示。
客户端应用程序服务器远程数据库服务器
(提供用户界面)(包含企业逻辑)(Oracle,MSQL,Sybase等DBMS)
3.设关系模式fdctds_schema(Department_name,Customer_name,Tax),其关系fdctds如表所示:
Department_name
Customer_name
Tax
青山
A1
15.08
江岸
A2
24.00
青山
A3
17.56
青山
A4
25.00
江岸
A5
46.00
如果对数据水平分片,产生二个片断:
fdctds1=σDepartment_name=”青山”(fdctds)
fdctds2=σDepartment_name=”江岸”(fdctds)
试写出对“青山”和“江岸”的查询转换表达式并说明其意义。
解:
6department-name=”青山”(fdctds)
fdctds定义为fdctds=fdctds1Ufdctds2
因为”青山”只涉及fdctds1
所以可以优化得:
6department-name=’青山”(fdctds1)U¢
所谓查询转换,是指提出一个查询后,根据分布式数据库被复制、分片或复制分片的具体情况重构关系并优化查询。
现假定关系account被水平分片如下:
现用户要查询δbranch—name=“Hillside”(account)
因为account被定义为account1∪account2
由名字翻译模式产生的表达式为:
δbranch—name=“Hillside”(account1∪account2)
查询优化:
δbranch—name=“Hillside”(account1)∪δbranch—name=“Hillside”(account2)
只涉及1只涉及2
∴只在上H节点求值∴只在V节点求值。
考虑到
由定义得出
这是一个空集,因在“H”节点上,没有“V”
∴优化结果为只查询
δbranch—name=“Hillside”(account1)∪φ
这就是查询转换的结果
4.有关系r和s,计算r∞s
A
B
C
1
2
3
5
6
4
3
5
6
1
3
2
7
8
9
2
6
7
C
D
E
3
4
5
3
6
8
2
3
2
1
4
2
1
2
3
解得:
A
B
C
D
E
1
2
3
4
5
1
2
3
6
8
5
6
4
3
5
6
1
3
2
3
2
7
8
9
2
6
7
1
4
2
1
2
3
5.有关系r和s,计算r∞s
C
D
E
1
2
1
5
6
2
3
5
6
1
3
2
7
8
9
2
6
7
E
F
G
3
4
5
3
6
8
2
3
2
1
4
2
1
2
3
解得:
C
D
E
F
G
1
2
1
4
2
1
2
1
2
3
5
6
2
3
2
1
3
2
3
2
6.一个具有继承性的银行系统例子如图所示:
Person
Employeecustomer
Officertellersecretary
其中:
officer_schema=(name,address,officer-number,expense-account-number,start-date,salary);
teller_schema=(name,address,hour-per-week,station-number,start-date,salary);
secretary_schema=(name,address,hour-per-week,manager,start-date,salary);
customer_schema=(name,address,credt-rating);
要求:
(1)用C++伪码写出图示类的层次定义。
(2)如果teller和secretary可分为full-time-teller和part-time-secretary,用多重继承关系统来定义以上例子,并画出它的类的树形结构图。
(3)试用面向对象数据库的观点解释例子中的实体、关系、模式、属性。
实体是现实世界中可区别于其他对象的事件或物体如本例中的人、客户员工等。
一个对象对应于一个实体。
属性是实体集中每个成员具有的描述性性质如人具有属性名、地址。
变量对应属性
关系(关系实例):
对应于程序设计语言中变量的值的概念,关系模式由属性序列对应的域组成。
作为关系实例的例子,customer关系的的模式为:
customer_schema=(name,address,credt-rating);
7.一个系统的E-R图如图5-1所示,其中某个实体的E-R图如图5-2所示。
注:
下图只列出了卖方表的E—R图,其它表的E—R类似。
图5-2
要求:
将它设计成为一个多层分布式结构的房地产交易应用系统,请按你自已的理解为其写一个总体设计方案(主要包括:
数据库设计;应用系统结构设计,主要企业对象和程序模块设计等)。
总体设计方案:
✧面向Internet/Intranet用户的功能模块:
✓登陆、注销、注册;
✓输入所要卖房子的信息(包括证件、介绍信息)及个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 考试题 答案 全集