收藏 分享(赏)

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

上传人:scg750829 文档编号:6212996 上传时间:2019-04-02 格式:DOC 页数:21 大小:332.05KB
下载 相关 举报
上海大学数据库原理1研讨答案.doc_第1页
第1页 / 共21页
上海大学数据库原理1研讨答案.doc_第2页
第2页 / 共21页
上海大学数据库原理1研讨答案.doc_第3页
第3页 / 共21页
上海大学数据库原理1研讨答案.doc_第4页
第4页 / 共21页
上海大学数据库原理1研讨答案.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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

2、 18826490423 011104 刘晶晶 女 1994-11-06 上海 13331934111 011105 刘成刚 男 1991-06-07 上海 18015872567 011106 李二丽 女 1993-05-04 江苏 18107620945 011107 张晓峰 男 1992-08-16 浙江 13912341078 01 院系表 D:院系号,名称,地址,联系电话;表 2:Dyxh mc dz lxdh01 计算机学院 上大东校区三号楼 6534756702 通讯学院 上大东校区二号楼 6534123403 材料学院 上大东校区四号楼 65347890 教师表 T:工号,姓名

3、,性别,出生日期,学历,基本工资,院系编号;表 3:Tgh xm xb csrq xl jbgz yxh0101 陈迪茂 男 1973-03-06 副教授 356700 010102 马小红 女 1972-12-08 讲师 2845.00 010201 张心颖 女 1960-01-05 教授 4200.00 020103 吴宝钢 男 1980-11-06 讲师 2554.00 01 课程表 C:课号,课名,学分,学时,院系号;(默认学分 4,学时 40)表 4:Ckh km xf xs yxh08305001 离散数学 4 40 0108305002 数据库原理 4 50 0108305003

4、 数据结构 4 50 0108305004 系统结构 6 60 0108301001 分子物理学 4 40 0308302001 通信学 3 30 02 开课表 O:学期,课号,工号,上课时间;表 5:Oxq kh gh sksj2012-2013秋季 08305001 0103 星期三 5-82012-2013冬季 08305002 0101 星期三 1-42012-2013冬季 08305002 0102 星期三 1-42012-2013冬季 08305002 0103 星期三 1-42012-2013冬季 08305003 0102 星期五 5-82013-2014秋季 08305004

5、 0101 星期二 1-42013-2014秋季 08305001 0102 星期一 5-82013-2014冬季 08302001 0201 星期一 5-8 选课表 E:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100)表 6:Exh xq kh gh pscj kscj zpcj1101 2012-2013秋季 08305001 0103 60 60 601102 2012-2013秋季 08305001 0103 87 87 871102 2012-2013冬季 08305002 0101 82 82 821102 2013-2014秋季 08305004 01

6、01 null null null1103 2012-2013秋季 08305001 0103 56 56 561103 2012-2013冬季 08305002 0102 75 75 751103 2012-2013冬季 08305003 0102 84 84 841103 2013-2014秋季 08305001 0102 null null null1103 2013-2014秋季 08305004 0101 null null null1104 2012-2013秋季 08305001 0103 74 74 741104 2013-2014冬季 08302001 0201 null n

7、ull null1106 2012-2013秋季 08305001 0103 85 85 851106 2012-2013冬季 08305002 0103 66 66 661107 2012-2013秋季 08305001 0103 90 90 901107 2012-2013冬季 08305003 0102 79 79 791107 2013-2014秋季 08305004 0101 null null null3. 在学生表中建立索引 idx1:院系号升序,姓名降序在课程表中建立索引 idx2:课名二、研讨课:(参考答案)1. 请说明 school数据库中各表的主键和外键。同时说明:在学生

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

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

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

11、成绩及格、教授开设的课程的课程号、课名、开课教师姓名,按开课教师升序,课程号降序排序。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) select xq,kh,

12、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表加一个个开课编号(标识码)会带来哪些影响(优缺点)?第

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

