上海大学数据库原理1研讨答案

上传人:博****1 文档编号:503860466 上传时间:2023-07-01 格式:DOC 页数:21 大小:299.50KB
返回 下载 相关 举报
上海大学数据库原理1研讨答案_第1页
第1页 / 共21页
上海大学数据库原理1研讨答案_第2页
第2页 / 共21页
上海大学数据库原理1研讨答案_第3页
第3页 / 共21页
上海大学数据库原理1研讨答案_第4页
第4页 / 共21页
上海大学数据库原理1研讨答案_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《上海大学数据库原理1研讨答案》由会员分享,可在线阅读,更多相关《上海大学数据库原理1研讨答案(21页珍藏版)》请在金锄头文库上搜索。

1、第1周(第四章:SQL体系结构、组成、建库建表,索引自学)一、实验课: 1. 建立school数据库2. 在school下建立如下数据库表,根据表中数据选取合适的数据类型及宽度,设置各表的主键及表间外键联系:注意:字段名是对应汉字字段名的汉语拼音第一个字母组合而成l 学生表S:学号,姓名,性别,出生日期,籍贯,手机号码,院系号;表1:Sxhxmxbcsrqjgsjhmyxh1101李明男1993-03-06上海13613005486021102刘晓明男1992-12-08安徽18913457890011103张颖女1993-01-05江苏18826490423011104刘晶晶女1994-11

2、-06上海13331934111011105刘成刚男1991-06-07上海18015872567011106李二丽女1993-05-04江苏18107620945011107张晓峰男1992-08-16浙江1391234107801l 院系表D:院系号,名称,地址,联系电话;表2:Dyxhmcdzlxdh01计算机学院上大东校区三号楼6534756702通讯学院上大东校区二号楼6534123403材料学院上大东校区四号楼65347890l 教师表T:工号,姓名,性别,出生日期,学历,基本工资,院系编号;表3:Tghxmxbcsrqxljbgzyxh0101陈迪茂男1973-03-06副教授3

3、56700010102马小红女1972-12-08讲师2845.00010201张心颖女1960-01-05教授4200.00020103吴宝钢男1980-11-06讲师2554.0001l 课程表C:课号,课名,学分,学时,院系号;(默认学分4,学时40)表4:Ckhkmxfxsyxh08305001离散数学4400108305002数据库原理4500108305003数据结构4500108305004系统结构6600108301001分子物理学4400308302001通信学33002l 开课表O:学期,课号,工号,上课时间;表5:Oxqkhghsksj2012-2013秋季0830500

4、10103星期三5-82012-2013冬季083050020101星期三1-42012-2013冬季083050020102星期三1-42012-2013冬季083050020103星期三1-42012-2013冬季083050030102星期五5-82013-2014秋季083050040101星期二1-42013-2014秋季083050010102星期一5-82013-2014冬季083020010201星期一5-8l 选课表E:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100)表6:Exhxqkhghpscjkscjzpcj11012012-2013秋季08

5、305001010360606011022012-2013秋季08305001010387878711022012-2013冬季08305002010182828211022013-2014秋季083050040101nullnullnull11032012-2013秋季08305001010356565611032012-2013冬季08305002010275757511032012-2013冬季08305003010284848411032013-2014秋季083050010102nullnullnull11032013-2014秋季083050040101nullnullnull11

6、042012-2013秋季08305001010374747411042013-2014冬季083020010201nullnullnull11062012-2013秋季08305001010385858511062012-2013冬季08305002010366666611072012-2013秋季08305001010390909011072012-2013冬季08305003010279797911072013-2014秋季083050040101nullnullnull3. 在学生表中建立索引idx1:院系号升序,姓名降序在课程表中建立索引idx2:课名二、研讨课:(参考答案)1. 请

7、说明school数据库中各表的主键和外键。同时说明:在学生表中的yxh字段输入“04”或在院系表中删除yxh为“01”记录,会有什么结果?l 学生表S:学号,院系号l 院系表D:院系号l 教师表T:工号,院系号l 课程表C:课号,院系号l 开课表O:学期,课号,工号,课号,工号l 选课表E:学号,学期,课号,工号,学号,学期,课号,工号不能输入04:因为外键值在对应主键中没有出现不能删除:因为外键表中有相应数据 或 级联删除和院系相关的数据2. 什么是关系型数据库?什么是非关系型数据库?各举1个典型产品简单介绍他们特点?关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法

8、来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。ORACLE、SQLServer、Sybase、Informix、mysql等。 非关系型的数据库(NoSQL),随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型

9、的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。CouchDB、MonogDB等。3. 教师表中定义两个检查约束:1) 性别只能输入“男”和“女”check(xb=男 or xb=女)2) 男老师的基本工资必须超过2500元check((xb=男 and jbgz2500)or xb=女)第2周(第四章:投影、选择、多表连接和嵌套,排序自学)一、实验课:1. 查询2011年进校年龄大于20岁的男学生的学号与姓名。2. 检索刘晓明不学的课程的课程号。3. 检索马小红老师所授课程的学年,学期,课程号,上课时间。4. 查询

10、计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名,按开课教师升序,课程号降序排序。5. 检索学号比张颖同学大,年龄比张颖同学小的同学学号、姓名。6. 检索同时选修了“08305001”和“08305002”的学生学号和姓名。二、研讨课:1. 用四种方法表达查询:检索马小红老师所授课程的学期,课程号,上课时间。1) select xq,kh,sksj from o,t where o.gh=t.gh and xm=马小红2) select xq,kh,sksj from o where gh in (select gh from t where xm=马小红)3) sele

11、ct xq,kh,sksj from o where exists(select * from t where o.gh=t.gh and xm=马小红)4) select xq,kh,sksj from o where 马小红 in (select xm from t where o.gh=t.gh)2. 检索有学生重修的教师编号和姓名。select gh,xm from t where gh in (select a.gh from e a,e b where a.xh=b.xh and a.kh=b.kh and a.xqb.xq)3. 如果O表加一个个开课编号(标识码)会带来哪些影响(

12、优缺点)?第3周(第四章:除法、聚合函数、分组、集合操作,外连接自学)一、实验课:1. 验证在1000万个以上记录时在索引和不索引时的查询时间区别。2. 查询每个学生选课情况(包括没有选修课程的学生)。select s.*,e.* from s left join e on s.xh=e.xh3. 检索所有课程都选修的的学生的学号与姓名。4. 检索选修课程包含1106同学所学全部课程的学生学号和姓名。5. 查询每门课程中分数最高的学生学号和学生姓名。6. 查询年龄小于本学院平均年龄,所有课程总评成绩都高于所选课程平均总评成绩的学生学号、姓名和平均总评成绩,按年龄排序。select x1.xh,

13、x1.xm,avg(e.zpcj) as pjfrom s as x1 join e on x1.xh=e.xhwhere year(getdate()-year(x1.csrq) (select avg(year(getdate()-year(x2.csrq) from s as x2 where x1.yxh=x2.yxh) and e.xh not in (select y1.xh from e as y1 where y1.zpcj=(select avg(y2.zpcj) from e as y2 where y1.kh=y2.kh)group by x1.xh,x1.xm,year(getdate()-year(x1.csrq)order by year(getdate()-year(x1.csrq)二、研讨课:1. 什么是聚集索引?什么是非聚集索引?索引的作用是什么?请说明上述实验题1的验证过程及所得到的结果?聚集索引:在聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。非聚集索引:非聚集索引具有完全独立于数据行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号