2012春北大网络教育数据库原理作业答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2012春北大网络教育(计算机专业)数据库原理作业答案(一)数据库的发展历史分哪几个阶段?各有什么特点。答:数据库的发展历史可分为3个阶段。从数据管理的角度看,数据库技术到目前共经历了人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段数据管理特点:数据不保存,没有对数据进行管理的软件系统,没有文件的概念,数据不具有独立性。文件系统阶段数据管理特点:数据可以长期保存,由文件系统管理数据,文件的形式已经多样化,数据具有一定的独立性。数据库系统阶段数据管理特点:采用复杂的结构化的数据模型,较高的数据独立性,最低的冗余度,数据控制功能。(二)简述数据库设计过程的各个阶段上的设计描述。答:数据库设计过程共包括6个阶段。1)需求分析:需求分析阶段应对系统的整个应用情况作全面的、详细的调查、确定用户的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户需求,并把这些要求写成用户和数据库设计者都能够接受的文档。确定用户需求可以通过对不同层次的企业管理人员进行个人访问得到。还应了解系统将来要发生的变化,充分考虑系统的可能的扩充和变动,使系统设计更符合未来发展方向。2)概念结构设计:概念模型可以看成是现实世界到机器世界的一个过渡的中间层次。在设计数据库系统时,要把现实世界的事物通过认识和抽象转换为信息世界的概念模型,再把概念模型转换为机器世界的数据模型。概念结构设计是整个数据库设计的关键通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3)逻辑结构设计:逻辑结构设计将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。4)物理结构设计:物理结构设计为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5)数据库实施:运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果,建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。6)数据库运行和维护:数据库应用系统经过试运行后即可投入正式运行。(三)学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程可由若干学生选修。用E-R图画出该学校的概念模型。(四)今要建立关于系、学生、班级、学会诸信息的一个关系数据库。一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一个宿舍区。每个学生可参加若干学会,每个学会有若干学生。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属性有:系号、系名、系办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。学生参加某学会有一个入会年份请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况,讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各种关系的候选码和外部码。答:关系模式方案一:学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系名,人数,入校年份)系(系名,系号,系办公室地点,人数)学会(学会名,成立年份,地点,人数,学号,入会年份)方案二:学生(学号,姓名,出生年月,系名,班号,宿舍区)班级(班号,专业名,系名,人数,入校年份)系(系名,系号,系办公室地点,人数)学会(学会名,成立年份,地点,人数)学生入会(学会名,学号,入会年份)关系模式的极小函数依赖集如果函数依赖集F满足下列条件,则称F为一个极小函数依赖集。亦称为最小依赖集或最小覆盖。(1)F中任一函数依赖的右部仅含有一个属性。(2)F中不存在这样的函数依赖X→A,使得F与F-{X→A}等价。(多余的不要写,由函数依赖中推导出的函数依赖)(3)F中不存在这样的函数依赖X→A,X有真子集z使得F–{X→A}∪{Z→A}与F等价。例如student(sno,sname,sdept,sage)sno→sdeptsno→sname,sdept(不必写)(sno,sname)→sdept(不必写)(sno,sdept)→sdept(不必写)学生模式学生(学号,姓名,出生年月,系名,班号,宿舍区)学生f={学号→姓名,学号→出生年月,学号→班号,系名→宿舍区,班号→系名}候选码:学号主属性:{学号}非主属性{姓名,出生年月,系名,班号,宿舍区}传递有传递依赖:学号→系名(学号→班号,班号→系名)传递学号→宿舍区(系名→宿舍区,学号→系名)传递班号→宿舍区(班号→系名,系名→宿舍区)外部码:系名,班号属于第几范式?(2NF)没有非主属性对码的部分依赖,但有对码的传递依赖(五)现有关系数据库如下:学生(学号,姓名,性别,专业、奖学金)课程(课程号,名称,学分)学习(学号,课程号,分数)请用关系代数表达式实现下列1—4小题,用SQL语言实现下列5—8小题1.检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数;答1.Π学号,姓名,课程名,分数(σ奖学金0∧专业=国际贸易(学生∞学习∞课程))2.检索学生成绩得过满分(100分)的课程的课程号、名称和学分;答2.Π课程号,名称,学分(σ分数=100(学习∞课程))3.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;答3.Π学号,姓名,专业(σ奖学金=0∧分数95(学生∞学习))4.检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业;答4.Π学号,姓名,专业(学生)—Π学号,姓名,专业(σ分数80(学生∞学习))5.检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业;答5.SELECT学生.学号,姓名,专业FROM学生,学习WHERE学生.学号=学习.学号AND学习.课程号=课程.课程号AND奖学金=0AND分数956.检索没有任何一门课程成绩在80分以下的所有学生的信息,包括学号、姓名和专业答6.SELECT学号,姓名,专业FROM学生WHERE学号NOTIN(SELECT学号FROM学习WHERE分数80)7.对成绩得过满分(100分)的学生,如果没有获得奖学金的,将其奖学金设为1000元;答7.UPDATE学生SET奖学金=1000WHERE奖学金=0AND学号IN(SELECT学号FROM学习WHERE分数=100)8.定义学生成绩得过满分(100分)的课程视图AAA,包括课程号、名称和学分;答:8.CREATEVIEWAAA(课程号,名称,学分)ASSELECT课程号,名称,学分FORM课程WHERE课程号IN(SELECT课程号FROM学习WHERE分数=100)

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功