综合题610章Word文档下载推荐.docx
《综合题610章Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《综合题610章Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
如果与某一端实体对应的关系模式合并,则需要在该关系的模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:
n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式相合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:
n关系转换为一个关系模式。
与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4)3个或3个以上实体间的一个多元联系可以转化为一个关系模式。
与该多元联系相连的各实体的码以及的联系本身的属性均转化为关系的属性,关系的码为各实体码的组合。
(5)具有相同码的关系模式可以合并。
3.假定一个部门的数据库包括以下的信息:
·
职工的信息:
职工号、姓名、住址和所在部门。
部门的信息:
部门所有职工、经理和销售的产品。
产品的信息:
产品名、制造商、价格、型号及产品内部编号
制造商的信息:
制造商名称、地址、生产的产品名和价格。
试画出这个数据库的E-R图。
第三题答案:
4.数据库逻辑设计有哪些基本内容?
请叙述之。
第四题答案:
1.逻辑设计的基本方法:
数据库逻辑设计的主要工作是将从EE-R图转化成指定RDBMS中关系模式。
它的主要内容有:
(1)命名与属性域的处理:
关系模式中的命名可以用E-R图中原有命名,也可另行命名,但是应尽量避免重名。
(2)非原子属性处理:
EE-R图中允许出现非原子属性,关系模式中应符合第一范式故不允许出现非原子属性。
非原子属性主要有集合型和元组型。
如出现此种情况可以进行转换,转换办法是集合属性纵向展开而元组属性横向展开。
(3)联系的转换。
在一般情况下联系可用关系表示,但是在有些情况下联系可归并到相关联的实体中。
(4)嵌套的转换:
嵌套可以转换成联系,再由联系可转换成关系模式。
(5)继承的转换。
(6)规范化:
在逻辑设计中还需以关系做规范化验证,是每个关系至少满足第三范式。
(7)RDBMS:
满足RDBMS的性能、存储空间等要求的调整以及适应RDBMS限制条件的修改,它们包含如下内容:
1)调整性能以减少连接运算。
2)调整关系大小,是每个关系数量保持在合理水平,从而可以提高存取效率。
3)尽量采用快照(snapshot)。
2.关系视图的设计:
又称外模式设计。
关系视图是在关系模式基础上所设计的直接面向操作用户的视图,它可以根据用户需求随时构作。
关系视图的作用大致有如下几点:
(1)提供数据逻辑独立性。
(2)能适应用户对数据的不同需求。
(3)有一定数据博爱迷功能。
5.数据库物理设计包括那些内容?
请说明之。
第五题答案:
数据库的物理设计大致有如下几种:
1.索引设计:
索引一般建立在关系的属性上,它主要用于常用的或重要的查询中。
符合建立索引的条件有:
(1)主关键字及外关键字一般都建立索引,以加快实体间连接速度,有助于引用完整性检查以及唯一性检查。
(2)以读为主的关系表尽可能多的建立索引。
(3)有些查询可以从索引直接得到结果,不必访问数据块,此种查询可以建立索引。
2.集簇设计:
在特定情况下可考虑建立集簇:
(1)通过集簇访问是对应表的主要应用时间时可考虑建立集簇。
(2)集簇属性的对应数据量不能太少也不宜过大。
(3)集簇属性的值应相对稳定以减少修改集簇所硬气的维护开销。
3.分区设计:
分区设计的指导性原则是:
(1)减少访盘冲突,提高I/O并行性。
(2)分散热点数据,均衡I/O负担。
(3)保证关键数据快速访问,缓解系统瓶颈。
6.数据库管理包换哪些内容,试详细说明之。
第六题答案:
数据库管理一般包换如下一些内容:
1.数据库的建立。
包换两部分内容:
数据模式的建立及数据加载。
1)数据模式建立数据模式由DBA负责建立,DBA利用RDBMS中的DDL语言定义数据库名,定义表及相应属性,定义主关键字、定义索引、集簇、定义完整性约束、定义拥护访问权限,申请空间资源,定义分区等,此外还定义视图。
2)数据加载在数据模式定义后即可加载数据,DBA可以编制加载程序将外界数据加载至数据模式内,从而完成数据库的建立。
2.数据库的调整。
数据库的调整一般由DBA完成,包换下面一些内容:
1)调整关系模式与视图使之更能适应用户的需求。
2)调整索引与集簇是数据库性能与效率更佳。
3)调整分区、调整数据库缓冲区大小以及调整并发度使数据库物理性能更好。
3.数据库的重组。
即数据库运行一段时间后,需要对数据库进行重新整理,重新调整存储空间。
通常是先作数据卸载,然后再重新加载数据从而达到数据重组的目的。
4.数据库的安全性控制与完整性控制
1)安全性控制通过权限管理、口令、跟踪以审计等RDMBS的功能以保证数据的安全。
通过行政手段,并建立一定规章制度以确保数据安全。
数据库应备有多个副本并保存在不同的安全地点。
应采取措施防止病毒入侵并能即使消毒。
2)完整性控制通过完整性约束检查等RDBMS的功能以保证数据的正确性。
建立必要的规章制度进行数据的按时正确采集及校验。
5.数据库的故障恢复数据库的故障恢复一般由DBA负责执行。
6.数据库监控DBA需随时观察数据库的动态变化,并在发生错误,故障或产生不适应情况时随时采取措施,如数据库死锁、对数据库的误操作等,同时还需监视数据库的性能变化,在必要时对数据库做调整。
第七章综合题
1.试述事务的概念及事务的4个特性。
事务是用户定义的一个数据库操作序列,这些操作要们全做要么全不做,是一个不可分割的工作单位。
事务具有4个特性:
原子性(Atomiciy)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。
这4个特性也简称为ACID特性。
原子性:
事务是数据库的逻辑工作单位,事务中包括的诸操作要们都做,要么都不做。
一致性:
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
隔离性:
一个事务的执行不能被其他事务干扰。
即一个事务内部的操作使用的数据对其他并发事务使隔离的,并发执行的各个事务之间不能互相干扰。
持续性:
持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该使永久性的。
接下来其他操作或故障不应该对其执行结果有任何影响。
2.试述使用检查点方法进行恢复的步骤。
(1)从重新开始文件中找到最后一个检查点记录在日志文件中的地址,由该地址在日志文件中找到最后一个检查电记录。
(2)由该检查点记录得到检查点建立时刻所有正在执行的事务清单ACTIVE-LIST。
这里建立两个事务队列:
1)UNDO-LIST需要执行undo操作的事务集合;
2)REDO-LIST:
需要执行redo操作的事务集合。
把ACTIVE-LIST暂时放入UNDO-LIST队列,REDO队列暂为空。
3)从检查点开始正向扫描日志文件:
①如有新开始的事务Ti,把Ti暂时放入UNDO-LIST队列;
②如有提交的事务Tj,把Tj从UNDO-LIST队列移到REDO-LIST队列,直到日志文件结束;
4)对UNDO-LIST中的每个事务执行UNDO操作,对REDO-LIST中的每个事务执行REDO操作。
3.封锁会引起何种麻烦?
如何解决此种麻烦?
封锁会引起“死锁”(deadlock)的问题。
即多个用户申请不同封锁,由于申请者均拥有一部分封锁权而又需等待另外用户的部分封锁而引起的永无休止的等待。
解决“死锁”问题一般可采取以下的方法:
(1)预防法:
即是采用一定的操作方式以保证避免死锁的出现,常用的有顺序申请法,一次申请法等。
(2)死锁的解除法:
即是允许出现死锁,并在死锁产生后通过解锁程序以接触死锁,在这种方法中需要死锁检测和解锁两个程序。
第八章综合题
1.设有三个事务T1,T2和T3,所包含的动作为:
T1:
A=A+2
T2:
A=A*2
T3:
A=A^2
假定这三个事务允许并行操作,试讨论它们可能实施的调度。
它们有以下6种可能的调度:
编号
调度
A初值为1时,A最后结果
1
T1-T2-T3
36
2
T1-T3-T2
18
3
T2-T3-T1
6
4
T2-T1-T3
16
5
T3-T1-T2
6
T3-T2-T1
4
2.假设存款余额x=1000元,甲事务取走存款300元,乙事务取走存款200元,其执行时间如下:
甲事务
时间
乙事务
读x
t1
t2
读x
更新x=x-300
t3
t4
更新x=x-200
如何实现这两个事务的并发控制?
如果直接按时间顺序执行甲乙两个事务,则最后的x为800,而不是正确的500。
为此,采用封锁的方法,将甲事务修改为:
WHILE(X已建立排他锁)
{
等待
}
对x建立排他锁
更新x=x-300
释放排他锁
将乙事务修改为:
WHILE(x已建立排他锁)
3.有如下两个事务及其执行时间如下:
事务A
事务B
打开stud数据库
t1
读取最后一条记录
打开stud数据库
添加一条记录
t3
读取最后一条记录
关闭stud数据库
添加一条新记录
t5
关闭stud数据库
采用封锁的方法,将事务A修改为:
建立一个共享锁
释放共享锁
WHILE(stud数据库已建立排他锁)
建立排他锁
将事务B修改为:
第九章综合题
1.试述实现数据库安全性控制的常用方法和技术。
实现数据库安全性控制的常用方法和技术有:
(1)用户标识和鉴别:
该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制:
通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)。
(3)视图机制:
为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:
建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
(5)数据加密:
对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
2.今有两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)
请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
(1)用户王明对两个表有SELECT权力。
(2)用户李勇对两个表有INSERT和DELETE权力。
(3)*每个职工只对自己的记录有SELECT权力。
(4)用户刘星对职工表有SELECT权力,对工资字段具有更新权力。
(5)用户张新具有修改这两个表的结构的权力。
(6)用户周平具有对两个表所有权力,并具有给其他用户授权的权力。
(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。
(1)GRANTSELECTON职工,部门
TO王明;
(2)GRANTINSERT,DELETEON职工,部门
TO李勇;
(3)GRANTSELECTON职工
WHENUSER()=NAME
TOALL;
这里假定系统的GRANT语句支持WHEN子句USER()的使用。
用户将自己的名字作为ID。
注意,不同的系统这些扩展语句可能时不同的。
读者应该了解你使用的DBMS产品的扩展语句。
(4)GRANTSELECT,UPDATE(工资)ON职工
TO刘星;
(5)GRANTALTERTABLEON职工,部门
TO张新;
(6)GRANTALLPRIVILIGESON职工,部门
TO周平
WITHGRANTOPTION;
(7)首先建立一个视图。
然后对这个视图定义杨兰的存取权限。
GREATEVIEW部门工资AS
SELECT部门,名称,MAX(工资),MIN(工资),AVG(工资)
FROM职工,部门
WHERE职工.部门号=部门.部门号
GROUPBY职工.部门号;
GRANTSELECTON部门工资
TO杨兰;
3.什么叫数据库的安全性保护?
它有哪些内容?
数据库的安全性保护是指防止非法使用数据库。
包括防止非法用户使用数据库和合法用户非法使用数据库;
一般有如下的内容:
1.使用权的鉴别。
常用的鉴别方法有口令和函数计算法两种。
2.使用范围限制。
一般可用子模式的方法予以限制,用户可以在子模式定义范围内访问数据,而子模式没有定义的那些数据库中的数据,用户无法使用。
在关系数据库中则可用视图方法予以限制。
3.存取控制权鉴别。
对于每个拥护需规定两个方面权限:
(1)操作类型权限一般可以分为:
查询权,插入权,删除权,修改权以及它们的一些组合。
(2)操作对象权限可以有以下几个操作对象单位:
关系、元组、属性。
第十章综合题
1.什么是数据库的完整性约束条件?
可分为哪几类?
完成性约束条件是指数据库中的数据应该满足的语义约束条件。
一般可以分为6类:
静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。
动态列级约束是对一个列的取值域的说明,包括以下几个方面:
(1)对数据类型的约束包括数据的类型、长度、单位、精度等;
(2)对数据格式的约束;
(3)对取值范围或取值集合的约束;
(4)对空值的约束;
(5)其他约束。
静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。
静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。
常见的静态关系约束有:
(1)实体完整性约束;
(2)参照完整性约束;
(3)函数依赖约束。
动态列级约束是修改列定义或列值时应该满足的约束条件,包括下面两方面:
(1)修改列定义时的约束;
(2)修改列值时的约束。
动态元组约束时指修改某个元组的值时需要参照其旧值并且新值之间需要满足某种约束条件。
动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。
2.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号)其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码。
用SQL语言定义这两个关心模式,要求在模式中完成以下完整性约束条件的定义:
定义每个模式的主码;
定义参照完整性;
定义职工年龄不得超过60岁。
CREATETABLEDEPT
(DeptnoNUMBER
(2),
DeptnameVARCHAR(10),
ManagerVARCHAR(10),
PhoneNumberCHAR(12)
CONSTRAINTPK_SCPRIMARYKEY(Deptno));
CREATETABLEEMP
(EmpnoNUMBER(4),
EnameVARCHAR(10),
AgeNUMBER
(2),
CONSTRAINTC1CHECK(Age<
=60),
JobVARCHAR(9),
SalNUMBER(7,2),
DeptnoNUMBER
(2),
CONSTRAINTFK_DEPTNO
FOREIGNKEY(Deptno)
REFERENCESDEPT(Deptno))窗体底端
窗体底端