当前位置:文档之家› 数据库系统系统原理试卷(一)

数据库系统系统原理试卷(一)

R.A=S.A 数据库系统系统原理试卷(一)一、 选择题(20分,每小题2分)1. 要保证数据库逻辑数据独立性,需要修改的是: CA.模式B.模式与内模式的映射C.模式与外模式的映射D.内模式2.设关系R(A ,B ,C)和S(A ,D),与自然连接R S 等价的关系代数表达式是: DA.σR.A=S.A (R ×S)B. R SC. ∏R,A ,B.C,D (R ×S)D. ∏B,C,S.A,D (σR.A=S.A (R ×S))3. 若某关系R(A, B, C, D)有函数依赖AB →C, C →D, D →A ,那么R 的所有超键的数量是: DA.3B.4C.6D.74. 设关系R 和S 的结构相同,且各有100个元组,那么这两个关系的并操作结果的元组的个数为: BA.200B.小于等于200C.100D.小于等于1005. 与操作“AGE NOT BETWEEN 15 AND 20”等价的式子是: DA.AGE >= 15 AND AGE <= 20B.AGE <= 15 OR AGE >= 20C.AGE > 15 AND AGE < 20D.AGE < 15 OR AGE >206.关系prodsales(salesman,prodid,prodname,quantity,amount)表示销售员所销售商品情况:销售员、货号、品名、销售数量及销售金额。

一名销售员可销售多种商品,一种商品可由多名销售员销售。

该关系违背下列最低范式是: BA.1NFB.2NFC.3NFD.BCNF7. 在DB 技术,未提交的随后被撤消了的数据,称为: AA. 脏数据B. 报废的数据C.过时的数据D.撤消的数据8. 设有关系模式R(A,B,C),F 是R 上成立的函数依赖集,F={A →B ,C →B},将关系R分解为R1(A ,B)和R2(A ,C),则分解后的函数依赖集为: DA.依然保持原有的函数依赖集B.丢失了A →BC.丢失了B →CD.丢失了C →B9.在数据库中,如果有8个不同实体集,它们之间存在着10个不同的二元联系(二元关系是指两个不同实体集间的联系),其中4个1∶N 联系,6个M ∶N 联系,那么根据ER 模型转换成关系模型的规则,这个ER 结构转换成关系模式个数是: CA.8B.12C.14D.1810. 下面哪一种指令能撤销用户的授权: BA GrantB RevokeC CommitD Privilege二、填空题(10分,每小题2分)1. 数据按 外模式 的描述提供给用户,按内模式的描述存储在磁盘中,而概念模式提供了连接这两级的相对稳定的中间观点,并使得两级中任何一级的改变都不受另一级的牵制。

2. 判断一个并发调度是否正确,可用 并发事务的可串行化 概念来衡量。

3. 在SQL 语句中,与操作符“IN ”等价的操作符是 =SOME 。

4. 缓冲区管理程序是由DBMS 的 存储管理程序 实现的。

5. 在DBA 给予某用户权限时,为让该用户可向其他用户授权,应加上的授权语句为WITH GRANT OPTION 。

三、 名词解释(10分,每小题2分)1.级联:当删除或修改参照表的一个元组造成了与参照表的不一致,则删除或修改参照表中所有造成不一致的元祖。

[P .155]2.属性集的闭包:设F 为属性集U 上的一组函数依赖,X,Y ⊆ U ,X F + ={A|X →A 能由F 根据Armstrong 公理导出},X F + 称为属性集X 关于函数依赖集F 的闭包。

[p.184]3.最小函数依赖集:每一个函数依赖集F 均等价于一个极小函数依赖集F m 。

此F m 称为F 的最小依赖集。

[P .186]4.外连接:将舍弃的元祖也保存在结果关系中,而在其他属性上填空值(Null ),这种连接就叫做外连接。

[P .58]5.事务的持久性:指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。

接下来的其它操作或故障不应该对其执行结果有任何影响。

[P.279]四、简答题(20分,前面3小题,每小题4分,最后一小题8分)1. 设有关系R(A,B,C)和S(C,D,E),其元组如下所示:计算∏B,E,结果为:图A-1解:结果如图A-1所示。

2. DBMS 的完整性子系统主要功能是什么?解:DBMS 的完整性子系统主要功能有两个⑴ 监督事务的执行,并测试是否违反了完整性规则。

⑵ 若有违反则采取恰当的动作,如拒绝、报告违反情况、改正错误等方法来处理。

3. 设教学数据库中有三个基本表:S(SNO ,SNAME , AGE , SEX),其属性分别表示学号、学生姓名、年龄、性别。

C(CNO, CNAME, TEACHER),其属性分别表示课程号、课程名、上课教师名。

SC(SNO,CNO,GRADE),其属性分别表示学号、课程号、成绩。

试解释下列SQL语句的语义:CREATE ASSERTION ASSE8 CHECK(30>=ALL(SELECT COUNT(SC.SNO)FROM S,SCWHERE S.SNO=SC.SNOAND SEX=’F’GROUP BY CNO));解:这是一个断言,表示在关系S和SC中的数据应满足下列条件:每门课程中的女同学选修人数最多是30人。

(注意:不能写成“每一个女同学选修课程的门数最多是30门”)4.假设某商业集团数据库中有一关系模式R如下:R (商店编号,商品编号,数量,部门编号,负责人)如果规定:(1) 每个商店的每种商品只在一个部门销售;(2) 每个商店的每个部门只有一个负责人;(3) 每个商店的每种商品只有一个库存数量。

