数据库 考试大题_第1页
数据库 考试大题_第2页
数据库 考试大题_第3页
数据库 考试大题_第4页
数据库 考试大题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、前提条件教育管理规定:一个学生可以选择多门课,一门课可以选择几门学生一个教师能教多门课,一门课只能教一个教师一个学生修一门课,只有一门成绩。学生属性有学号,有学生名称的教师属性有教师号码,有教师名称的课程属性有课程号码,课程名称。要求:根据上述意思画ER图,在图中画实体属性,注明联系的类型答案:三、应用问题:具有以下关系S(S#、SNAME、AGE、SEX )、C(C#、CNAME、TEACHER )和SC(S#、C#、GRADE ),并尝试关系代数表达式来表示下一个查询语句(1)检索“程军”老师授予的课程的课程编号(C#和课程名称(CNAME )。(2)检索年龄超过21的男生的学号(S# )

2、和名字(SNAME )。(3)检索至少“程军”老师授予的所有课程的学生名称(SNAME )。(4)检索“李强”学生不学习课程号码(C# )。(5)选择至少两门课程检索学生的学号(S# )。(6)检索所有学生选择的课程的课程编号(C#和课程名称(CNAME )。(7)在选择课程中检索包含“程军”老师教过的课程之一的学生的学号(S# )。(8)检索选择课程编号k1和k5的学生编号(S# )。(9)检索所选课程的学生名称(SNAME )。(10 )在选择课程中检索学号为2的学生所修的学号(S# )。(11 )检索选择课程名“c语言”的学生号码(S# )和名称(SNAME )。解:与该问题中每个查询语

3、句对应的关系代数表达式表示如下(1). C#、CNAME(TEACHER=程军(c ) )(2). S#、SNAME(AGE21SEX=“男人”(c ) )(3)sname swv,c # # (sc ) AAAAAAAAAAM(4)c#(c)-c#(sname=李强(s ) wvsc )(5)s # (1=425 (sc ) )(6). C#、cname (cwv (AMMMK )、c # (s ) )(7)s#(scwv8719; c#(teacher=程军(c ) )(8).OOHHHHO,HD (sc )c # (c #=k1c #=K5(c ) )(9)snameswvs#,c #

4、# (sc ) HH (c ) (10 ).HHHHHHHB、HB (sc )c # HHHHMHHHBHHHHHH(11 ).sname swv AAAAAAAR=c语言(c ) ) 3 .有以下关系表r :r (否,NAME,SEX,AGE,CLASS )主键为否NO是学号,NAME是名字,SEX是性别,AGE是年龄,CLASS是班号。导出实现以下功能的SQL语句。选择插入记录(25、“李明”、“男人”、21、“95031”)。选择插入班号为“95031”,名称为“郑和”的学生记录。选择学号为10的学生的名字改为“王华”。选择将所有的“95101”班号变更为“95091”。选择删除学号为2

5、0的学生记录。选择删除姓“王”的学生记录。答案:插入值(25、“李明”、“男人”、“21”、“95031”)INSERT INTO R(NO,NAME,CLASS) VALUES(30,“郑和”、“95031”)更新r set name=“王华”WHERE NO=10updatersetclass=“95091”where class=“95101”DELETE FROM R WHERE NO=20DELETE FROMR WHERE NAME LIKE“王%”1 .假设学生课程数据库有三个关系学生关系S(S#、SNAME、AGE、SEX )学习关系SC(S#、C#、GRADE )课程关系C(

6、C#,CNAME )其中,S#、C#、SNAME、AGE、SEX、GRADE、CNAME分别表示学号、课程编号、姓名、年龄、性别、成绩和课程名。在SQL语句中表现以下操作(1)检索选择课程名称“MATHS”的学生的学号和名字(2)至少检索学习了课程编号“C1”和“C2”的学生的课程编号(3)查找年龄在18到20之间(包括18和20 )的女孩的学号、名字和年龄(4)检索平均成绩超过80分的学生的学号和平均成绩(5)检索选择了所有课程的学生名称(6)检索三门以上所选学生的名字答案:(1)选择名称,AGE从s、SC、cWHERE S.S#=SC.S#AND C.C#=SC.C#and cname=m

7、athes(2)选择s#从scwhere cno=c 1和# in (选择)从scwhere cno=c 2(3)选择s #、名称、AGE从swhere age between 18和20(4)选择s #、AVG(GRADE) )“平均成绩”从scGROUP BY S#HAVING AVG(GRADE)80(5)选择名称从sWHERE NOT EXISTS(选择*从cWHERE NOT EXISTS(选择*从scWHERE S#=S.S# AND C#=C.C# (请参见。)(请参见。)(6)选择名称FROM S,SCWHERE S.S#=SC.S#GROUP BY SNAMEHAVING C

8、OUNT(*)32、学生-课程数据库包括三个表:学生表: Student (Sno、Sname、Sex、Sage、Sdept )课程: Course(Cno,Cname,Ccredit )学生选课表: SC(Sno、Cno、Grade )其中,Sno、Sname、Sex、Sage、Sdept、Cno、Cname、Ccredit、Grade分别表示学号、姓名、性别、年龄、所属系名、课程编号、课程名、单位和成绩。尝试SQL语言,执行以下操作(1)向选修课程查询“1042”号学生学习的课程的学生号码(2)制作包含SnO学号、Sname姓名、Sex性别在内的会计系学生信息视图S_CS_VIEW(3)根

9、据上述第2题作成的视图修改数据,将王平的名字改为王慧平(4)创建选择数据库课程信息的视图。 视图名称为datascore_view,包含学号、名称和成绩。答案:(1)选择距离SnO从sc scxWHERE NOT EXISTS(选择*fromsscscscyWHERE SCY.SNO=1042 ANDNOT EXISTS(选择*自sczWHERE SCZ.SNO=SCX.SNO ANDSCZ.CNO=SCY.CNO );(2)创建视图s _ cs _ view美联储SnSnO、SNAME、SEX从studentwheresdeept=cs(3)更新s _ cs _ viewsets name=

10、王慧平wheresname=王平(4)创建视图数据库_ view美联储SnSnO学号、SNAME姓名、GRADE成绩从student,SC,COURSEWHERE STUDENT.SNO=SC.SNOAND COURSE.CNO=SC.CNOand cname=数据库三、设计问题在学生课程管理数据库中创建触发器,在学生选择项表中插入记录时,要检查记录的学号是否存在于学生表中,记录的课程编号是否存在于课程中,选择项的成绩是否在0到100的范围内,如果不存在答案:创建触发器stu _ ins _ trion scfor insert美联储begindeclare s # char (6) c #

11、char (5) grade intselect s#=sno、c#=cno、grade=score从插入的if ( s # not in (selectsnsnofromstudent ) ) or ( c # not in (selectcnofromcourse ) ) or ( gradenotbetween0and 100 )滚动后退事务。elseprint已成功插入结束四、综合练习1 .了解学生关系模式S(Sno、Sname、SD、Sdname、Course、Grade )其中Sno学号、Sname名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写关系模

12、式s的基本函数依存和主代码。(2)原关系模型s是几个正规形? 为什么分解为高级正规形,说明为什么(3)将关系模式分解为3NF,说明为什么(1)写关系模式s的基本函数依存和主代码。:关系模式s的基本函数如下SnoSname、SDSdname、SnoSD、(Sno、Course) Grade关系模型s的代码是(Sno,Course )。(2)原关系模型s是几个正规形? 为什么分解为高级正规形,说明为什么因为:原关系模型s属于1NF,代码(Sno,Course ),非主属性的成绩完全依赖于代码,其他的非主属性依赖于代码的函数,所以不属于2NF。消除对非主属性代码的函数依赖,将关系模式分解为2NFS1

13、(Sno、Sname、SD、Sdname )S2 (否定、粗略、梯度)(3)将关系模式分解为3NF,说明为什么:将上述关系模式分解为3NF,如下在关系模式S1中存在SnoSD,SDSdname,即非主属性Sdname的传输依赖于Sno,因此S1不是3NF。 进一步分解后,会出现以下情况S11(Sno、Sname、SD) S12(SD、Sdname )分解后的关系模式S11、S12满足3NF。关系模式S2中不存在向非主属性的代码的传递依存,因此属于3NF。 因此,原始模式S(Sno、Sname、SD、Sdname、Course、Grade )如下分解满足3NF。S11(Sno、Sname、SD )S12(SD,Sdname )S2 (否定、粗略、梯度)2 .有以下关系r(1)那是第几个正规形? 为什么?(2)删除操作有异常吗? 如果存在的话,说明是在什么情况下发生的(3)将其分解为高级正规形,分解后的关系如何解决分解前可能存在的删除操作的异常问题?(1)解:那是2NF。 因为r的候选关键词是“课程名称”。 依存关系:课程名教师名教师名课程名、教师名教师地址,所以课程名教师地址。 也就是说,因为不存在向非主属性“教师地址”的关键字课程名候补的传递函数,所以r不是3NF。 其中,非主属性不依赖于关键字候选的部分函数,所以r为2NF。(2)存在解: 删除课程会

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论