《数据库复习题(4页).doc》由会员分享,可在线阅读,更多相关《数据库复习题(4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-三、应用题设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名 课程:编号、课程名、开课单位、任课教师号 教师:教师号、姓名、性别、职称、讲授课程编号 单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:(1)一个学生可选修多门课程,一门课程可为多个学生选修;(2)一个教师可讲授多门课程,一门课程可为多个教师讲授;(3)一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1)分别设计学生选课和教师任课两个局部信息的结构E-R图。(2)将上述设计完成的E-R图合并成一个全局E-R图。(3)将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。解:(1)学生选课
2、、教师任课局部E-R图如下所示。单位名开课单位课程学生11mmnm拥有教师号选修姓名学号课程名编号年龄性别学生选课局部E-R图年龄性别姓名教师号课程nm讲授编号m属于1教师单位单位名电话教师授课局部E-R图(2)合并后的全局E-R图如下所示。属于单位课程学生教师111mmmnnmm开课讲授拥有选修全局E-R图为避免图形复杂,下面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程号(3)该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学
3、生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)2、工厂(包括厂名,厂长名)需建立一管理数据库存贮以下信息:一个厂内有多个车间,每个车间有车间号、主任姓名、地址、电话;一个车间有多个工人,每个工人有职工号、姓名、年龄、性别、工种;一个车间生产多种产品,产品有产品号、价格;一个车间生产多种零件,一种零件也可能为多个车间制造,零件有零件号、重量、价格;一种产品由多种零件组成,一种零件也可装配到多种产品中;产品与零件均存入仓库中;厂内有多个仓库,仓库有仓库号、主任姓名、电话。试(1)画出该系统的实体-联系模型E-R图。 (2)给出相应的关系数据模型。(1)检索“程军
4、”老师所授课程的课程号(C#)和课程名(CNAME)。 (2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。 (3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。 (4)检索”李强”同学不学课程的课程号(C#)。 (5)检索至少选修两门课程的学生学号(S#)。 (6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。 (7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。 解:本题各个查询语句对应的关系代数表达式表示如下:(1). C#,CNAME(TEACHER=程军(C) (2). S#,SNAME(AGE21SEX=”男”(C) (3
5、). SNAMEswv S#,C#(sc)C#(TEACHER=程军(C) (4). C#(C)- C#(SNAME=李强(S) wv SC) (5). S#(1=425 (SC SC)(6). C#,CNAME(Cwv (S#,C#(sc)S#(S) (7). S#(SCwv C#(TEACHER=程军(C) 现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列14小题:1.检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。2.检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分
6、数;3.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业;用SQL语言实现下列58小题:5.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;6.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业;7.从学生表中删除成绩出现过0分的所有学生信息;8.定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。1.学号,姓名,课程名,分数(专业=英语(学生学习课程) 2.学号,姓名,专业,分数(分数90名称=数据库原理(学生学习课程) 3.学号,姓
7、名,专业(学生)-学号,姓名,专业(课程号=C135(学生学习) 4.学号,姓名,专业(学生)-学号,姓名,专业(分数60(学生学习) 用SQL语言实现下列58小题: 5.SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 NOT IN (SELECT 学号 FROM 学习 WHERE 课程号=C135) 6.SELECT 学号,姓名,专业 FROM 学生 WHERE 学号 IN (SELECT X. 学号 FROM 学习 AS X, 学习AS Y WHERE X.学号=Y.学号 AND X.课程号=C135 AND X 课程号=C219) 7.DELETE FROM 学生 WHERE 学号 IN (SELECT 学号 FROM 学习 WHERE 分数=0) 8.CREATE VIEW AAA(学号,姓名,课程号,分数) AS SELECT 学号,姓名,课程号,分数 FROM 学生,学习 WHERE 学生.学号 =学习.学号 AND 专业=英语-第 4 页-
限制150内