试回答下列问题:(1) 根据上述规定,写出关系模式R的基本函数依赖;(2) 找出关系模式R的候选码;(3) 试问关系模式R最高已经达到第几范式?为什么?解:⑴R的基本函数依赖为(商店编号,商品编号) →部门编号(商店编号,部门编号) →负责人(商店编号,商品编号) →数量⑵R的候选码是(商店编号,商品编号)⑶因为R中存在着非主属性“负责人”对候选码(商店编号、商品编号)的传递函数依赖,所以R属于2NF,R不属于3NF。

五、设计题(24分,每小题3分)现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分);学习(学号,课程号,分数) 用关系代数表达式实现下列1—4小题:1.检索获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;2.检索学习课程号为C2或C4的学生学号和姓名;3.检索至少学习课程号为C2和C4的学生信息,包括学号、姓名和专业;4.检索具有相同姓名的所有学生的信息,包括学号、姓名和专业。

用SQL语言实现下列5—8小题:5.检索没有获得奖学金的所有学生所学课程的信息,包括学号、姓名、课程名和分数;6.检索具有相同姓名的所有学生的信息,包括学号、姓名和专业;7.对成绩没有不及格的学生,如果已经获得奖学金的,将奖学金再增加5%;8.定义所学课程包含S3同学所学课程的学生学号的视图AAA。

解:1.∏学号,姓名,课程名,分数(σ奖学金>0 ( 学生课程学习) )2.∏课程号,名称( σ课号= OR 课号= ’C4 ’ ( 学生学习) )3.∏学号,姓名,专业( 学生s1.学号=学生.学号(σs1.课号= ’C2’ AND s2.课号=’C4’ AND s1.学号= s2.学号( ρs1(学习) ×ρs2( 学习) ) ) )4.∏学号,姓名,专业( σs1.学号<>s2.学号AND s1.姓名= s1.姓名( ρs1(学生ρs2 (学生) ) )5. SELECT学生.学号,姓名,课程,和分数FROM 学生,学习,课程WHERE 学生.学号=学习.学号 AND 学习. 课程号=课程.课程号 AND 奖学金>0;6. SELECT distinct s1.学号, s1.姓名, s1.专业FROM 学生 as s1,学生 as s2WHERE s1.学号< s2.学号 and s1.姓名<>s2.姓名7. UPDATE 学生SET 奖学金=奖学金*1.05WHERE 学号not IN(SELECT 学号FROM 学习WHERE 分数<60);8. CREATE VIEW AAAASSELECT DISTINCT 学号FROM 学习 AS XWHERE NOT EXISTS(SELECT *FROM 学习 AS YWHERE Y.SNO=’S3’ AND NOT EXISTS(SELECT *FROM 学习 AS ZWHERE Z.SNO=X.SNO AND O=O))六、综合题(16分,第1题4分,第2题3分,后面每小题3分)为某图书发行公司开发一个会员制网上图书订购数据库系统,该系统的基本需求如下:该公司分为多个下属部门(Department),如“社科部”,“文艺部”,“计算机部”等。

每个部门有若干销售员(Salesman),每个销售员有唯一的员工号(如“S0025”)和身份证号,也包含性别、出生日期、电话等信息。

一个销售员仅属于一个部门,且每个部门有一个销售员担任部门经理。

部门和人员可以动态调整。

1. 管理注册会员(Member):身份证号、姓名、性别、地址、邮编、电话等。

可注册新会员(只有会员才能参与订购图书),也可注销旧会员。

2. 管理所有销售的图书(Book):书名(如“数据库系统基础教程”等)、种类(如“计算机”等)、书号ISBN (如“7-302-03646-2等)、作者(也包括译者,如“史嘉权”)、出版社(如“清华大学出版社”)、定价等。

3. 一个销售订单(Salesorder)表示一笔销售业务。

每个订单有一个订单编号和签订日期,且对应一个会员和一个销售员(作为订单经办人)。

一个订单至少销售一种图书,每种图书应确定其销售数量和销售价格(销售价格通常低于定价),以计算销售金额。

按次序回答下列问题:1.用若干E/R图建立该系统的数据库模型。

为每个实体集确定其键属性,并确定每个联系的多重性。

注意弱实体集的表示。

解:E-R图如下:2.由E/R模型建立该系统的关系模式,并确定每个关系的主键和可能的外键。

注意各关系中的函数依赖和多值依赖,并使你的关系能符合更高范式。

解:数据库模式Dpartment(id,name,head_id,desc)Salesman(empid,name,idNo,gender,birthdate,phone,dept_id)Menber(memid,name,idno,gander,address,phone)Book(bName,type,ISBN,Author,publisher,price)Sales_order(order#,signdate,sales_id,memid)Sales_item(order#,line#,ISBN,quantity,single_price)外键Dpartment(head_id) →Salesman(empid)Salesman(dept_id) →Dpartment(dept_id)Sales_order(sales_id) →Salesman(empid)Sales_order(memid) →Member(id)Sales_item(order#) →Sales_order(order#)Sales_item(ISBN) →Book(ISBN)3. 使用SQL语言完成下面的计算:1) 计算2001年12月签订的所有订单的订单号、签单日期、销售数量和销售金额,并按销售金额从小到大排列。

相关主题