首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和E-R图,回答问题。 【说明】 某高校要设计一个教学管理数据库系统。通过调查,设计者了解到学生每学期按照事先安排的课程计划开始学习。每门课程由一名教师讲授;一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过考试,
阅读以下说明和E-R图,回答问题。 【说明】 某高校要设计一个教学管理数据库系统。通过调查,设计者了解到学生每学期按照事先安排的课程计划开始学习。每门课程由一名教师讲授;一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过考试,
admin
2010-01-15
50
问题
阅读以下说明和E-R图,回答问题。
【说明】
某高校要设计一个教学管理数据库系统。通过调查,设计者了解到学生每学期按照事先安排的课程计划开始学习。每门课程由一名教师讲授;一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过考试,教师登记每门课程、每名学生的成绩,并得到确认后存档。
数据库工程师风清扬设计了如图13-20所示的E-R图。
【问题1】
把该E-R图中的实体和联系转化为相应的关系模式,并指出其主码、候选码以及外码(若无外码也须指出)。
【问题2】
现要查询出所有的没有学生选修的课程的全部信息,请写出相应的SQL语句。注意,要查询出符合条件的课程的全部信息。
【问题3】
现要查询出所有选修了教师号为’001’的老师所授课程的学生的学号与姓名,请写出相应的SQL语句。
选项
答案
[问题1] 方案1: 教师(教师号,姓名,性别,职称,系别)主码:教师号;候选码:教师号;无外码 学生(学号,姓名,性别,班级)主码:学号;候选码:学号;无外码 课程(课程号,名称,学时,学分,教师号)主码:课程号;候选码:课程号;外码:教师号 选修(学号,课程号,成绩)主码:(学号,课程号);候选码:(学号,课程号);外码:学号,课程号 方案2: 教师(教师号,姓名,性别,职称,系别)主码:教师号;候选码:教师号;无外码 学生(学号,姓名,性别,班级)主码:学号;候选码:学号;无外码 课程(课程号,名称,学时,学分)主码:课程号;候选码:课程号;无外码 讲授(课程号,教师号)主码:课程号;候选码:课程号;外码:教师号 选修(学号,课程号,成绩)主码:(学号,课程号);候选码:(学号,课程号);外码:学号,课程号 [问题2] SELECT * FROM C WHERE NOT EXISTS(SELECT Cno FROM SC WHERE SC.Cno=C.Cno)或 SELECT * FROM C WHERE Cno NOT IN(SELECT Cno FROM SC WHERE SC.Cno=C.Cno) 注:C、S、SC、Cno、Sno、Tno分别表示课程表、学生表、选修表、课程号、学号、教师号。亦可直接用汉字表示。其中的*可以用C的全部属性来表示。 [问题3] SELECT Sno,Sname FROM S,C,SC WHERE S.Sno=SC.Sno AND C.Cno=SC.Cno AND C.Tno=’001’或 SELECT Sno, Sname FROM S WHERE sno IN(SELECT sno FROM SC WHERE cno IN(SELECT eno FROM C WHERE tno=’001’)) 注:C、S、SC、Cno、Sno、Sname、Tno分别表示课程表、学生表、选修表、课程号、学号、学生姓名、教师号。亦可直接用汉字表示。
解析
能推导出全部属性而且没有多余属性的属性组称为候选码。若候选码多于一个,则选定其中的一个为主码。在数据库设计中,对于一般的关系模式用“编号”作为主码,如在学生关系模式中用学号作为其主码。
关系模型的逻辑结构是一组关系模式的集合。E-R图是由实体、实体的属性和实体之间的联系三个要素组成的。将E-R图中的实体、实体之间的联系转换为关系模式,一般遵循如下原则:
一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体的联系,有以下几种不同的情况:
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对.应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系体本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(4)三个或三个以上实体间的以上多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
由于教师和课程之间是1对多的关系,因此可以把讲授联系合并到课程中去。而学生与课程是多对多的关系,所以要把选修联系独立作为一个关系表。
关系模式R中的属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,也称外码。例如,有关系模式:S(学号,姓名,年龄,系号)、D(系号,系名,宿舍号),那么“学号”是S的主键,“系号”是S的外码。
该题中,选修关系模式的主码是学号和课程号的组合,而其中的学号是学生表的主码,却不是选修表中的主码,所以学号是外码。课程号是课程表的主码,却不是选修表中的主码,所以课程表也是外码。
问题2比较简单,在SC中可以找到选修的全部课程,要想查询没有学生选修的课程,只要用谓词NOT EXISTS或NOT IN进行判断即可。因此,实现该查询的SQL语句可写成:
SELECT * FROM C WHERE NOT EXISTS(SELECT Cno FROM SC WHERE SC.Cno=C.Cno)或
SELECT * FROM C WHERE Cno NOT IN(SELECT Cno FROM SC WHERE SC.Cno=C.Cno)其中C、S、SC、Cno、Sno、Tno分别表示课程表、学生表、选修表、课程号、学号、教师号。前一条SQL语句中的两个SELECT语句的关系类似于双层循环,第1个SELECT是外层循环,此SELECT每扫描一条记录,内层的SELECT Cno FROM SC WHERE SC. Cno=C.Cno执行一次,例如,现在的外层SELECT扫描到的记录的Cno=’001’,则内层的语句为:SELECT Cno FROM SC WHERE SC.Cno=’001’,这样实际是在SC中查找有没有关于’001’号课程的选课记录,如果没有,则NOT EXISTS(…)成立,输出记录。
问题3中的查询涉及到学生、教师、选修三个表中的属性,显然要进行连接查询:
SELECT Sno, Sname FROM S, C, SC
WHERE S.Sno=SC.Sno AND C.Cmo SC.Cno AND C.Tno=’001’这里是把三个表用WHERE关联起来进行查询。或写成三层嵌套的形式:
SELECT Sno, Shame FROM S
WHERE sno IN(SELECT sno FROM SC WHERE eno IN(SELECT cno FROM C WHERE tno=,001,))
首先最内层的(SELECT cno FROM C WHERE tno=’001’)找出’001’号教师所授课程的课程号,再在SC中根据课程号找出选了这些课程的学生学号,最后根据学号在S中查找出学生的学号和姓名。
转载请注明原文地址:https://www.kaotiyun.com/show/XcDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑(33)在关键路径上。活动GH的松弛时间是(34)。(34)
针对用户手册的测试,(43)描述不正确。
在软件维护阶段,将专用报表功能改成通用报表功能,以适应将来可能的报表格式变化,则该维护类型为()维护。
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。①处应填入?
设数组a[1..10,1..8]中的元素按行存放,每个元素占用4个存储单元,已知第一个数组元素a[1,1]的地址为1004,那么a[5,6]的地址为________________。
针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件覆盖的要求。IF((A-10)=20AND(B+20)>10)THENC=0IP((A-30)<10AND(B-30)<0)THENB=30①A=5
ISO/IEC9126《软件工程产品质量》统一了多种质量模型。其中,下述关于软件使用质量的描述,不正确的是______。A.它测量用户在特定环境中能达到其目标的程度,不是测量软件自身的属性B.使用质量的属性分为4个特性:有效性、生产率、安全性和满意度
计算机采用分级存储体系的主要目的是为了解决()的问题。
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入输出数据说明:开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是(23)。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
随机试题
∫sin2xdx=()
A.宗气内虚B.宗气外泄C.心肺气绝D.心阳不足按虚里穴,其搏动应衣,为
戴无菌手套时,只允许没戴手套的手接触
甲国为发达国家,乙国为发展中国家。根据国际环境法原则和规则,关于温室气体的排放,下列哪一选项是正确的?()
某市检察院以刘某犯有抢劫罪向市中级法院提起公诉,法院受理后认为该案不需要判处无期徒刑以上刑罚。对此案,该法院下列做法中正确的是:(2003—卷二—94,任)
当工业管道管径不变时,沿程阻力系数A在光滑区随粗糙度的增加而()。
在()情况下,熊市套利可以获利。
中华全国学生联合会是“五四”运动的直接产物。()
设A=(α1,α2,α3),B=(β1,β2,β2)都是3阶矩阵.规定3阶矩阵证明C可逆的充分必要条件是A,B都可逆.
A、Towritethreethemesononetopic.B、Tolengthenthepapertothreetimesaslong.C、Tofinishthepapersonebyone.D、Tose
最新回复
(
0
)