首页 行业资讯 宠物日常 宠物养护 宠物健康 宠物故事
您的当前位置:首页正文

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

2021-06-25 来源:画鸵萌宠网
如有你有帮助,请购买下载,谢谢!

第1周(第四章:SQL体系结构、组成、建库建表,索引自学)

一、实验课:

1. 建立school数据库

2. 在school下建立如下数据库表,根据表中数据选取合适的数据类型及宽度,设置各表

的主键及表间外键联系:

注意:字段名是对应汉字字段名的汉语拼音第一个字母组合而成

 学生表S:学号,姓名,性别,出生日期,籍贯,手机号码,院系号;

表1:S xh 1101 1102 1103 1104 1105 1106 1107 xm 李明 刘晓明 张颖 刘晶晶 刘成刚 李二丽 张晓峰 xb 男 男 女 女 男 女 男 csrq 1993-03-06 1992-12-08 1993-01-05 1994-11-06 1991-06-07 1993-05-04 1992-08-16 jg 上海 安徽 江苏 上海 上海 江苏 浙江 sjhm yxh 02 01 01 01 01 01 01  院系表D:院系号,名称,地址,联系电话; 表2:D yxh 01 02 03 mc 计算机学院 通讯学院 材料学院 dz 上大东校区三号楼 上大东校区二号楼 上大东校区四号楼 lxdh  教师表T:工号,姓名,性别,出生日期,学历,基本工资,院系编号; 表3:T gh 0101 0102 0201 0103 xm 陈迪茂 马小红 张心颖 吴宝钢 xb 男 女 女 男 csrq 1973-03-06 1972-12-08 1960-01-05 1980-11-06 xl 副教授 讲师 教授 讲师 jbgz 3567.00 2845.00 4200.00 2554.00 yxh 01 01 02 01  课程表C:课号,课名,学分,学时,院系号;(默认学分4,学时40) 表4:C kh 08305001 08305002 08305003 08305004 08301001 08302001 km 离散数学 数据库原理 数据结构 系统结构 分子物理学 通信学 xf 4 4 4 6 4 3 xs 40 50 50 60 40 30 yxh 01 01 01 01 03 02  开课表O:学期,课号,工号,上课时间; 表5:O

xq 2012-2013秋季 kh 08305001 1页

gh 0103 sksj 星期三5-8 如有你有帮助,请购买下载,谢谢!

2012-2013冬季 2012-2013冬季 2012-2013冬季 2012-2013冬季 2013-2014秋季 2013-2014秋季 2013-2014冬季 08305002 08305002 08305002 08305003 08305004 08305001 08302001 0101 0102 0103 0102 0101 0102 0201 星期三1-4 星期三1-4 星期三1-4 星期五5-8 星期二1-4 星期一5-8 星期一5-8  选课表E:学号,学期,课号,工号,平时成绩,考试成绩,总评成绩;(成绩范围1-100) 表6:E xh 1101 1102 1102 1102 1103 1103 1103 1103 1103 1104 1104 1106 1106 1107 1107 1107 xq 2012-2013秋季 2012-2013秋季 2012-2013冬季 2013-2014秋季 2012-2013秋季 2012-2013冬季 2012-2013冬季 2013-2014秋季 2013-2014秋季 2012-2013秋季 2013-2014冬季 2012-2013秋季 2012-2013冬季 2012-2013秋季 2012-2013冬季 2013-2014秋季 kh 08305001 08305001 08305002 08305004 08305001 08305002 08305003 08305001 08305004 08305001 08302001 08305001 08305002 08305001 08305003 08305004 gh 0103 0103 0101 0101 0103 0102 0102 0102 0101 0103 0201 0103 0103 0103 0102 0101 pscj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null kscj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null zpcj 60 87 82 null 56 75 84 null null 74 null 85 66 90 79 null 3. 在学生表中建立索引idx1:院系号升序,姓名降序

在课程表中建立索引idx2:课名 二、研讨课:(参考答案)

1. 请说明school数据库中各表的主键和外键。同时说明:在学生表中的yxh字段输入“04”

或在院系表中删除yxh为“01”记录,会有什么结果?  学生表S:学号,院系号  院系表D:院系号

 教师表T:工号,院系号  课程表C:课号,院系号

 开课表O:学期,课号,工号,课号,工号

 选课表E:学号,学期,课号,工号,学号,学期,课号,工号 不能输入04:因为外键值在对应主键中没有出现

不能删除:因为外键表中有相应数据 或 级联删除和院系相关的数据

2. 什么是关系型数据库?什么是非关系型数据库?各举1个典型产品简单介绍他们特点?

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。

