上海大学数据库原理1研讨答案Word文档格式.docx
- 文档编号:20686939
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:24
- 大小:84.05KB
上海大学数据库原理1研讨答案Word文档格式.docx
《上海大学数据库原理1研讨答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《上海大学数据库原理1研讨答案Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
1993-05-04
1107
张晓峰
1992-08-16
浙江
院系表D:
院系号,名称,地址,联系电话;
表2:
D
mc
dz
lxdh
计算机学院
上大东校区三号楼
通讯学院
上大东校区二号楼
03
材料学院
上大东校区四号楼
教师表T:
工号,姓名,性别,出生日期,学历,基本工资,院系编号;
表3:
T
gh
xl
jbgz
0101
陈迪茂
1973-03-06
副教授
3567.00
0102
马小红
1972-12-08
讲师
0201
张心颖
1960-01-05
教授
0103
吴宝钢
1980-11-06
课程表C:
课号,课名,学分,学时,院系号;
(默认学分4,学时40)
表4:
C
kh
km
xf
xs
08305001
离散数学
4
40
08305002
数据库原理
50
08305003
数据结构
08305004
系统结构
6
60
08301001
分子物理学
08302001
通信学
3
30
开课表O:
学期,课号,工号,上课时间;
表5:
O
xq
sksj
2012-2013秋季
星期三5-8
2012-2013冬季
星期三1-4
星期五5-8
2013-2014秋季
星期二1-4
星期一5-8
2013-2014冬季
选课表E:
学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;
(成绩范围1-100)
表6:
E
pscj
kscj
zpcj
87
82
null
56
75
84
74
85
66
90
79
3.在学生表中建立索引idx1:
院系号升序,姓名降序
在课程表中建立索引idx2:
课名
二、研讨课:
(参考答案)
1.请说明school数据库中各表的主键和外键。
同时说明:
在学生表中的yxh字段输入“04”或在院系表中删除yxh为“01”记录,会有什么结果
学号,院系号
院系号
工号,院系号
课号,院系号
学期,课号,工号,课号,工号
学号,学期,课号,工号,学号,学期,课号,工号
不能输入04:
因为外键值在对应主键中没有出现
不能删除:
因为外键表中有相应数据或级联删除和院系相关的数据
2.什么是关系型数据库什么是非关系型数据库各举1个典型产品简单介绍他们特点
关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
关系模型是由埃德加·
科德于1970年首先提出的,并配合“科德十二定律”。
现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。
标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。
关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
ORACLE、SQLServer、Sybase、Informix、mysql等。
非关系型的数据库(NoSQL),随着互联网网站的兴起,传统的关系数据库在应付网站,特别是超大规模和高并发的SNS类型的纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
CouchDB、MonogDB等。
3.教师表中定义两个检查约束:
1)性别只能输入“男”和“女”
check(xb=’男’orxb=’女’)
2)男老师的基本工资必须超过2500元
check((xb=’男’andjbgz>
2500)orxb=’女’)
第2周(第四章:
投影、选择、多表连接和嵌套,排序自学)
1.查询2011年进校年龄大于20岁的男学生的学号与姓名。
2.检索刘晓明不学的课程的课程号。
3.检索马小红老师所授课程的学年,学期,课程号,上课时间。
4.查询计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名,按开课教师升序,课程号降序排序。
5.检索学号比张颖同学大,年龄比张颖同学小的同学学号、姓名。
6.检索同时选修了“08305001”和“08305002”的学生学号和姓名。
1.用四种方法表达查询:
检索马小红老师所授课程的学期,课程号,上课时间。
1)selectxq,kh,sksjfromo,twhere=andxm=’马小红’
2)selectxq,kh,sksjfromowhereghin(selectghfromtwherexm=’马小红’)
3)selectxq,kh,sksjfromowhereexists(select*fromtwhere=andxm=’马小红’)
4)selectxq,kh,sksjfromowhere’马小红’in(selectxmfromtwhere=
2.检索有学生重修的教师编号和姓名。
selectgh,xmfromtwhereghin(selectfromea,ebwhere=and=and>
3.如果O表加一个个开课编号(标识码)会带来哪些影响(优缺点)
第3周(第四章:
除法、聚合函数、分组、集合操作,外连接自学)
1.验证在1000万个以上记录时在索引和不索引时的查询时间区别。
2.查询每个学生选课情况(包括没有选修课程的学生)。
selects.*,e.*fromsleftjoineon=
3.检索所有课程都选修的的学生的学号与姓名。
4.检索选修课程包含1106同学所学全部课程的学生学号和姓名。
5.查询每门课程中分数最高的学生学号和学生姓名。
6.查询年龄小于本学院平均年龄,所有课程总评成绩都高于所选课程平均总评成绩的学生学号、姓名和平均总评成绩,按年龄排序。
select,,avgaspj
fromsasx1joineon=
whereyear(getdate())-year<
(selectavg(year(getdate())-year)fromsasx2
where=
andnotin(selectfromeasy1where
<
=(selectavgfromeasy2where=)
groupby,,year(getdate())-year
orderbyyear(getdate())-year
1.什么是聚集索引什么是非聚集索引索引的作用是什么请说明上述实验题1的验证过程及所得到的结果
聚集索引:
在聚集索引中,表中各行的物理顺序与索引键值的逻辑(索引)顺序相同。
表只能包含一个聚集索引。
聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取大量的数据。
创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。
非聚集索引:
非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。
非聚集索引中存储了组成非聚集索引的关键字值和行定位器。
非聚集索常用于:
包含大量非重复值的列,不返回大型结果集的查询,精确匹配的查询经常使用的列。
索引的作用是加快查询速度
2.用多种方法表达查询:
检索同时选修了“数据库原理”和“离散数学”的学生学号和姓名。
1)selectxh,xmfromswherexhin(selectxhfrome,cwhere=and=’数据库原理’)
intersect
selectxh,xmfromswherexhin(selectxhfrome,cwhere=and=’离散数学’)
2)selectxh,xmfromswherexhin(selectfromea,ebwhere=andin(selectkhfromcwherekm=’数据库原理’)andin(selectkhfromcwherekm=’离散数学’)
3.查询每门课的排名,输出课程号,学号,总评成绩,排名;
按课程号升序,课程相同按排名从高到低。
(提示:
某个同学一门课的排名就是该门课成绩大于等于他的人数)
select,,,count(*)aspm
fromEasx,Easy
where<
or=and=)and=
groupby,,
orderby1,4
--加上学期
select,,,,count(*)pm
fromeasx,easy
or=and=)
and=and=
groupby,,,
orderby1,2,5
第4周(第四章:
数据更新、视图、嵌入式SQL部分自学)
1.建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选课程和成绩。
2.在E表中插入记录,把每个学生没学过的课程都插入到E表中,使得每个学生都选修每门课。
insertintoe(xh,xq,kh,gh)
select,,,froms,o
where+notin(selectxh+khfrome)
and+in(selectkh+ghfromoasxwhere
gh<
=all(selectghfromoasywhere=)
3.求年龄大于所有女同学年龄的男学生姓名和年龄。
4.在E表中修改08305001课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%。
5.删除没有开课的学院。
6.查询优、良、中、及格、不及格学生人数
1.补全下面程序段虚线框中的语句,使该程序能够正确地利用给出的数据库,逐个显示年龄高于某个值(通过共享变量maxage给出)的学生的学号、姓名、性别、院系号,并按用户的当场要求,保持或修改这个学生的院系号(通过共享变量newdno中给出)。
voidChangeDNO()
{…
EXECSQLBEGINDECLARESECTION;
intmaxage;
charxh[7],xm[9],sex[3],yxh[4],newdno[4];
EXECSQLENDDECLARESECTION;
…
gets(maxage);
EXECSQLfetchfromexinto:
xh,:
xm,:
xb,:
yxh;
EXECSQLOPENex
while
(1)
{
if!
=‘00000’)
break;
printf(“%s,%s,%s,%s”,eno,ename,sex,yxh);
printf(“UPDATEDNO”);
scanf(“%c”,&
yn);
if(yn==‘y’oryn=‘Y’)
{printf(“INPUTNEWDNO:
”);
newdno);
}
EXECSQLCLOSEex;
2.1)用多种方法表达查询:
检索刘晓明不学的课程的课程号。
①selectkhfromcwherekhnotin(selectkhfroms,ewhere=andxm=’刘晓明’)
②selectkhfromc
except
selectkhfroms,ewhere=andxm=’刘晓明’
③selectfromcleftjoin(selectkhfroms,ewhere=andxm=’刘晓明’)asxon=whereisnull
selectfromejoinson=andxm=’刘晓明’
rightjoincon=
whereisnull
2)删除没有开课的学院。
deletefromcwhereyxhnotin(selectyxhfromc,owhere=
deletefromtwhereyxhnotin(selectyxhfromc)
deletefromswhereyxhnotin(selectyxhfromc)
deletefromdwhereyxhnotin(selectyxhfromc)
1)视图判断实验课第一题的视图能否更新。
3.
1)设计一个能更新的视图,要求更新后的数据满足视图定义的范围:
“系统结构”还未有总评成绩的选课视图。
写出如下对视图的更新命令,并判断是否可行,如不可行请说出理由
createviewstasselect*fromewherezpcjisnullandkhin
(selectknfromcwherekm=’系统结构’)withcheckoption
插入数据(1107,2013-2014秋季,08305004,0101,null,null,null)
不能,主键重复
插入数据(1107,2012-2013冬季,08305002,0102,null,null,null)
不能,插入的不是“系统结构”
将所有学生平时成绩增加10分,但不能超过100分
updatestsetpscj=100wherepscj>
updatestsetpscj=pscj+10wherepscj<
=90
第5周(第一、二章:
数据管理、数据库技术、数据库体系结构、DBMS,自学DBS)
抽查前四周的实验内容
根据上半学期的学习情况,对学生在学习中的问题,两个班合班上习题课
三、作业:
数据库中的“3”(只针对数据库原理1)
1.数据库发展史上的3个里程碑
2.数据库界3个图灵奖获得者
3.数据管理的3个阶段
4.3种数据模型
5.数据库系统3层体系结构
6.数据抽象过程中的3个世界
7.数据描述时的3层设计
8.数据模型3要素
9.3种数据模式
10.数据库的3次大论战
11.关系数据库的3种完整性约束
12.能唯一标识关系中每一行的属性或属性组,有那3种键
13.实体间的联系有那3种
14.关系的3种更新
15.文件系统的3个缺点
第6周(第二、六章:
E_R模型和扩展E-R模型)
数据库连接编程(与SQLServer):
第13章实验5-1
1.根据以下说明设计实体联系图
【说明】
某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下:
(1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名;
(2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话和Email,系统为不同读者生成不同的读者ID;
(3)每部书在系统中对应惟一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的ISBN号不相同;
(4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书ID、ISBN号、存放位置、当前状态,每一本书在系统中被赋予惟一的图书ID;
(5)一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间;
(6)当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者ID、需要借阅的图书的ISBN号、预约时间。
某书目的信息如表1-1所示,与该书目对应的图书信息如表1-2所示。
表1-1书目信息
书名
作者
出版商
ISBN号
出版年月
册数
经办人
《数据结构》
严蔚敏
吴伟民
清华大学出版社
ISBN7-302-02368-9
表1-2图书信息
图书ID
存放位置
状态
图书流通室
已借出
图书阅览室
不外借
未借出
已预约
【系统的主要业务处理如下】
(1)入库管理:
图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;
否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。
(2)借书管理:
读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。
(3)预约管理:
若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为10天)。
一旦其他读者归还这种书,就自动通知该预约读者。
系统将自动清除超出预约期限的预约记录并修改相关信息。
(4)还书管理:
读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。
系统同时自动查询预约登记表,若存在其他读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书ID写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);
否则,将该图书的状态修改为“未借出”。
(5)通知处理:
对于已到期且未归还的图书,系统通过Email自动通知读者;
若读者预约的书已到,系统则自动通过Email通知该读者来办理借书手续。
(1)n
(2)m(3)1(4)n,或m(5)m(6)n
其中,
(1)、
(2)的答案可互换,(5)、(6)的答案可互换。
2.根据以下说明设计实体联系图
某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。
1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:
客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;
还要记录客户的车辆信息,包括:
车牌号、车型、颜色等信息。
一个客户至少有一台车。
客户及车辆信息如表2-1所示。
表2-1客户及车辆信息
客户编号
GS0051
客户名称
×
公司
客户性质
单位
折扣率
95%
联系人
杨浩东
联系电话
车牌号
颜色
车型
车辆类别
**0765
白色
帕萨特
微型车
2)记录维修车辆的故障信息。
包括:
维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。
维修厂的员工分为:
维修员和业务员。
车辆
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 上海 大学 数据库 原理 研讨 答案