数据库复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

三、应用题设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:(1).一个学生可选修多门课程,一门课程可为多个学生选修;(2).一个教师可讲授多门课程,一门课程可为多个教师讲授;(3).一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1).分别设计学生选课和教师任课两个局部信息的结构E-R图。(2).将上述设计完成的E-R图合并成一个全局E-R图。(3).将该全局E-R图转换为等价的关系模型表示的数据库逻辑结构。解:(1).学生选课、教师任课局部E-R图如下所示。开课单位课程选修学生拥有姓名性别学号课程名教师号编号单位名年龄11mmnm学生选课局部E-R图教师课程讲授单位属于单位名电话编号姓名性别教师号年龄mnm1教师授课局部E-R图(2).合并后的全局E-R图如下所示。为避免图形复杂,下面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程号(3).该全局E-R图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)2、工厂(包括厂名,厂长名)需建立一管理数据库存贮以下信息:一个厂内有多个车间,每个车间有车间号、主任姓名、地址、电话;一个车间有多个工人,每个工人有职工号、姓名、年龄、性别、工种;一个车间生产多种产品,产品有产品号、价格;一个车间生产多种零件,一种零件也可能为多个车间制造,零件有零件号、重量、价格;一种产品由多种零件组成,一种零件也可装配到多种产品中;产品与零件均存入仓库中;厂内有多个仓库,仓库有仓库号、主任姓名、电话。试(1)画出该系统的实体-联系模型E-R图。属于单位课程选修学生拥有教师开课讲授111mmmnnmm全局E-R图(2)给出相应的关系数据模型。(1)检索“程军”老师所授课程的课程号(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(σAGE21∧SEX=”男”(C))(3).∏SNAME{s[∏S#,C#(sc)÷∏C#(σTEACHER=‘程军’(C))]}(4).∏C#(C)-∏C#(σSNAME=‘李强’(S)SC)(5).∏S#(σ[1]=[4]∧[2]≠[5](SC×SC))(6).∏C#,CNAME(C(∏S#,C#(sc)÷∏S#(S)))(7).∏S#(SC∏C#(σTEACHER=‘程军’(C)))现有关系数据库如下:学生(学号,姓名,性别,专业,奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)用关系代数表达式实现下列1—4小题:1.检索“英语”专业学生所学课程的信息,包括学号、姓名、课程名和分数。2.检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数;3.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;4.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业;用SQL语言实现下列5—8小题:5.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业;6.检索至少学过课程号为“C135”和“C219”的学生信息,包括学号、姓名和专业;7.从学生表中删除成绩出现过0分的所有学生信息;8.定义“英语”专业学生所学课程的信息视图AAA,包括学号、姓名、课程号和分数。1.П学号,姓名,课程名,分数(σ专业='英语'(学生∞学习∞课程))2.П学号,姓名,专业,分数(σ分数90∧名称='数据库原理'(学生∞学习∞课程))3.П学号,姓名,专业(学生)-П学号,姓名,专业(σ课程号='C135'(学生∞学习))4.П学号,姓名,专业(学生)-П学号,姓名,专业(σ分数60(学生∞学习))用SQL语言实现下列5—8小题:5.SELECT学号,姓名,专业FROM学生WHERE学号NOTIN(SELECT学号FROM学习WHERE课程号='C135')6.SELECT学号,姓名,专业FROM学生WHERE学号IN(SELECTX.学号FROM学习ASX,学习ASYWHEREX.学号=Y.学号ANDX.课程号='C135'ANDX课程号=’C219’)7.DELETEFROM学生WHERE学号IN(SELECT学号FROM学习WHERE分数=0)8.CREATEVIEWAAA(学号,姓名,课程号,分数)ASSELECT学号,姓名,课程号,分数FROM学生,学习WHERE学生.学号=学习.学号AND专业=’英语’

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功