2012数据库复习题总结_第1页
2012数据库复习题总结_第2页
2012数据库复习题总结_第3页
2012数据库复习题总结_第4页
2012数据库复习题总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库与信息系统参考题、基本知识点数据库管理系统由一个互相关联的数据的集合和一组用以访问这些数据的程序组成。这些数据用以描述某个特定的企业。的基本目标是要提供一个可以让人们方便地、高效地存取信息的环境。数据库系统用于存储大量信息。对数据的管理既涉及到信息存储结构的定义,又涉及到信息操作机制的提供。另外,数据库系统还必须提供所存储数据的安全性保证,即使在系统崩溃或有人企图越权访问时也应如此。如果数据被多用户共享,那么系统还必须设法避免可能产生的异常结果。数据库系统的一个主要目的是要提供给用户数据的抽象视图,也就是说,系统隐藏了数据存储和维护的细节。这是通过定义三个可对数据库系统进行观察的抽象层次

2、来实现的。这三个层次是:物理层、逻辑层和视图层。数据库结构的基础是数据模型,一个用于描述数据、数据间关系、数据语义和数据约束的概念工具的集合。随着时间的推移,信息会被插人或删除,数据库随之也发生了改变。特定时刻存储在数据库中的信息的集合称作数据库的一个实例。数据库的总体设计称作数据库模式。在某个层次上修改模式而不影响较高一层模式的能力叫做数据独立性。有两个层次的数据独立性:物理数据独立性和逻辑数据独立性。数据库模式通过一系列用数据定义语言表达的定义来描述。语句经过编译,产生存储在一个特殊文件中的一系列表,这个文件称作数据字典,因此数据字典中存储的是元数据。数据操纵语言是使得用户可以访问和操纵数

3、据的语言,主要有两种过程化的和非过程化的M过程化的要求用户指明需要什么数据以及如何获得这些数据,非过程化的只要求用户指明需要什么数据,而不必指明如何获得这些数据。事务管理器负责保证无论是否有故障发生,数据库都要处于一致的(正确的)状态。事务管理器还保证并发事务的执行互不冲突。存储管理器是在数据库中存储的低层数据与应用程序及向系统提交的查询之间提供接口的程序模块。存储管理器负责与磁盘上存储的数据进行交互。0实体一联系数据模型基于对现实世界的这样一种认识世界由一组基本对象称作实体)及这些对象间的联系组成。此模型的主要目的是服务于数据库设计过程,它的发展是为了帮助数据库设计,这是通过允许定义企业模式

4、来实现的。企业模式代表了数据库的全局逻辑结构,这种全局结构可以用图进行图形化表示。1实体是实际存在的可区别于其他对象的对象,我们通过把每个实体同描述该实体的一组属性相联系来将它与其他对象相区别。联系是多个实体间的相互关联。相同类型的所有实体的集合构成实体集,相同类型的所有联系的集合构成联系集。12映射的基数指明另一实体通过联系集可以和实体集中的多少个实体相联。13数据库建模的一个重要任务是要说明实体之间以及联系之间如何相互区别二概念上来说,各个实体或联系是互不相同的,但从数据库的角度来看,它们的差异必须用属性表示出来。为了进行这样的区别,为每个实体集指定一个主码。主码是一个或多个属性的集合,这

5、些属性的整体可以使我们在实体集中唯一确定一个实体或在联系集中唯一确定一个联系。14特殊化和概括定义了一个高层实体集和一个或多个低层实体集之间内容上的联系。特殊化是取出高层实体集的一个了集来形成一个低层实体集。概括是用两个或多个不相交的(低层)实体集的并集来形成一个高层实体集。高层实体集的属性被低层实体集继承。5模型的一个局限是它不能表示联系间的联系,解决的办法是采用聚集。聚集是一种抽象,它将联系集看作高层实体集,这样,联系集及其相关实体集就可以像其他实体一样被看作高层实体集。6符合图的数据库可以用表的集合来表示。数据库的每个实体集和联系集都有唯一与之对应,表名即为相应的实体集或联系集的名称。每

6、个表有多个列,每列有其唯一列名的表。17关系数据模型建立在表的集合的基础上。数据库系统的用户可以对这些表进行查询,可以插入新元组、删除元组以及更新(修改)元组。表达这些操作的语言有几种。元组关系演算和域关系演算是非过程化语言,代表了关系杳询语言所需的基本能力。关系代数是一种过程化语言,在能力上它等价于限制在安全表达式范围内的关系演算的两种形式:关系代数定义了关系查询语言中使用的基本运算。18域约束指出了与属性相关联的可取值的集合。它也可以禁止某属性上取空值。参照完整性约束保证一个关系的给定属性集上的取值也出现在另一关系的某个属性集上。函数依赖是码依赖的扩展。它要求某属性集的值唯一确定另一属性集

