中央广播电视大学2001—2002学年度第一学期“开放本科”期末考试计算机专业数据库系统概论试题 王新兰2004-03-06 15:48 中央广播电视大学2001—2002学年度第一学期“开放本科”期末考试 计算机专业数据库系统概论试题 2002年1月 一、(每小题4分,共12分) 用SQL语言定义 1)学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD; 2)课程关系C,包括课程号CNo、课程名CN、学分CC; 3)学生选课关系SC,包括SNo、CNo和成绩G。 注意:说明主键码和外键码(如果有的话)。 二、(每小题4分,共12分) 按题1的关系模式,用SQL语言 1)对于学生选课关系SC,授予李小兰删除权限以及对SNo和CNo的修改权限; 2)删除学号为"9900205”的学生; 3)从学生选课关系SC中,删除王云(学生关系中可能有重名)的所有选课。 三、(共6分) 结合题1的关系模式,用SQL语句查询每个学生的总成绩,输出学号和总成绩,输出时按总成绩排序(升序),若总成绩相同,再按学号排序(降序)。 四、(共6分) 按嵌入式SQL的格式插入任一个商品的商品号、商品名、价格。 五、(每小题4分,共8分) 有关工厂生产产品的数据库,涉及如下数据: 工厂号、工厂名称、地址; 产品号、产品名称、成本; 某工厂生产某产品的数量和日期。 1)设计E/R图; 2)转换成关系模型。 六、(每小题6分,共12分) 有关图书发行的关系模型如下: 书店S(书店号SNo,书店名SN,地址A) 图书B(书号BNo,书名T,作者N,价格P) 图书馆L(馆号LNo,馆名LN,城市C) 图书发行SBL(SNo,LNo,BNo,发行量Q) 分别用1)关系代数和2)SQL语言表达如下查询: “上海图书馆”(馆名)收藏图书的书名和出售该书的书店名。 七、(第1小题4分,第2小题8分,共12分) 图书管理数据库关系模型如下: 图书B(书号BN,书名T,作者A)  学生S(姓名N,班级C,借书证号LN)  借书L(1射,BN,日期D)  查询:2002. 1.1(20020101)以前借书的学生姓名和书名。  要求:1)以笛卡尔积为基础表达查询; 2)用关系代数中两个不同的等价变换规则对查询表达式进行优化(做其中二、三步即可)。 八、(每小题4分,共8分) 按题1的学生关系模式,找出不是既大于20岁又属于计算机系的学生。 1)用关系代数表达式表达查询; 2)用数据逻辑规则表达查询。 九、(每小题6分,共12分)  涉及到学生、教师和课程的关系模式STC(SNo,SN,SA,TN,CN,G),其中6个属性分别为学生的学号、姓名、年龄、教师的姓名、课程名以及学生的成绩。假设学生有重名,课程名也可能有重名。又假设每个教师只教一门课,但一门课可有几个教师开设。当某个学生选定某门课后,其上课教师就固定了。  1)写出键码和函数依赖; 2)分解关系模式使之属于BC范式。 十、(每小题6分,共12分) 电影数据库涉及如下数据: 电影类包括电影名、制作年份等属性; 演员类包括姓名、性别等属性; 每部电影都可能有多个演员出演,而每个演员都可能出演多部电影。 1)用ODL给出类的说明(包括范围名); 2)用0QL查询演员孙小华所出演电影的电影名。 答案及评分标准 —、(每小题4分,共12分) 1 ) CREATE TABLE SI SNo INT PRIMARY KEY, SN CHAR(30), SA INT, SD CHAR(20) }; 2) CREATE TABLE C{ CNo INT PRIMARY KEY, CN CHAR (20), CC INT }; 3 ) CREATE TABLE SC { SNo INT, CNo INT, G INT, PRIMARY KEY( SNo, CNo),  FOREIGN KEY(SNo) REFERENCES S( SNo),  FOREIGN KEY(CNo) REFERENCES C(CNo) }; 二、(每小题4分,共12分) 1) GRANT DELETE, UPDATE( SNo, CNo) ON SC TO 李小兰; 2) DELETE FROM S WHERE Sno = 9900205; 3) DELETE FROM SC WHERE SNo IN ( SELECT SNo FROM S WHERE SN = ‘王云’  ); 三、(共6分) SELECT SNo ,SUM(G) FROM SC  GROUP BY SNo  ORDER BY SUM(G), SNo DESC 四、(共6分)  1) 说明: EXEC SQL BEGIN DECLARE SECTION; int pno; char pn [ 30 ]; float pp [ 1 ]; char SQISTATE [ 6 ]; EXEC SQL END DECLARE SECTION;  2) 赋值: pno: = 20010101; pn: ‘巧克力’; pp: =5.00;  3) 插入: EXEC SQL INSERT INTO P VALUES (: pno,: pn,: pp); 五、(每小题4分,共8分) 2)工厂(工厂号,工厂名,地址)  产品(产品号,产品名,单价) 生产(工厂号,产品号,数量,日期) 六、(每小题6分,共12分) 2) SELECT T, SN FROM L,SBL,B,S WHERE L. LNo = SBL. LNo AND SBL. BNo = B. BNo  AND SBL. SNo = S. SNo  AND L. LN =‘上海图书馆’ 七、(第1小题4分,第2小题8分,共12分) 2)  a)利用选择与投影的交换律   b)利用选择的交换律  交换,得到   c)利用选择对笛卡儿积的分配律  得到  d)利用投影串接律   e)利用选择的串接律   f)再利用选择对笛卡儿积的分配律  得到  g)利用选择与投影的申接律   h)…… (取其中二步即可) 八、(每小题4分,共8分) 九、(每小题6分,共12分) 十、(每小题6分,共12分) 1 ) interface Movie ( extent Movies) { attribute string' title ; attribute integer year; relationship Set < Act > atcs  inverse Act:: starredIn; }; inteface Act ( extent Acts) { attribute string name; attribute char sex; relationship Set 〈 Movie 〉 starredIn inverse Movie:: acts; }; 2) SELECT m. title FROM Acts a, a. starredIn m WHERE a. name =‘孙小华’;