2页

如有你有帮助,请购买下载,谢谢!

现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据库的语言,这种语言执行对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。ORACLE、SQLServer、Sybase、Informix、mysql等。

非关系型的数据库(NoSQL),随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。CouchDB、MonogDB等。 3. 教师表中定义两个检查约束:

1) 性别只能输入“男”和“女” check(xb=’男’ or xb=’女’)

2) 男老师的基本工资必须超过2500元

check((xb=’男’ and jbgz>2500)or xb=’女’)

3页

如有你有帮助,请购买下载,谢谢!

第2周(第四章:投影、选择、多表连接和嵌套,排序自学)

一、实验课:

1. 查询2011年进校年龄大于20岁的男学生的学号与姓名。 2. 检索刘晓明不学的课程的课程号。

3. 检索马小红老师所授课程的学年,学期,课程号,上课时间。

4. 查询计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名,

按开课教师升序,课程号降序排序。

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,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.xq>b.xq)

3. 如果O表加一个个开课编号(标识码)会带来哪些影响(优缺点)?

4页

如有你有帮助,请购买下载,谢谢!

第3周(第四章:除法、聚合函数、分组、集合操作,外连接自学)

一、实验课:

1. 验证在1000万个以上记录时在索引和不索引时的查询时间区别。 2. 查询每个学生选课情况(包括没有选修课程的学生)。

select s.*,e.* from s left join e on s.xh=e.xh 3. 检索所有课程都选修的的学生的学号与姓名。

4. 检索选修课程包含1106同学所学全部课程的学生学号和姓名。 5. 查询每门课程中分数最高的学生学号和学生姓名。

6. 查询年龄小于本学院平均年龄,所有课程总评成绩都高于所选课程平均总评成绩的学生

学号、姓名和平均总评成绩,按年龄排序。 select x1.xh,x1.xm,avg(e.zpcj) as pj from s as x1 join e on x1.xh=e.xh where 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操作的速度,因为这两个操作需要读取大量的数据。创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组。

非聚集索引:非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引中存储了组成非聚集索引的关键字值和行定位器。非聚集索常用于:包含大量非重复值的列, 不返回大型结果集的查询, 精确匹配的查询经常使用的列。

索引的作用是加快查询速度

2. 用多种方法表达查询:检索同时选修了“数据库原理”和“离散数学”的学生学号和姓

名。

1) select xh,xm from s where xh in (select xh from e,c where e.kh=c.kh and

c.km=’数据库原理’) intersect

select xh,xm from s where xh in (select xh from e,c where e.kh=c.kh and

c.km=’离散数学’) 2) select xh,xm from s where xh in (select a.xh from e a,e b where a.xh

=b.xh and a.kh in (select kh from c where km=’数据库原理’) and b.kh in (select kh from c where km=’离散数学’)

5页

如有你有帮助,请购买下载,谢谢!

3. 查询每门课的排名,输出课程号,学号,总评成绩,排名;按课程号升序,课程相同按

排名从高到低。(提示:某个同学一门课的排名就是该门课成绩大于等于他的人数)

select x.kh,x.xh,x.zpcj,count(*) as pm from E as x,E as y

where (x.zpcjselect x.xq,x.kh,x.xh,x.zpcj,count(*) pm from e as x,e as y

where (x.zpcj6页

如有你有帮助,请购买下载,谢谢!

第4周(第四章:数据更新、视图、嵌入式SQL部分自学)

一、实验课:

1. 建立计算机学院总评不及格成绩学生的视图,包括学生学号、姓名、性别、手机、所选

课程和成绩。

2. 在E表中插入记录,把每个学生没学过的课程都插入到E表中,使得每个学生都选修每

门课。

insert into e(xh,xq,kh,gh)

select s.xh,o.xq,o.kh,o.gh from s,o

where s.xh+o.kh not in (select xh+kh from e)

and o.kh+o.gh in (select kh+gh from o as x where gh<=all(select gh from o as y where x.kh=y.kh)) 3. 求年龄大于所有女同学年龄的男学生姓名和年龄。 4. 在E表中修改08305001课程的平时成绩,若成绩小于等于75分时提高5%,若成绩大于

75分时提高4%。

5. 删除没有开课的学院。

6. 查询优、良、中、及格、不及格学生人数 二、研讨课:

1. 补全下面程序段虚线框中的语句,使该程序能够正确地利用给出的数据库,逐个显示年

龄高于某个值(通过共享变量maxage给出)的学生的学号、姓名、性别、院系号,并按用户的当场要求,保持或修改这个学生的院系号(通过共享变量newdno中给出)。 void ChangeDNO()

{ …

EXEC SQL BEGIN DECLARE SECTION;

int maxage;

char xh[7], xm[9], sex[3], yxh[4], newdno[4]; EXEC SQL END DECLARE SECTION; …

gets(maxage);

EXEC SQL DECLARE ex cursor for select xh,xm,xb,yxh from s where 2014-year(csrq)>:maxage; …

EXEC SQL OPEN ex

EXEC SQL fetch from ex into :xh,:xm,:xb,:yxh; while (1)

{

if (SQLCA.SQLSTATE ! =‘00000’)

break;

printf(“%s,%s, %s,%s”, eno, ename, sex, yxh); printf(“UPDATE DNO? ”); scanf(“%c”, &yn);

7页

如有你有帮助,请购买下载,谢谢!

if (yn==‘y’ or yn=‘Y’)

{ printf(“INPUT NEW DNO: ”);

EXEC SQL UPDATE s set yxh=:newdno where current of ex

scanf(“%c”, &newdno);

EXEC SQL fetch from ex into :xh,:xm,:xb,:yxh; }

}

EXEC SQL CLOSE ex; …

2. 1)用多种方法表达查询:检索刘晓明不学的课程的课程号。

① select kh from c where kh not in (select kh from s,e where s.xh=e.xh

and xm=’ 刘晓明’)

② select kh from c

except

select 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 null

select 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 null

2)删除没有开课的学院。

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 (select yxh from c) 1) 视图判断实验课第一题的视图能否更新。

2) 设计一个能更新的视图,要求更新后的数据满足视图定义的范围:“系统结构”还未