14、xm,avg(e.zpcj) as pjfrom s as x1 join e on x1.xh=e.xhwhere year(getdate()-year(x1.csrq):maxage;EXEC SQL fetch from ex into :xh,:xm,:xb,:yxh;printf(“%s,%s, %s,%s”, eno, ename, sex, yxh);printf(“UPDATE DNO? ”);scanf(“%c”, if (yn=y or yn=Y) printf(“INPUT NEW DNO: ”);scanf(“%c”, EXEC SQL CLOSE ex;2. 1)用

15、多种方法表达查询:检索刘晓明不学的课程的课程号。 select kh from c where kh not in (select kh from s,e where s.xh=e.xh and xm= 刘晓明 ) select kh from c exceptselect kh from s,e where s.xh=e.xh and xm= 刘晓明 select c.kh from c left join (select kh from s,e where s.xh=e.xh and xm= 刘晓明 ) as x on c.kn=x.kn where x.kh is nullselect

16、c.kh from e join s on e.xh=s.xh and xm= 刘晓明 right join c on e.kh=c.kh where e.kh is null2)删除没有开课的学院。delete from c where yxh not in (select yxh from c,o where c.kh=o.kh)delete from t where yxh not in (select yxh from c)delete from s where yxh not in (select yxh from c)delete from d where yxh not in (

17、select yxh from c)1) 视图判断实验课第一题的视图能否更新。3.1) 设计一个能更新的视图,要求更新后的数据满足视图定义的范围:“系统结构”还未有总评成绩的选课视图。写出如下对视图的更新命令,并判断是否可行,如不可行请说出理由create view st as select * from e where zpcj is null and kh in (select kn from c where km= 系统结构) with check option 插入数据(1107, 2013-2014 秋季, 08305004, 0101, null,null,null)不能,主键重复

18、 插入数据(1107, 2012-2013 冬季, 08305002,0102, null,null,null)不能,插入的不是“系统结构”EXEC SQL UPDATE s set yxh=:newdno where current of exEXEC SQL fetch from ex into :xh,:xm,:xb,:yxh; 将所有学生平时成绩增加 10分,但不能超过 100分update st set pscj=100 where pscj90update st set pscj=pscj+10 where pscj8815(EEE)3. 用元组关系演算写出如下查询: 检索选修课程

19、包含 1106同学所学全部课程的学生学号和姓名。 检索刘晓明不学的课程的课程号。t|(u)(S(u)(v)(E(v) (v1=1106(w)(E(w)w1=u1w3=v3)t1=u1 t2=u2)t|(u)(v)(w)(C(u)S(v) E(w) (v2=刘晓明v1=w1w3u1)t1=u1)三、作业:用关系代数写出如下 1-5 1. 查询 1992年以前出生的男学生的学号与姓名。2. 检索刘晓明不学的课程的课程号。3. 查询计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名,4. 检索所有课程都选修的的学生的学号与姓名。5. 检索选修课程包含 1106同学所学全部课程的学

20、生学号和姓名。6. 写出如下关系式的结果: 关系代数表达式 )SR(516,A B C A B C14710258113691234567712101161314R S 元组演算表达式 )13)()(|utStRut 关系代数表达式 SR关系 R 关系 SA B C B Da1 b1 c1 b1 d1a1 b2 c1 b2 d1a2 b2 c2A B C A B C1471025811369123456759101161314R S第 9周(第三章:查询优化)一、实验课:数据库连接编程(网络语言与 SQL Server) ,有同学们自由发挥。二、研讨课:1. 作为数据管理的工具,举例数据库的好

21、处?举例数据库存在问题?(先各说 3 个吧)好处: 1.数据冗余少; 2.能够表达数据间联系; 3.数据更新方便;3. 统一的完整性控制;.这个比较好说问题: 1. 数据间联系表达不直观(不直接) ;2. 通过数据间联系查找数据不方便;3. 数据库模式设计好后修改困难;4. 标识数据必须用值来标识;5.不能 表示复杂数据(数组、向量、结构等)2. 对查询命令“计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名”画出语法书树,优化树不唯一,略3. 指出下式不合理之处,然后优化下式,画出语法树,优化树mc,xh,xm(d.mc=计算机学院xb=女 (SDT)不合理处:1)投影的姓名不唯一,需指出那张表2)不能用自然连接,因为本意是主外键连接,但实际上有同名的非主、外键3)连接顺序应是 D,T,S树不唯一,略三、作业:书本 P66-3.15中第 10周(数据库原理 1复习)一、实验课:验收后四周实验二、研讨课:根据下半学期的学习情况,对学生在学习中的问题,两个班合班上习题课

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 网络科技 > 数据库

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报