7、的值。9良好数据库设汁的三个准则1无损连接。保持依赖。20什.么是超码、候选码、主码、外码?答:(码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。)当一个实体集中包括有多个码时,通常要选定其中的一个码为主码,其他的码就是候选码。实体集中不能唯一标识实体属性的叫次码。0关系代数六个基本运算包括哪些?答:“选择”、“投影”、笛卡尔积、并集、差集和“重命名”空值的含义是什么?答空值不是空格值它是跳过或不输的属性值用表示,空值说明不知道或无意思

8、。22常见的聚集函数有哪些?答:计算(数目),(和)(均值),(最大值)和(最小值)的函数。3解释的具体含义。答:,指数据库事务正确执行的四个基本要素的缩写。包含:原子性)、一致性()、隔离性()、持久性()。一个支持事务C)的数据库系统,必需要具有这四种特性,否则在事务过程()当中无法保证数据的正确性,交易过程极可能达不到交易方的要求。原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中发生错误,会被回滚Cb到事务开始前的状态,就像这个事务从来没有执行过一样。一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。隔离性:两个事务

9、的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一时刻的数据。持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。24视图的作用是什么?答:视图是根据子模式设计的关系,它是由一个或几个基本表(或已定义的视图)导出的虚表。视图能够简化用户的操作;视图机制可以使用户以不同的方式看待同一数据;视图对数据库的重构提供了一定程度的逻辑独立性;视图可以对机密的数据提供安全保护。25常见的完整性约束有哪些?(没找到)6联系有三种常见的多重性,即多对多、多对一和一对一,它们的含义是什么?在数据库系统原理及应用教程的3页在湖旁边那儿有卖的,3元本7实体联系图主要

10、构件包括哪些?C个)没找到8如何将图转换成关系模式?在数据库系统原理及应用教程的6页在湖旁边那儿有卖的,3元本9什么是BC?NF答:是由和提出的比又进了一步通常认为是修正的第三范式所谓第三范式定义是关系模式中若不存在这样的码属性组及非主属性使得一一成立不存在一则称为即当消除了非主属性对码的传递函数依赖,则称为N对关系进行投影,将消除原关系中主属性对码的部分与传递依赖,得到一组关系。定义关系模式中若函数确定且不在内时必含有码则此关系属于一个满足的关系模式的条件1所.有非主属性对每一个码都是完全函数依赖。2. 所有的主属性对每一个不包含它的码,也是完全函数依赖。3. 没有任何属性完全函数依赖于非码

11、的任何一组属性。0包括课堂上所讲授的主要内容。(第章引言,第章关系数据库,第章,第章数据库设计与模型)二、设计部分1. 考虑下面的关系数据库,主码加了下划线。给出关系代数表达式来表示下列每个查询:branch(branch_name,branch_city,assets)customer(customer_name,customer_street,customer_city)account(account_number,branch_name,balance)loan(loan_number,branch_name,amount)depositor(customer_name,account_

12、number)borrower(customer_name,loan_number)1) Findallloansofover$900.2)Findtheloannumberforeachloanofanamountgreaterthan$1200.3) Findthenamesofallcustomerswhohavealoan,anaccount,orboth,fromthebank.4) FindthenamesofallcustomerswhohavealoanatthePerryridgebranch.5) Findthenamesofallcustomerswhohavealoan

13、atthePerryridgebranchbutdonothaveanaccountatanybranchofthebank.6) Findthenamesofallcustomerswhohavealoanandanaccountatbank.7) Findthenameofallcustomerswhohavealoanatthebankandtheloanamount.8) Findallcustomerswhohaveanaccountfromatleastthe“Downtown”andtheUptown”branches.9)Findallcustomerswhohaveanacc

14、ountatallbrancheslocatedinBrooklyncity.解:(1)amout>900(loan)(2) 兀(loan)loan_numberamout>1200(3) 兀(depositor)兀(borrower)customer_namecustomer_name(4) 兀(_xn,(loan,borrower)备注:,为连接,customer_namebranch_name=Perryridge在word中没找到那个符号,所以在此处用代替,下面都是这样。(5) 兀(b一一(loanborrower)-兀customer_namebranch_name=Pe

15、rryridgecustomer_name(b(loanaccout)branch_name=Perryridge(6) 兀(depositor)兀(borrower)customer_namecustomer_name(7) 兀(loanborrower)customer_name,amount(8) 不懂那句英文什么意思,纠结!bbranch_city=Brooklyn(customerXdePositor)2. (实践习题3.1)考虑图3-11定义的保险公司数据库,其中加下线线的是主码。对这个关系数据库写出如下的SQL查询语句:1)找出1989年其车辆出过交通事故的人员总数。2)向数据库

16、中增加一个新的事故,对每个必需的属性可以设定任意值。3)删除“Johnsmith"的马自达车(Mazda)。4)(习题3.8)找出和Johnsmith的车有关的交通事故数量。5)(习题3.8)对事故报告编号为“AR2197”的且车牌是AABB2000的车辆损坏保险费用更新到3000美元。Person(driver_id,name,address)Car(license,model,year)Accident(report_number,data,location)Owns(driver_id,license)License(driver_id,license,report_numbe