有总评成绩的选课视图。写出如下对视图的更新命令,并判断是否可行,如不可行请说出理由 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)

不能,主键重复

 插入数据(1107, 2012-2013冬季, 08305002,0102, null,null,null)

不能,插入的不是“系统结构”

 将所有学生平时成绩增加10分,但不能超过100分 update st set pscj=100 where pscj>90

update st set pscj=pscj+10 where pscj<=90

8页

如有你有帮助,请购买下载,谢谢!

第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个缺点

9页

如有你有帮助,请购买下载,谢谢!

第6周(第二、六章:E_R模型和扩展E-R模型)

一、实验课:数据库连接编程(PB10.0与SQL Serve r):第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号 出版年月 册数 4 经办人 01 《数据结构》 严蔚敏 吴伟民 ISBN7-302-02368-9 1997.4 表1-2 图书信息 图书ID C832.1 C832.2 C832.3 C832.4 ISBN号 ISBN7-302-02368-9 ISBN7-302-02368-9 ISBN7-302-02368-9 ISBN7-302-02368-9 存放位置 图书流通室 图书阅览室 图书流通室 图书流通室 状态 已借出 不外借 未借出 已预约 经办人 01 01 01 01 【系统的主要业务处理如下】

(1) 入库管理:图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统,然后编写并录入图书信息;否则,修改该书目的册数,然后编写并录入图书信息,对于进入流通室的书,其初始状态为“未借出”,而送入阅览室的书的状态始终为“不外借”。

(2) 借书管理:读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。

(3) 预约管理:若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者ID、书的ISBN号、预约时间和预约期限(最长为10天)。一旦其他读者归还这种书,就自动通知该预约读者。系统将自动清除超出预约期限的预约记录并修改相关信息。 (4) 还书管理:读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表,若存在其他读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书ID写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态

10页

如有你有帮助,请购买下载,谢谢!

修改为“未借出”。

(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)记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表2-2所示。

表2-2 维修委托书

No.003 车牌号 作业分类 业务员

中修 张小江

GS0051 自付 012 故障描述 车头损坏,水箱漏水

登记日期:2013-07-02 维修类型 进厂时间 预计完工时间 普通 11:09 **0765 客户编号 结算方式 业务员编号 3)维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表2-3所示。

表2-3 维修派工单

No.003 维修项目 维修车头 维修车头 水箱焊接补漏 更换车灯 工时 5.00 2.00 1.00 1.00 维修员编号 012 023 006 012 维修员工种 机修 漆工 焊工 机修 维修项目编号 012 012 015 017 4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。

11页

如有你有帮助,请购买下载,谢谢!

车辆 * 拥有 1 客户 1 故障 * 委托书 * 委托 1 业务员 1 派工 * 维修项目 * 员工 维修工

3. 设计的实体联系图(不完整)如图3-1所示。

业主 (a) 收费 (b) 收费员 部门 (c) 隶属 (d) 员工 图3-1 实体联系图

