数据库原理与应用考试B卷(共9页).doc
精选优质文档-倾情为你奉上学 院: 专 业: 学 号: 姓 名: 装 订 线一、简答题(共24分)1、(3分)简述二段锁协议和可串行化调度的含义。2、(4分)数据模型及其要素。3、(6分)什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?数据库系统怎样实现数据物理独立性和逻辑独立性?4、(6分)简述数据库设计的过程。5、(5分)简述什么是事务以及事务的四个基本特征。二、选择题(共24分,每小题2分)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、关系模型中,一个码是( )。 A. 可以由多个任意属性组成 B. 至多由一个属性组成 C. 由一个或多个属性组成,其值能够唯一标识关系中的一个元组 D. 以上都不是 7、下述SQL命令的短语中,不可以定义属性上约束条件的是( )。 A.NOT NULL短语 B.UNIQUE短语 C.CHECK短语 D.HAVING短语8、在视图上不能完成的操作是( ) 。 A.更新视图 B.查询 C.在视图上定义新的表 D.在视图上定义新的视图 10、同一个关系的任意两个元组值 。 A不能全同 B可全同 C必须全同 D以上都不是11、XY,当下列哪一条成立时,称为平凡的函数依赖( )。 A. X Y B.YX C.XY D.XY12、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是 。ADBS包括DB和DBMS BDBMS包括DB和DBSCDB包括DBS和DBMS DDBS就是DB,也就是DBMS三、问答题(14分).现有如下关系模式:Teacher(Tno,Tname,Dept,Bno,Bname,Bdate,Rdate)。其中,Tno:教师编号, Tname:教师姓名, Dept:所在部门, Bno;借阅的图书编号, Bname:书名, Bdate:借书日期, Rdate:还书日期该关系模式的属性有的语义有:教师编号是唯一的,教师编号函数决定教师姓名;教师只能在一个部门工作,一个部门有多个教师;图书编号是唯一的,图书编号函数决定书名;一个老师可以借多本图书,一本图书只能被一个老师借阅,当一个老师借阅一本书时都要要登记借书日日期和还书日期。1(5分)请写出基本函数依赖集 2(4分)确定候选码和主属性、非主属性。 3(5分)该关系模式最高属于第几范式?为什么?四、问答题(9分) 某部门有很多职工,由经理(职工之一)负责管理。一个职工可参加各种产品的研制,一种产品可有多个职工参加研制, 并以月数计算。但一种产品只有一个职工负责研制。每个产品所需的各种零件,可由不同供应商供应,每种零件可由不同供应商供应给不同的产品。这些零件可以放在不同的仓库中,每个仓库存放各种不同的零件。请用ER图画出此部门、职工、产品、供应商、零件、仓库的概念模型。五、问答题(21分)设有职工-工作-公司数据库:职工表EMP(E,ENAME,AGE,SEX,ECITY),其属性分别表示职工号、姓名、年龄、性别和籍贯。工作表WORKS(E,C,SALARY),属性分别表示职工工号、工作的公司编码和工资。公司表COMP(C,C_NAME,CITY),其属性分别表示公司编号、公司名称、公司所在的城市。设有一个学生-课程数据库学生表:Student(Sno,Sname,Ssex,Sage,Sdept) (注:Sdept代表学生所在院系)课程表:Course(Cno,Cname,Cpno,Ccredit,Cdept,Tname) (注: Cdept代表开设课程的院系,Tname代表任课老师名)学生选课表:SC(Sno,Cno,Grade) 试用SQL语句完成以下操作:1) (6分)分别用关系代数和SQL语言查询至少选修了一门其直接先行课为5号课程的学生姓名;2) (3分) 假设每个职工可以在多个公司工作,用SQL语言查询每个职工的兼职公司的数目和工资总数,显示为:E,NUM,SUM_SALARY;3) (3分) 用SQL语言查询“联华公司”(公司名称)中低于本公司平均工资的职工的工号和姓名;4) (3分) 用SQL语言为50岁以上的职工加薪300元;5) (3分) 创建视图V_EMP,要求包括属性:职工姓名、工作的公司名称、工资、公司所在的城市;6) (3分) 给用户张大为授予对职工表的检索权限和对工作表中工资属性的更新权限。六、问答题(共8分)对职工-工作-公司数据库(关系模式参考第五题)有如下的查询:Select E,C,SALARYFrom EMP,WORKS ,COMPWhere EMP.E = WORKS.E And WORKS.C = COMP.C And EMP.AGE > 50 AndCOMP.CITY = 上海;试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。一、问答题(共24分)1、(3分)两段锁协议是指所有事务必须分两个阶段对数据项加锁和解锁。 1)在对任何数据进行读、写操作之前,首先要申请并获得对该数据的封锁; 2)在释放一个封锁之后,事务不再申请和获得任何其他封锁。 “两段”的含义是,事务分为两个阶段:第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。第二阶段是释放封锁,也称为收缩阶段。在这阶段,事务释放已经获得的锁,但是不能再申请任何锁(2分)。 (2)可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度(1分)。2、(4分)数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统的静态特性、动态特性和完整性约束条件(1分)。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。 (1)数据结构(1分):是所研究的对象类型的集合,是对系统的静态特性的描述。 (2)数据操作(1分):是指对数据库中各种对象(型)的实例(值)允许进行的操作的集合,包括操作及有关的操作规则,是对系统动态特性的描述。 (3)数据的约束条件(1分):是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。3、(6分)数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。(3分) 数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。(3分)4、(6分)数据库设计过程的六个阶段: 1) 需求分析(1分) 2) 概念结构设计(1分) 3) 逻辑结构设计(1分)4) 数据库物理设计(1分) 5) 数据库实施(1分) 6) 数据库运行和维护(1分)这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。5、(5分)事务是用户定义的一个数据库操作序列(1分),它具有原子性(1分)、一致性(1分)、隔离性(1分)和持续性(1分)。123456789101112BACABCCDCCABA二、选择题(共24分,每小题2分)三、问答题(14分)1(5分)请写出基本函数依赖集 FTnoTname, TnoDept, BnoBname,(Tno,Bno)Bdate,(Tno,Bno)Rdate2(4分)确定候选码和主属性、非主属性。 码:(Tno,Bno) 主属性:Tno,Bno 非主属性:Tname,Dept,Bname,Bdate,Rdate3(5分)该关系模式最高属于第几范式?为什么? 模式Teacher不属于第二范式,因为存在非主属性对码的部分依赖,如:(Tno,Bno)Tname四、问答题(9分) E-R图每错一个实体、联系或属性扣0.5分五、问答题(21分)1、(6分)(3分) 用关系代数选修了操作系统(课程名称)且成绩为A或B 的计算机系的学生的姓名Sname(Cpno='5'(Course SC Student)或Sname(Cpno='5'(Course) SC Sno,Sname(Student)或Sname (Sno (Cpno='5' (Course)SC)Sno,Sname (Student)(3分) 用SQL查询选修了操作系统(课程名称)且成绩为A或B 的计算机系的学生的姓名 SELECT Sname FROM Course,SC,Student WHERE Course.Cno = SC,Cno And Student.Sno = SC.Sno AndCourse.Cpno = 5;注:语法结构完整(selectfromwhere)可得2分2、(3分)假设每个职工可以在多个公司工作,用SQL语言查询每个职工的兼职公司的数目和工资总数,显示为:E,NUM,SUM_SALARY。SELECT E,COUNT(*) NUM ,SUM(SALARY) SUM_SALARYFROM WORKS GROUP BY E#;注:语法结构完整(selectfromwhere)可得2分3、(3分) 用SQL语言查询联华公司中低于本公司平均工资的职工的工号和姓名。 SELECT EMP.E,ENAME FROM EMP,COMP,WORKS WHERE COMP. C= WORKS. CANDEMP.E=WORKS.E AND CNAME=联华 ANDSALARY<(SELECT AVG(SALARY)FROM WORKS WHERE C =(SELECT C FROM WHERE CNAME=联华)GROUP BY C) ;注:语法结构完整(selectfromwhere)可得2分4、(3分) 用SQL语言为50岁以上的职工加薪300元。UPDATE WORKSSET SALARY=SALARY+300WHERE E IN (SELECT E FROM EMP WHERE AGE>50);注:语法结构完整(UpdateSetWhere)可得2分5、(3分)创建视图,要求包括属性:职工姓名、工作的公司名称、工资、公司所在的城市。CREATE VIEW V_EMPAS SELECT ENAME,CNAME,SALARY,CITY FROM EMP,WORKS,COMP;语法结构完整(CREATE VIEW V_EMP AS SELECT FROM )可得2分6、(3分)给用户张大为授予对职工表的查询权限和对年龄属性的更新权限GRANT SELECT,UPDARE(AGE)ON TABLE EMPTO 张大为;语法结构完整(grantselectto)可得2分六、问答题(共8分)优化前的语法树(4分) E,C,SALARYs EMP.E = WORKS.E× EMPs COMP.CITY = 上海s WORKS.C = COMP.C× COMPWORKSs EMP.AGE > 50 优化后的语法树(4分) E,C,SALARYs EMP.E = WORKS.E× EMPs COMP.CITY = 上海s WORKS.C = COMP.C× COMPWORKSs EMP.AGE > 50专心-专注-专业