2003年《数据库系统概论》期末考试试卷(A)一、填空题(每空1分,共20分)1.实体之间的联系按照联系方式的不同可分为、、和。2.数据库系统的核心是。3.在关系模型中,实体以及实体间的联系都是用来表示的。4.在关系代数中专门的关系运算包括、投影、、除等运算。5.1975年由IBM公司的M.Zloof提出的QBE语言是一个很有特色的语言。6.SQL语言集数据查询、、和功能于一体,充分体现了关系数据语言的特点和优点。7.数据库管理系统保证数据安全的主要措施是进行。8.人们已经提出了许多种类型的数据依赖,其中最重要的是和。9.关系模式由3NF转化为BCNF是消除了主属性对码的和。10.数据库设计应包括两个方面的内容:设计和设计。11.CGI规范允许Web服务器执行,并将它们的输出发送给浏览器。12.数据库技术与技术相结合,形成了面向对象数据库系统。二、判断题(下列各题,你认为正确的,请在题干的括号内打“√”,错的打“×”。每题1分,共10分)1、在IMS系统中,如果使用HSAM存储结构,那么检索、插入、删除都很方便。………………………………………………………………………………()2、一个关系的主关键字一定是它的超关键字。………………………………()3、数据字典是一个特殊的数据库。……………………………………………()4、层次数据模型可以很好地表示多对多联系。………………………………()5、完整约束条件的检查总是在事务的每个维护操作执行后立即进行。…………………………………………………………………………………()6、访问控制是防止对数据库进行非法访问的主要方法。……………………()7、一个记录类型可以作为多个络类型的从记录类型。………………………()8、对一个数据库系统来说,概念级对应于它实际存储的数据。……………()9、在向量结构的顺序文件中,插入记录比较困难。…………………………()10、实体间的联系用实体模型来描述。…………………………………………()三、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题4分,共20分)1.数据库类型是按照()来划分的。A.文件形式B.数据模型C.记录形式D.数据存取方法2.关系演算的基础是()A.形式逻辑中的逻辑演算B.形式逻辑中的关系演算C.数理逻辑中的谓词演算D.数理逻辑中的形式演算3.若要求分解保持函数依赖,那么模式分解一定能够达到()A.2NFB.3NFC.BCNFD.1NF4.1级封锁协议加上T要读取的数据R加S锁,这是()A.3级封锁协议B.4级封锁协议C.2级封锁协议D.1级封锁协议5.建立数据字典的时机是()A.需求分析阶段B.数据库物理设计阶C.数据库实施D.概念结构设计阶段四、简答题(每小题6分,共30分)1.简述数据库管理系统的功能。2.简述SQL语言的特点。3、什么是数据库系统?4、试述数据库完整保护的主要任务和措施。5、在倒排文件中,如果只建立了部分关键字的辅索引,如何进行查找?五、综合题(每小题10分,共20分)1.设有一个学生课程数据库,包括学生关系Student、课程关系Course、选修关系SC,图1所示:Student学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19ISCourse课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL语言64SC学号Sno课程号Cno成绩Grade9500119295001285950013889500229095002380图1学生-课程数据库写出完成下列要求的SQL语句:1)查询所有年龄在20岁以下的学生姓名与年龄。2)查询年龄不在20~23(包括20岁和23岁)之间的学生的姓名、系别和年龄。3)查询每个学生及其选修课程的情况。2.把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1∶1、1∶n、m∶n)。实体1:学生(学号,姓名,性别,年龄)关键字为:学号实体2:课程(课程号,课程名,学分数)关键字为:课程号实体1与实体2的联系:学习(学号,课程号,成绩)关键字为:学号+课程号注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。一、填空题(每空1分,共20分)1.一对一或1∶1一对多或1∶n多对多或m∶n2.数据库管理系统或DBMS3.关系4.选择连接5.域关系演算6.数据操纵数据定义数据控制7.存取控制8.函数依赖多值依赖9.部分函数依赖传递函数依赖10.结构(或数据)行为(或处理)11.外部程序12.面向对象二、单项选择题(每小题2分,共20分)1.B2.C3.B4.C5.A三、简答题(每小题6分,共30分)1.答:一般来说,DBMS的功能主要包括以下6个方面:1)数据定义。2)数据操纵。3)数据库运行管理。4)数据组织、存储和管理。5)数据库的建立和维护。6)数据通信接口。2.答:SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,充分体现了关系数据库语言的特点和优点。其特点如下:1)综合统一2)高度非过程化3)面向集合的操作方式4)以同一种语法结构提供两种操作方式5)语言简洁,易学易用3、什么是数据库系统?答:数据库系统是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软、硬资源组成的系统。它包含关联数据的集合,DBMS和用户应用程序等。4、试述数据库完整保护的主要任务和措施。答:主要任务是保障数据的正确性,有效性,协调性,提高数据对用户的可用性。其措施如下:适时检查完整约束条件,保证语义完整。控制并发操作,使其不破坏完整性。在系统出现故障后,即时恢复系统。5、在倒排文件中,如果只建立了部分关键字的辅索引,如何进行查找?答:对询问中涉及的关键字,首先在已建立的辅索引中求指针的交集P,而后对P中所指记录逐个验证其它关键字是否与询问条件匹配,所有匹配的记录即为查询结果。五、综合题(每小题10分,共20分)1.1)selectSname,SagefromStudentwhereSage20;或selectSname,SagefromStudentwherenotSage=20;2)selectSname,Sdept,SagefromStudentwhereSagenotbetween20and23;3)selectStudent.*,SC.*fromStudent,SCwhereStudent.Sno=SC.Sno;学生选课关系E-R图2003年《数据库系统概论》期末考试试卷(B)本试题所用到的银行企业的数据库模式如下所示:Customer-schema=(customer-name,customer-street,customer-city)Account-schema=(branch-name,account-number,balance)Depositor-schema=(customer-name,account-number)Branch-schema=(branch-name,branch-city,assets)Loan-schema=(branch-name,loan-number,amount)Borrower-schema=(customer-name,loan-number)建立在这些关系模式上的数据库中的关系如下所示:customer(Customer-schema)account(Account-schema)depositor(Depositor-schema)branch(Branch-schema)loan(Loan-schema)borrower(Borrower-schema)试题一(20分):请将下列术语填入与其相应的空(仅填对应序号即可):a存储在二级存储器里的数据的结构b应用程序c事实,文本,图形,图像等d集成的决策支持数据库e相关数据的集合f系统开发的一个快速途径g失败后恢复数据库的数据库管理系统(DBMS)模块h描述所有的数据库对象i不能违反的规则j数据库中部分数据的逻辑描述1数据()2数据库应用()3约束()4物理模式()5恢复管理()6数据仓库()7原型方法()8用户视图()9数据字典()10数据库()试题二(20分):请用关系代数表达式表示下列查询:1用两种不同的关系代数表达式表示在银行中既有贷款又有帐户的客户姓名;(12分)2找出那些在其所居住的城市里的银行分支机构中有帐户的客户姓名。(8分)试题三(20分):请简要回答以下问题:1视图是DBMS中的一种虚关系,大多数DBMS都不允许在视图这种虚关系上进行数据的插入、删除和更新的操作,请问这是为什么?(10分)2建立在关系模式主码上的索引就是主索引吗?为什么?(10分)试题四(20分):用SQL表示下列查询:1请找出在银行中一笔贷款贷给多个(至少两个)客户的所有贷款号和发放贷款的分支机构名称;2假设有关系模型R=(Name,Sex),求关系r(R)中不同元组的个数,要求重复的元组只记数一次。(10分)试题五(10分):2.把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图中表示联系的类型(1∶1、1∶n、m∶n)。实体1:学生(学号,姓名,性别,年龄)关键字为:学号实体2:课程(课程号,课程名,学分数)关键字为:课程号实体1与实体2的联系:学习(学号,课程号,成绩)关键字为:学号+课程号注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。试题六(20分):请举例说明:在强两阶段封锁协议中,每一对冲突事务的可串行化次序是由执行时第一个两者都申请但互相冲突的锁决定的。问答第1题答案:1c、2b、3i、4a、5g、6d、7f、8j、9h、10e问答第2题答案:1、1)(∏customer-name(depositor))∩(∏customer-name(borrower))(6分)2)∏customer-name(depositorborrower)(6分)2、∏customer-name(σcustomer-city=branch-city(((customerdepositor)account)branch))问答第3题答案:1、因为视图是虚关系,对视图的修改最终要转换成对产生视图的数据库中基本关系的修改。而这种转化比较困难,且有时是不可行的!例如,如果产生视图的SQL语句中有连接、笛卡儿积和聚集运算(SUM、AVG等)等,则不可能通过视图对基本关系进行修改,因此一般的DBMS不允许在视图这种虚关系上进行数据的插入、删除和更新操作。2、不是。因为主索引从概念上主要是指索引结构中的搜索码的顺序与数据文件中的记录存储的物理顺序一致的索引,而建立在主码上的索引未必满足这个一致性要求。问答第4题答案:1、selectborrower.loan-number,branch-namefromborrower,loanwhereborrower.loan-number=loan.loan-numbergroupbyborrower.loan-numberhavingcount(distinctcustomer-name)=22、selectcount(*)from(selectdistinct*fromr)asresult(name,sex)学生选课关系E-R图问答第6题答案:在封锁协议中,每一对冲突事务的可串行化次序是由执行时第一个两者都申请但互相冲突的锁决定的,如下图所示,lock-S(A)与lock-X(A)首先冲突。根据两阶段封锁协议授权加锁的条件,我们不难知道:1、事务在发出一个锁申请之后还没有获得锁之前一直处于等待状态,等待别的事务释放锁;2、事务在获得最后一个锁之后才会全部执行完事务,因为事务再也不会申请锁,因而也就