您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 数据库系统模拟试卷1
南京理工大学成人教育学院数据库系统模拟试卷1一、选择题(20分,每小题2分)1.关于联系的多重性,下面哪种说法不正确?A.一个多对多的联系中允许多对一的情形。B.一个多对多的联系中允许一对一的情形。C.一个多对一的联系中允许一对一的情形。D.一个多对一的联系中允许多对多的情形。2.某关系R(A,B,C,D)有函数依赖A→B,BC→D,D→A,R有几个键?A.1B.2C.3D.43.有关系R和S,R∩S的运算等价于A.S-(R-S)B.R-(R-S)C.(R-S)∪SD.R∪(R-S)4.为了使索引键的值在基本表中唯一,在建立索引的语句中应使用保留字为:A.UNIQUEB.COUNTC.DISTINCTD.UNION5.由函数依赖A→B和CB,有A→C。此规则是:A.合并规则B.平凡依赖规则C.传递规则D.分解规则6.对数据库并发操作有可能带来的问题包括:A.未被授权的用户非法存取数据B.带来数据的冗余C.破坏数据独立性D.读出“脏数据”7.关系Starsin(StarName,MovieName,MovieYear,StarAddress)描述影星姓名、电影名称、电影拍摄的年份和影星居住的地址。假设一位影星可有多个地址且可拍摄多部电影,那么该关系满足最大范式是:A.2NFB.3NFC.BCNFD.4NF8.SQL的全局约束是指基于元组的检查子句和A.非空值约束B.断言C.域约束子句D.外键子句9.SQL中,下列叙述中不正确的是A.SELECT语句查询结果中不允许有重复元组B.在FROM子句中可嵌有一个SELECT语句C.在WHERE子句中可嵌入有一个SELECT子句D.“NOTIN”操作与“ALL”操作等价10.设关系模式R(A,B,C),F是R上的函数依赖集,F={A→B,B→C}那么F在模式AB上的投影πAB(F)为A.{A→B,B→C}B.{A→B}C.{AB→C}D.Φ(即不存在非平凡的函数依赖集)二、填空题(10分,每小题2分)1.数据操作是指对DB的查询和___________两大类操作。2.实体完整性约束规则是对______________约束。3.SQL语言有两种使用方式:交互式和__________。4.函数依赖完备的推理规则集包括:自反律、________、传递律。5.事务的原子性是有DBMS的_________实现的。三、名词解释(10分,每小题2分)1.弱实体集2.非平凡多值依赖3.参照完整性约束4.授权5.事务的原子性四、简答题(20分,每小题4分)1.设有关系R(A,B,C)和S(C,D,E),其元组如下所示:计算∏B,E(RA=DS),结果为:2.简述将违背BCNF的函数依赖分解成满足BCNF函数依赖的算法。3.设教学数据库中有三个基本表:S(SNO,SNAME,AGE,SEX),其属性分别表示学号、学生姓名、年龄、性别。C(CNO,CNAME,TEACHER),其属性分别表示课程号、课程名、上课教师名。SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。有如下SQL查询语句:SELECTSNOFROMSWHERENOTEXISTS(SELECT*FROMSCSC1,CWHERESC1.CNO=C.CNOANDSC1.SNO='S3'ANDNOTEXISTS(SELECT*FROMSCWHERES.SNO=SC.SNOANDC.CNO=SC.CNO))请完成下列问题:用汉语句子描述出该SQL语句所表示的查询。4.设有关系模式R(A,B,C,D,E),F是R上成立的函数依赖集,F={ABC→DE,BC→D,D→E},试问R达到第几范式,并说明理由。5.举例说明ER模型中实体之间M:N联系转换成关系数据模型的方法是什么?五、设计题(24分,每小题3分)现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)ABC368279187CDE452876365612用关系代数表达式实现下列1—4小题:1.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;2.检索学生“黎明”所学课程中有不及格课程的课程号、名称和分数;3.检索获得奖学金、同时又有不及格成绩的学生信息,包括学号、姓名和专业;4.检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业。用SQL语言实现下列5—8小题:5.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;6.检索没有任何一门课程成绩超过90分的所有学生的信息,包括学号、姓名和专业;7.对成绩有过不及格的学生,如果已经获得奖学金的,将奖学金减半;8.定义获得奖学金、同时只有一门课程不及格成绩的学生信息视图AAA,包括学号、姓名、专业。六、综合题(16分,第1题4分,第2题3分,后面每小题3分)为某大型销售公司构作一个简单的销售业务数据库系统,该系统至少应管理以下内容:1.该公司分为多个下属部门(Department),如“江苏销售部”,“上海销售部”等。每个部门有若干销售员(Salesmen),每个销售员有唯一的员工号(如“S0025”)和身份证号,也包含性别、出生年月、电话等信息。一个销售员仅属于一个部门,且每个部门有一个销售员担任部门经理。2.该系统应管理一组客户(Customer):名称、省、市、单位名称、电话等。3.系统应管理所有销售的商品:制造商(如“春兰”、“海尔”等)、种类(如“摩托车”、“空调机”等)、规格(如“MT125”摩托车、“RE1500”型空调等)、功能及性能描述。4.该系统用销售订单(Salesorder)表示销售业务。每个订单有一个订单号和签订日期,且对应一个客户和一个销售员。一个订单至少销售一种产品,并可销售多种产品,每种产品应确定其销售数量和单价,并计算销售金额。回答下列问题:1.用若干E-R图建立该系统的数据库模型。2.由数据库模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。注意各关系中的函数依赖和多值依赖,并使你的关系能符合更高的范式。3.使用SQL语言完成下面计算:⑴求销售金额最大的订单号及其销售金额。(注意利用已有查询定义视图)⑵求每个销售的员工号、姓名及其销售金额。(注意外连接的使用)⑶求员工号为“S0025”的销售员的部门经理的员工号及其姓名。参考答案:一、选择题(20分,每小题2分)1.D2.C3.B4.A5.C6.D7.C8.B9.A10.B二、填空题(10分,每小题2分)1.更新2.主键3.嵌入式4.增广律5.事务管理程序三、名词解释(10分,每小题2分)1.组成一个实体集键码的属性中的一些或全部属于另一个实体集。2.⑴B中的属性都不在A中⑵A和B不包含R的所有属性。则关系R的多值依赖A→→B是非平凡的。3.要求形成参照关系的两个实体集中,参照实体的外键取值必须是被参照的实体中键的值,即参照实体的外键取值不能是被参照实体没有的键值。4.用GRANT语句把数据库的操作权限授予指定的用户。5.事务中包括的所有操作要么都做,要么都不做。四、简答题(10分)1.2.⑴找一个违背BCNF的非平凡函数依赖A1A2…An→B1B2…Bm。⑵把关系R分解成两个关系:R1(A1,A2,…,An,B1,B2,…,Bm);R2(A1,A2,…,An,所有其它属性),若不满足BC范式,则再分解。3.找出至少与学号为“S3”同学所学习的课程相同的所有同学的学号。4.{ABC}+={ABCDE}且{AB}+={AB}、{AC}+={AC}及{BC}+={BCDE},所以ABC是键。又BC是键码真子集,所以它违背2NF,故该关系模式只满足1NF。5.设工厂里产品与零件之间有M:N联系,其ER图如图所示:产品构成零件MN产品号产品名规格数量零件号零件名库存量注意:对于关系“构成”的属性“数量”的语义要清楚。其语义是,某一产品组成时需要的某种零件的数量,而不是某一产品需要多少零件。把这个ER图转换成关系模型的方法(过程)如下:⑴把每个实体类型转换为表,实体的键,即为表的键。产品(产品号,产品名,规格)零件(零件号,零件名,库存量)⑵由于关系是M:N,两端实体的键合起来作为表的主键,而这两端实体的键分别表的外键,其结构如下:BE7261构成(产品号,零件号,数量)五、设计题(24分,每小题3分)1.∏学号,姓名,课程名,分数(σ奖学金0(学生课程学习))2.∏课程号,名称,分数(σ姓名=’黎明’∧分数60(学生课程学习))3.∏学号,姓名,专业(σ奖学金0AND分数60(学生学习))4.∏学号,姓名,专业(学生)-∏学号,姓名,专业(σ分数90(学生学习))5.SELECT学生.学号,姓名,课程,和分数FROM学生,学习,课程WHERE学生.学号=学习.学号AND学习.课程号=课程.课程号AND奖学金0;6.SELECT学号,姓名,专业FROM学生WHERE学号NOTIN(SELECT学号FROM学习WHERE分数90)7.UPDATE学生SET奖学金=奖学金/2WHERE学号IN(SELECT学号FROM学习WHERE分数60)8.CREATEVIEWAAAASSELECT学号,姓名,专业FROM学生WHERE奖学金0AND学号in(SELECT学号FROM学习WHERE分数60Groupby学号Havingcount(*)=1)六、综合题(16分,第1题4分,第2题3分,后面每小题3分)1.DepartmennamedeptidSalesmanidnoempidnameganderbirthphoneasheaderworksforCustomernamecustidprovcityphoneunitSalesordersalesforsigndateordernounitofSalesitemProductcontainslinenosalescostquartityfactoryprodiddescpricespectype2.数据库模式Department(id,name,head_id,desc)Salesman(empid,name,idNo,gender,birthdate,phone,dept_id)Customer(id,name,prov,city,unit_name,phone)Product(manufactory,type,spec,desc)Sales_order(order#,signdate,sales_id,cust_id)Sales_item(order#,line#,manufactory,type,spec,quantity,single_price)外键Dpartment(headid)→Salesman(empid)Salesman(dept_id)→Department(id)Sales_order(sales_id)→Salesman(empid)Sales_order(cust_id)→Customer(id)Sales_item(order#)→Sales_order(order#)Sales_item(manufactory,type,spec)→Product(manufactory,type,spec)3.⑴先定义视图V1createviewV1asselectsales_order.order#,signdate,sum(quantity)asqty,sum(quantity*single_price)asCOSTfromsales_orderkeyjoinitemgroupbysales_order.order#,signdateorderbycosedesc再计算selectorder#fromV1wherecost=(selectmax(cost)fromV1)⑵selectempid,name,sum(quantity*single_price)ascostfromSalesman,leftOuterjoin(Sale
本文标题:数据库系统模拟试卷1
链接地址:https://www.777doc.com/doc-2333172 .html