(f) 权限 (e) 合法 经理 【说明】

某公司拟开发一套小区物业收费管理系统。初步的需求分析结果如下:

(1)业主信息主要包括:业主编号,姓名,房号,房屋面积,工作单位,联系电话等。房号可唯一标识一条业主信息,且一个房号仅对应一套房屋;一个业主可以有一套或多套的房屋。

(2)部门信息主要包括:部门号,部门名称,部门负责人,部门电话等;一个员工只能属于一个部门,一个部门只有一位负责人。

(3)员工信息主要包括:员工号,姓名,出生年月,性别,住址,联系电话,所在部门号,职务和密码等。根据职务不同员工可以有不同的权限,职务为“经理”的员工具有更改(添加、删除和修改)员工表中本部门员工信息的操作权限;职务为“收费”的员工只具有收费的操作权限。

(4)收费信息包括:房号,业主编号,收费日期,收费类型,数量,收费金额,员工号等。收费类型包括物业费、卫生费、水费和电费,并按月收取,收费标准如表3-1所示。其中:物业费=房屋面积(平方米)×每平米单价,卫生费=套房数量(套)×每套房单价,水费=用水数量(吨)×每吨水单价,电费=用电数量(度)×每度电单价。

(5)收费完毕应为业主生成收费单,收费单示例如表3-2所示。 表3-1 收费标准 收费类型 物业费 卫生费 单位 套 单价 10.00 序号 1 2 表3-2 收费单示例 房号:A1608 业主姓名:李斌 收费类型 物业费 卫生费 数量 98.6 1 金额 98.60 10.00 平方米 1.00 12页

如有你有帮助,请购买下载,谢谢!

水 费 电 费 吨 度 0.70 0.80 3 4 合计 水 费 电 费 6 102 4.20 81.60 194.40 壹佰玖拾肆元肆角整 收费日期:2012-9-2 员工号:001 【问题】

填写图3-1中(a)~(f)处联系的类型(注:一方用1表示,多方用m或 n 或 *表示),并补充完整图3-1中的实体、联系和联系的类型。

收费标准 n 业主 n 收费 m 收费员 部门 1 隶属 n 员工 图2-1 补充完整的实体联系图 n 1 合法 权限 经理 三、作业:画出以下3题的E-R模型 1. 第1周所建数据库

2. 假定一个数据库包括如下信息:

 职工:工号、姓名、所在部门

 部门:部门名、经理、部门所有职工、销售产品  产品:产品名、制造商名、价格、型号

 制造商:制造商名、地址、生产的产品名、价格

3. 假设要为某高校后勤关于班车运行管理信息系统建立一个数据库,对车辆、司机、维修、

保险和工作班车运行等信息进行管理。该高校后勤有关班车运行的业务管理规则如下:

 该高校有若干个校区,每个校区有一个车队。  每个车队有一个车队长、若干车辆和司机。  车辆和司机分别在不同的保险公司里投保。  车辆由若干汽车维修公司进行维修。

 每个工作班车包括班次编号、起点、终点和发车时间。  每个车队负责该高校若干不同工作班车的运行。

13页

如有你有帮助,请购买下载,谢谢!

第7周(第二、七章:数据模型,E-R模型转关系模型)

一、实验课:数据库连接编程(PB10.0与SQL Serve r):第13章实验5-2 二、研讨课:

1. 设计第6周研讨第1题图书管理系统的主要关系模式,然后给出各关系模式的主键和外

键。

管理员(工号,姓名) 读者 (读者ID,姓名,电话,Email) 书目 (ISBN号,书名,作者,出版商,出版年月,册数,经办人) 图书(图书ID,ISBN号,存放位置,状态,经办人)

借还记录(读者ID, 图书ID,借出时间,应还时间,归还时间) 外键:读者ID,图书ID 预约登记(读者ID, ISBN号,预约时间,预约期限) 外键:读者ID, ISBN号 2. 在第6周研讨第3题的基础上完成下列工作:

1)根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整): 业主( (1) ,姓名,房屋面积,工作单位,联系电话)

员工( (2) ,姓名,出生年月,性别,住址,联系电话,职务,密码) 部门( (3) ,部门名称,部门电话) 权限( 职务,操作权限)

收费标准( (4) )

收费信息( (5) ,收费类型,收费金额,员工号)

2)根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整,然后给出各关系模式的主键和外键。 (1)业主编号,房号

主键:房号 外键:无 (2)员工号,所在部门号

主键:员工号 外键:所在部门号 (3)部门号,部门负责人

主键:部门号 外键:部门负责人 (4)收费类型,单位,单价

