首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和E-R图,回答问题。 【说明】 某高校要设计一个教学管理数据库系统。通过调查,设计者了解到学生每学期按照事先安排的课程计划开始学习。每门课程由一名教师讲授;一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过考试,
阅读以下说明和E-R图,回答问题。 【说明】 某高校要设计一个教学管理数据库系统。通过调查,设计者了解到学生每学期按照事先安排的课程计划开始学习。每门课程由一名教师讲授;一个教师可以讲授多门课程;每名学生可以选修多门课程;学期结束后通过考试,
admin
2010-01-15
51
问题
阅读以下说明和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://kaotiyun.com/show/XcDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
以下用例图中,A1和A2为(47)。A1和A2的关系为(48)。(47)
关于汇编语言,以下叙述中正确的是(20)。
关于软件著作权产生的时间,表述正确的是(10)。
为了解系统在何种服务级别下会崩溃,应进行___________。
下述说法错误的是(46)。
对于下面的有向图,其邻接矩阵是一个①的矩阵。采用邻接链表存储时,顶点0的表结点个数为2,顶点3的表结点个数为0,顶点1的表结点个数为②个。①处应填入?
某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为________________天。活动FG的松弛时间为________________天。
下图所示的二叉树进行顺序存储(根结点编号为1,对于编号为i的结点,其左孩子结点为2i,右孩子结点为2i+1)并用一维数组BT来表示,已知结点X、E和D在数组BT中的下标为分别为1、2、3,可推出结点G、K和H在数组BT中的下标分别为____________
若一个单处理器的计算机系统中同时存在3个并发进程,则同一时刻允许占用处理器的进程数________________。
一个程序的控制流图中有8个节点、12条边。在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是________________。
随机试题
肺通气是指
用于治疗老龄患畜肠燥便秘的方剂是
关于队列研究,下列哪项是正确的
全国人大常委会全体委员有多少人出席会议时,召开会议才是合法有效的?()
依据《安全生产法》的规定,生产经营单位新建、改建或扩建的工程项目中的安全设施是否符合要求,是确保安全生产和从业人员人身安全和健康的()。
一般存款账户不能办理现金支取。()
甲公司有关债券投资业务如下:(1)2012年初,甲公司从活跃市场购买了一项乙公司当日发行钓债券,年限5年,到期日为2016年12月31日。债券的面值1000万元,实际支付价款为1089.04万元(含交易费用为9.04万元),每年年末按票面利率6%支付利息
选项四个图形中,只有一个是由题干四个图形拼合而成的,请选出来。()
(2011年卷一第7题)下列请求书中的实用新型名称哪些不符合相关规定?
Researchnowsuggestscompaniesthattrytomakeemployeeshappycouldbenefitfromimprovedlevelsofproductivity.WhereSloug
最新回复
(
0
)