17、r,damage_amount)图3-11保险公司数据库解:(1)SELECTCOUNT(*)FROMLicense,AccidentWHERELicense.report_name=Accident.report_nameANDAccident.date=1989(2) INSERTINTOAccident(report_number,data,location)VALUES(1,2,3)(3) DELETEFROMCarWHEREmodel=MazdaANDlicense=(SELECTlicenseFROMPerson,OwnsWHEREPerson.driver_id=License.

18、driver_idANDP='Johnsmith')(4) SELECTCOUNT(*)FROMPerson,LicenseWHEREPerson.driver_id=License.driver_idANDP='Johnsmith'(5) UPDATELicenseSETdamage_amount=3000WHEREreport_number='AR2179'ANDLicense='AABB2000'3. (实践习题3.2)考虑图3-12的雇员数据库,其中加下划线的是主码。为下面每个查询语

19、句写出SQL表达式:1) 找出所有为FirstBankCorporation工作的雇员名字和居住城市。2) 找出所有为FirstBankCorporation工作且薪金超过1万美元的雇员名字、居住街道和城市。3) 找出所有不为FirstBankCorporation工作的雇员。4) 找出数据库中工资比SmallBankCorporation的每个雇员都高的所有雇员。5) 假设一个公司可以在好几个城市有分部。找出位于SmallBankCorporation所有所在城市的所有公司。6) 找出雇员最多的公司。7) 找出平均工资高于FirstBankCorporation平均工资的所有公司。Emplo

20、yee(employee_name,street,city)Works(employee_name,company_name,salary)Company(company_name,city)Manages(employee_name,manager_name)图3-12雇员数据库解:(1)SELECTemployee_name,cityFROMEmployee,WorksWHEREEmployee.employee_name=Works.employee_nameANDWpany_name=FistBankCooporation(2) SELECTemployee_name,city,str

21、eetFROMEmployee,WorksWHEREEmployee.employee_name=Works.employee_nameANDWpany_name=FistBankCooporationANDsalary>10000(3) SELECTemployee_nameFROMWorksWHEREWpany_name!=FistBankCooporation(4) SELECTemployee_nameFROMWorksWHEREsalary>(SELECTMAX(salary)FROMWorksWHEREWpany_name=SmallBankCooporation)(5

22、) SELECTcompany_nameFROMCompanyWHEREcity=(SELECTcityFROMCompanyWHEREWpany_name=SmallBankCooporation)(6) SELECTcompany_nameFROMWorksWHEREMAX(COUNT(employee_name)GROUPBYcompany_name(7) SELECTcompany_nameFROMWorksWHEREAUG(salary)>(SELECTAUG(salary)FROMWorksWHEREWpany_name=FistBankCooporation)GROUPBY

23、company_name4.(实践习题6.1)为车辆保险公司设计一个E-R图。每个客户有一辆或多辆车。每辆车可以关联0次或任意多次事故的记录。并构造合适的关系表。需要画图,在word里不方面,所以此题略!vpjri1.1.ri-xparticipatedpersondriveraccident5.(实践习题6.2)大学的注册办公室维护关于以下实体的数据:(a) 课程,包括编号、名称、学分、课程提纲和选修条件;(b) 课程提供,包括课程编号、年、学期、节数、教师(可能多个)、时间和教室;(c) 学生,包括学生标识、名字和计划(program);(d) 教师,包括标识号、名字、系和职称。参考解答:

24、为注册办公室构造一个E-R图,并说明你所做的映射约束的假设。这里有以下几个实体集:student,instructor,course和course-offerings,其中course-offerings是弱实体集,依赖于course。所做的假设如下:一个班级只能在一个特定的地方。该E-R图不满足在不同时间地方也不同的班级。两个班级有可能会在时间、地点上发生冲突。一个班级一个班主任(指导老师)。此外,学生课程和登记和学生所选的每门课程的成绩评定都要适当地建模。(进行ER模型的设计,并构造合适的关系表。)需要画图,在word里不方面,所以此题略!6.(实践习题6.3)考虑一个用于记录学生各门课程考试成绩的数据库。(a)构造一个将考试建模成实体的E-R图,为以上的数据库设计一个三元联系。(b)构造另一个E-R图,其中只用二元联系来连接sutdents和course_offerings。要求特定“学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论