数据库原理及应用试题班级姓名学号第1页2008~2009学年秋季学期期末考试试题(A卷)题目一二三四五六七八总分数分数评卷人一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题号后面的括号内。每题2分,共30分)1、()位于用户和操作系统之间的一层数据管理软件是A、DBSB、DBC、DBMSD、MIS2、()数据库三级模中,描述数据的全局逻辑结构的是A、子模式B、用户模式C、模式D、存储模式3、()负责控制数据整体结构、定义和修改三级模式结构的人是A、专业用户B、应用程序员C、一般用户D、DBA4、()一个关系数据库文件中的各条记录A、前后顺序不能任意颠倒,一定要按照输入的顺序排列B、前后顺序可以任意颠倒,不影响库中的数据关系C、前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D、前后顺序不能任意颠倒,一定要按照主码字段值的顺序排列5、()关系R与关系S只有一个公共属性,T1是R与S等值连接的结果,T2是R与S自然连接的结果,则A、T1的属性个数等于T2的属性个数B、T1的属性个数小于T2的属性个数C、T1的属性个数大于T2的属性个数D、T1的属性个数大于或等于T2的属性个数6、()设关系R和S的属性个数分别为r和s,则(R×S)操作结果的属性个数为A、r+sB、r-sC、r×sD、max(r,s)7、()在SELECT语句中使用*,表示A、选择任何属性B、选择全部属性C、选择全部元组D、选择主码8、()SQL中的视图提高了数据库系统的A、完整性B、并发控制C、隔离性D、安全性9、()在一个ER图中,如果共有20个不同实体类型,在这些实体类型之间存在着9个不同的二元联系(二元联系是指两个实体之间的联系)其中3个是1:N联系,6个是M:N联系,还存在1个M:N的三元联系,那么根据ER模型转换成关系模型的规则,这个ER结构转换成的关系模式个数至少为A、24B、27C、29D、3010、()在下列的SQL语句中,属于数据控制的是a、CREATEb、SELECTc、UPDATEd、GRANTe、DROPf、DELETEg、ALTERh、INSERTi、REVOKEA、aefgB、diC、bcfhD、aeg11、()数据库物理设计完成后,进入数据库实施阶段,下列各项中不属于实施阶段的工作是A、定义数据库结构B、扩充功能C、数据装载D、编制和调试应用程序12、()保护数据库防止恶意破坏和非法的存取,这是指数据库的A、安全性B、完整性C、并发控制D、恢复13、()下列各种模型中不是数据模型的是A、关系模型B、层次模型C、网状模型D、概念模型14、()有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECTSNAMEFROMS,C,SCWHERE子句。这里WHERE子句的内容是A、S.S#=SC.S#andSEX=’女’andCNAME=’计算机’B、S.S#=SC.S#ANDC.C#=SC.C#andCNAME=’计算机’C、SEX=’女’andCNAME=’计算机’D、S.S#=SC.S#andC.C#=SC.C#andSEX=’女’andCNAME=’计算机’15、()关系EMP含有外码DNO(参照关系DEPT的主码DNO),如果删除DEPT中DNO为100的元组同时将删除关系EMP中所有DNO值为100的元组,这种作法称为A、级联删除B、受限删除C、置空值删除D、递归删除二、填空题(每空1分,共10分)1、DDL的含义是____________________________________________2、关系中主码的取值非空是_________________________完整性规则3、SQLServer提供的日期时间类型为____________________________4、在职工(职工号、职工名、部门号、职务、工资)关系中,查询姓刘的职工信息时,SQL的WHERE子句部分为_________________________________________________5、设有关系模式R(X,Y,Z),F是R上成立的函数依赖集,F={Y→Z,XZ→Y},关系模式R的候选码为_______________________6、在SQL的SELECT语句中,与选择运算对应的是________________________子句。7、创建索引应使用_________________________________语句。8、若消除非主属性对码的_______________________,则1NF关系可转换为2NF关系;若消除非主属性对码的___________________________,则2NF关系可转换为3NF关系。9、设关系模式RU,F被分解为若干个关系模式R1U1,F1,R2U2,F2,…,RnUn,Fn(其中U=U1U2…Un,且不存在UiUj,Fi为F在Ui上的投影),若R与R1,R2,…,Rn自然连接的结果相等,则称关系模式R的这个分解具有___________________________三、简答题(8分)设有关系模式R(职工名,项目名,工资,部门名,部门经理)如果规定,每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门,每个部门只有一个经理(1)试根据上述语义确定函数依赖集(2)请写出该关系的候选码(3)请说明该关系模式不是2NF的理由(4)把R分解为具有保持函数依赖和无损连接的3NF数据库原理及应用试题班级姓名学号第2页四、设计题(42分)商品销售数据库包含如下三个基本表:C(CNO,CNAME,ADD,TEL),顾客表,其属性分别表示顾客编号,顾客姓名,顾客住址,顾客电话。P(PNO,PNAME,TM,PRICE),商品表,其属性分别表示商品编号,商品名称,品牌,单价。S(CNO,PNO,QTY,SDATE),销售表,其属性分别表示顾客编号,商品编号,销售数量,销售日期。1、(11分)使用关系代数表达式完成下列查询(1)查询名为“李雪”的顾客其顾客编号,住址及电话。(2)查询购买商品名称为“激光打印机”的顾客编号。(3)查询没有顾客购买的商品编号。(4)查询购买品牌为“HP”的全部产品的顾客编号。2、(23分)使用SQL语言完成下列查询(1)查询名为“李雪”的顾客其顾客编号,住址及电话。(2)查询购买商品名称为“激光打印机”的顾客编号。(3)查询没有顾客购买的商品编号。(4)查询购买品牌为“HP”的全部产品的顾客编号。(5)查询购买商品数量在10件以上(包含10件)的顾客编号。(6)统计每种商品的销售数量。要求输出商品编号和销售数量,结果按商品编号升序排列。(7)往基本表C中插入一个顾客元组,编号为“2001001”,姓名为“张珊”,地址及电话为空值。(8)在基本表S中删除销售日期为空值的元组。(9)把品牌为“HP”的所有产品的单价提高4%。(10)将品牌为“HP”的商品编号、商品名称,单价定义为一个视图VIEW_HP。数据库原理及应用试题班级姓名学号第3页3、(8分)假设有下面两个关系模式:院系(院系编号,院系名,负责人姓名,人数),其中院系编号为主码;课程(课程编号,课程名称,考试方式,开课院系编号),其中课程编号为主码,开课院系编号为外码;用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:(1)定义每个模式的主码。(2)定义参照完整性。(3)定义考试方式为“开卷”、“闭卷”或“报告”。五、综合题(10分)某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品;每个工厂聘用多名职工,且每名职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名。(1)试画出ER图;(2)将ER图转换成关系模型,并注明主码和外码。2008~2009学年秋季学期《数据库原理及应用》期末试题(A卷)参考答案及评分标准一、选择题(每题2分,共30分)1、C2、C3、D4、B5、C6、A7、B8、D9、B10、B11、B12、A13、D14、D15、A二、填空题(每空1分,共10分)1、数据定义语言2、实体3、datetime或smalldatetime4、职工名like‘刘%’5、(X,Y)和(X,Z)6、WHERE7、CREATEINDEX8、部分函数依赖、传递函数依赖9、无损连接三、简答题(8分)(1)FD={(职工名,项目名)→工资,项目名→部门名,部门名→部门经理}(3分)(2)候选码为(职工名,项目名)(1分)(3)因为存在非主属性部门名对码的部分函数依赖(2分)(4)R1={职工名,项目名,工资},R2={项目名,部门名}R3={部门名,部门经理}(2分)四、设计题(42分)1、(11分)使用关系代数表达式完成下列查询(5)(2分)查询名为“李雪”的顾客其顾客编号,住址及电话。πCNO,ADD,TEL(σCNAME=’李雪’(C))(6)(3分)查询购买商品名称为“激光打印机”的顾客编号。πCNO(σPNAME=’激光打印机’(PS))(7)(3分)查询没有顾客购买的商品编号。πPNO(P)-πPNO(S)(8)(3分)查询购买品牌为“HP”的全部产品的顾客编号。πCNO,PNO(S)÷πPNO(σTM=’HP’(P))2、(23分)使用SQL语言完成下列查询(11)(2分)查询名为“李雪”的顾客其顾客编号,住址及电话。SELECTCNO,ADD,TELFROMCWHERECNAME=’李雪’(12)(3分)查询购买商品名称为“激光打印机”的顾客编号。SELECTCNOFROMS,PWHERES.PNO=P.PNOANDPNAME=’激光打印机’(13)(2分)查询没有顾客购买的商品编号。SELECTPNOFROMPWHEREPNONOTIN(SELECTDISTINCTPNOFROMS)(14)(3分)查询购买品牌为“HP”的全部产品的顾客编号。SELECTCNOFROMCWHERENOTEXISTS(SELECT*FROMPWHERETM=’HP’ANDNOTEXISTS(SELCT*FROMSWHERES.CNO=C.CNOANDS.PNO=P.PNO));(15)(2分)查询购买商品数量在10件以上(包含10件)的顾客编号。SELECTCNOFROMSGROUPBYCNOHAVINGSUM(QTY)=10(16)(3分)统计每种商品的销售数量。要求输出商品编号和销售数量,结果按商品编号升序排列。SELECTPNO,SUM(QTY)FROMSGROUPBYPNOORDERBYPNO(17)(2分)往基本表C中插入一个顾客元组,编号为“2001001”,姓名为“张珊”,地址及电话为空值。INSERTINTOCVALUES(’2001001’,’张珊’,NULL,NULL);(18)(2分)在基本表S中删除销售日期为空值的元组。DELETEFROMSWHERESDATEISNULL;(19)(2分)把品牌为“HP”的所有产品的单价提高4%。UPDATESCSETPRICE=PRICE*1.04WHERETM=’HP’(20)(3分)将品牌为“HP”的商品编号、商品名称,单价定义为一个视图VIEW_HP。CREATEVIEWVIEW_HPASSELECTPNO,PNAME,PRICEFROMPWHERETM=’HP’3、(8分)表定义每个2分,4个约束每个1分CREATETABLE院系(院系编号CHAR(2)PRIMARYKEY,院系名CHAR(20),负责人姓名CHAR(10),人数INT);CREATETABLE课程(课程编号CHAR(6)PRIMARYKEY,课程