主键:收费类型 外键:无 (5)房号,业主编号,收费日期

主键:房号,业主编号,收费日期 外键:房号,员工号

3. 一个三元关系是否可以用三个二元的M:n关系代替,试举例说明。(示意图)

E1 P R N E2 M

E3 E2 R12 N N

R23 M

M

E1 M R23 N E3

例: E1:表示学生; E2表示图书; E3 表示书店

R12表示学生有哪些书; R23表示书店卖那些书; R13表示学生去过哪些书店

14页

如有你有帮助,请购买下载,谢谢!

但表示不了R学生在那个书店卖了那本书 三、作业:将第6周3题的E-R模型转为关系模型

15页

如有你有帮助,请购买下载,谢谢!

第8周(第三章:关系代数,关系演算自学)

一、实验课:数据库连接编程(PB10.0与SQL Serve r):第13章实验5-3 二、研讨课:

1. 请用SQL,关系代数,元组关系演算,域关系演算写出如下查询:检索同时选修了

“08305001”和“08305002”的学生学号和姓名。(提示:不止4种查询表达方式) sql和关系代数:自连接和集合交运算 关系代数和关系演算:自连接 答案略

2. 请用关系代数写出检索同时有3个或3个以上学生选课的老师所在学院名,教师名

mc,xm(D⋈T⋈4(4=1111=183=1010=171<>88<>151<>15(EEE)))

3. 用元组关系演算写出如下查询:

 检索选修课程包含1106同学所学全部课程的学生学号和姓名。  检索刘晓明不学的课程的课程号。

{t|(u)(S(u)∧(v)(E(v)∧(v[1]=’1106’(w)(E(w)∧w[1]=u[1]∧w[3]=v[3])))∧t[1]=u[1]∧t[2]=u[2])}

{t|(u)(v)(w)(C(u)∧S(v)∧E(w)∧(v[2]=’刘晓明’∧v[1]=w[1]

w[3]u[1])∧t[1]=u[1])}

三、作业:用关系代数写出如下1-5

1. 查询1992年以前出生的男学生的学号与姓名。 2. 检索刘晓明不学的课程的课程号。

3. 查询计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教师姓名, 4. 检索所有课程都选修的的学生的学号与姓名。

5. 检索选修课程包含1106同学所学全部课程的学生学号和姓名。 6. 写出如下关系式的结果:

 关系代数表达式1,5,6(15(RS)) A 1 4 7 10 B 2 5 8 11 R

C 3 6 9 12

A 3 4 5 6 B 7 7 12 10 S

C 11 6 13 14  元组演算表达式

{t|(u)(R(t)S(u)t[3]u[1])}

A 1 4 7 10 B 2 5 8 11 R

C 3 6 9 12

A 3 4 5 6 B 7 5 9 10 S

C 11 6 13 14  关系代数表达式

RS

关系R A a1 a1 B b1 b2 C c1 c1

关系S B b1 b2 D d1 d1 16页

如有你有帮助,请购买下载,谢谢!

a2 b2 c2

17页

如有你有帮助,请购买下载,谢谢!

第9周(第三章:查询优化)

一、实验课:数据库连接编程(网络语言与SQL Server),有同学们自由发挥。 二、研讨课:

1. 作为数据管理的工具,举例数据库的好处?举例数据库存在问题?

(先各说3个吧)

好处: 1.数据冗余少; 2.能够表达数据间联系; 3.数据更新方便;3.统一的完整性控制;….这个比较好说

问题: 1. 数据间联系表达不直观(不直接);2. 通过数据间联系查找数据不方便;3. 数据库模式设计好后修改困难;4. 标识数据必须用值来标识;5.不能 表示复杂数据(数组、向量、结构等)

2. 对查询命令“计算机学院男生总评成绩及格、教授开设的课程的课程号、课名、开课教

师姓名”画出语法书树,优化树 不唯一,略

3. 指出下式不合理之处,然后优化下式,画出语法树,优化树

mc,xh,xm((бd.mc=’计算机学院’∧xb=’女’(S⋈D⋈T)))

不合理处:1)投影的姓名不唯一,需指出那张表

2)不能用自然连接,因为本意是主外键连接,但实际上有同名的非主、外

3)连接顺序应是D,T,S 树不唯一,略

三、作业:书本P66-3.15中①③④

18页

如有你有帮助,请购买下载,谢谢!

第10周(数据库原理1复习)

一、实验课:验收后四周实验

二、研讨课:根据下半学期的学习情况,对学生在学习中的问题,两个班合班上习题课

19页

因篇幅问题不能全部显示,请点此查看更多更全内容