数据库系统概论ziliaoWord下载.docx

上传人:b****5 文档编号:8389407 上传时间:2023-05-11 格式:DOCX 页数:27 大小:132.52KB
下载 相关 举报
数据库系统概论ziliaoWord下载.docx_第1页
第1页 / 共27页
数据库系统概论ziliaoWord下载.docx_第2页
第2页 / 共27页
数据库系统概论ziliaoWord下载.docx_第3页
第3页 / 共27页
数据库系统概论ziliaoWord下载.docx_第4页
第4页 / 共27页
数据库系统概论ziliaoWord下载.docx_第5页
第5页 / 共27页
数据库系统概论ziliaoWord下载.docx_第6页
第6页 / 共27页
数据库系统概论ziliaoWord下载.docx_第7页
第7页 / 共27页
数据库系统概论ziliaoWord下载.docx_第8页
第8页 / 共27页
数据库系统概论ziliaoWord下载.docx_第9页
第9页 / 共27页
数据库系统概论ziliaoWord下载.docx_第10页
第10页 / 共27页
数据库系统概论ziliaoWord下载.docx_第11页
第11页 / 共27页
数据库系统概论ziliaoWord下载.docx_第12页
第12页 / 共27页
数据库系统概论ziliaoWord下载.docx_第13页
第13页 / 共27页
数据库系统概论ziliaoWord下载.docx_第14页
第14页 / 共27页
数据库系统概论ziliaoWord下载.docx_第15页
第15页 / 共27页
数据库系统概论ziliaoWord下载.docx_第16页
第16页 / 共27页
数据库系统概论ziliaoWord下载.docx_第17页
第17页 / 共27页
数据库系统概论ziliaoWord下载.docx_第18页
第18页 / 共27页
数据库系统概论ziliaoWord下载.docx_第19页
第19页 / 共27页
数据库系统概论ziliaoWord下载.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库系统概论ziliaoWord下载.docx

《数据库系统概论ziliaoWord下载.docx》由会员分享,可在线阅读,更多相关《数据库系统概论ziliaoWord下载.docx(27页珍藏版)》请在冰点文库上搜索。

数据库系统概论ziliaoWord下载.docx

所在系:

字符型。

(2)

学号

姓名

年龄

性别

所在系

991510000

张三

25

.T.

计算机

991510078

李四

24

化学

981501008

王燕

.F.

中文

5.请为计算机经销商设计一个数据库,要求包括生产厂商和产品的信息。

生产厂商的信息包括名称、地址、电话等;

产品的信息包括生产商、品牌、配置、近价等。

试用ODL描述这个数据库,注意要为所有的属性和联系选择适当的类型,并且指出每个类的键码。

答案:

interfaceProduce

(keyname)

{attributestringname;

attributestringaddress;

attributestringtel;

relationashipSet<

Product>

produces

inverseProduct:

:

ProducedBy;

}

interfaceProduct

(key(brand,model))

{attributestringbrand;

attributestringmodel;

attributeintegerprice;

relationashipProducerproducedBy

inverseProducer:

Produces;

6.将上面题5的数据库用E-R图来描述。

7.假设题5的数据库中,计算机产品类有了一个笔记本电脑子类,该子类本身拥有尺寸(长、宽、厚度)、电池型号等属性,试重新设计数据库,将增加的部分分别用ODL和E/R图描述。

(1)ODL:

interfaceComputerProduct:

Product{

interfacePortableComputer:

ComputerProduct{

attributefloatLength;

attributefloatWide;

attributefloatThick;

attributestringBatteryType

(2)E/R图:

8、如果某关系的实例满足下列条件之一,要表示该实例,有多少种不同的方法(考虑元组的顺序和属性的顺序):

(1)3个属性,3个元组

(2)4个属性,5个元组

(3)m个属性,n个元组

(1)3!

*3!

=36

(2)4!

*5!

=24*120=2880

m个属性可有m!

种不同的排列顺序,n个元组可有n!

种不同的排列顺序,因此共有m!

*n!

种不同的排列顺序。

9.将题5的ODL设计转换成关系数据库模型。

转换为关系模式为:

Producer(name,address,tel);

Product(brand,model,name);

(注:

其中name为厂商名,若同一厂商提供多种产品需建立多个记录)

 

10.下图表示的是一个航空公司的E/R图,试将其转换为关系数据库模式。

其中Customer表示乘客,有三个属性:

乘客号No,姓名Name和地址Address,Flight表示航班,页有三个属性:

航班号Number,日期Date和机型Kind;

Booking表示乘客订票的信息,有一个属性:

Seat。

Customer(No,Name,Address)

Flight(Number,Date,Kint)

Booking(No,Number,Date,Seat)

11.假设学生选课数据库如下:

Student(Sno,Sname,Age,Dept)

Couse(Cno,Cname,Teacher)

SC(Sno,Cno,Score)

用关系代数分别进行如下查询:

(1)学号为9900111的学生的系别和年龄;

(2)有不及格(成绩《60》学生的课程名;

(3)计算机系有不及格课程的学生名单;

(4)学生张林的“数据库原理”课成绩。

(1)πDept,Sage(σSno=9900111(Student))

(2)πCname(σscore<

60(SC)Course)

(3)πSname(σscore<

60(SC)σDept=‘计算机系’(Student)

(4)πScore(σsname=‘张林’(Stident)SC(σCname=‘数据库原理’(Course))

12.分别用元组关系运算和域关系演算表示题11中的查询。

元组关系运算:

(1)

(2)

(3)

(4)

域关系演算:

13.用数据库逻辑规则表示习题一中的查询。

(1)S(D,A←Student(SNo,SN,A,D)ANDSNO=9900111

(2)C(CN)←Course(CNo,CN)ANDSC(SNo,CNo,S)ANDS<

60

(3)S(S,N)←Student(SNo,SN,A,D)ANDSC(SNo,CNo,S)ANDD=’计算机系’ANDS<

(4)U(S)←Student(SNo,SN,A,D)ANDSC(SNo,CNo,S)ANDCourse(CNo,CN)

ANDSN=’张林’ANDCN=’数据库原理’

14.画出题11中查询(4)的关系代数表达树。

《数据库系统概论》作业2

1.一个电影资料数据库有三个基本表:

电影表Movie(含电影名、制作年份、长度、是否彩色、制片商)、演员表Actor(含演员姓名、地址、性别、出生年月)和电影主演表Acts(电影名、制作年份、演员姓名)。

用AQL的建表语句建立这三个基本表,有注意合理地选择属性的数据类型。

CREATETABLEMovie(

TitleCHAR(30),

YearINT,

LengthINT

);

CREATETABLEActor(

NameCHAR(20),

GenderVARCHAR(30),

LengthCHAR

(1)

BirthdateDATE

CREATETABLEActs(

MoiveTitleCHAR(30),

MoiveYearINT,

ActorNameCHAR(20)

2.在题1建立的表的基础上,用SQL实现如下查询或更新操作:

(1)统计1999年制作电影的平均长度和最短长度;

(2)在1999年主演过电影的演员姓名;

(3)所有同名电影各自的电影名和制作年份;

(4)往演员关系Actor插入一个演员记录,具体的数据值由你指定;

(5)把电影“我的世界“的长度改为109分钟;

(6)删除1940年以前制作的所有电影记录以及电影主演记录。

(1)SELECTAVG(Length),MIN(Length)

FROMMovie

WHEREYear=1999;

(2)SELECTActorName

FROMActs

WHEREMovieYear=1999;

(3)SELECTM1.Title,M1.Year,M2.Year

FROMMovieASM1,MovieASM2

WHEREM1.Title=M2.TitleANDM1.Year<

M2.Year

(4)INSERTINTOActor(Name,Gender)

VALUES(‘秀兰·

邓波儿’,’F’);

(5)UPDATEMovieSETLength=109

WHERETitle=’我的世界’;

(6)DELETEFROMMovie

WHEREYear<

1940;

DELETEFROMActs

WHEREMovieYear<

3.在题1建立的表但是基础上,要求为Movie关系增加一个属性MovieDirector(电影导演)。

用SQL实现这种关系模式的改变。

ALTERTABLEMovie

ADDMovieDirectorCHAR(20)

4.假设学生一课程数据库关系模式如下:

Student(Sno,Sname,Sage,Ssex)

Course(Cno,Cname,Teacher)

SC(Sno,Cno,Grade)

用SQL语句表达下列查询:

(1)找出刘老师所授课程的课程号和课程名。

(2)找出年龄小于22岁女学生的学号和姓名。

(3)找出至少选修刘老师讲的一门课的学生姓名。

(4)找出“程序设计”课成绩在90分以上的学生姓名。

(5)找出不学C3课的学生姓名。

(6)找出至少选修C1课和C2课的学生学号。

(1)SELECTCno,Cname

FORMCourse

WHIRETeacherLIKE‘刘%’;

(2)SELECTSno,Sname

FORMStudent

WHIRESage<

22ANDSsex=’F’;

(3)SELECTSname

FORMStudent,SC,Course

WHIREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDTeacherLIKE’刘%’;

(4)SELECTSname

WHIREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno

ANDCname=’程序设计’ANDGrade>

90;

(5)SELECTSname

WHIRENOTEXISTS

(SELECT*

FORMSC

WHIRESno=Student.SnoANDCno=’C3’);

(6)SELECTX.Sno

FROMSCASX,SCASY

WHEREX.Sno=Y.Y.SnoANDX.Cno=’C1’ANDY.Cno=’C2’;

5.按照题4的数据库模式谢出下列查询:

(1)求孙老师讲的每门课的学生平均成绩。

(2)统计选修各门课的学生人数。

输出课程号和人数。

查询结果按人数降序排列,若人数相同,则按课程号升序排列。

(1)SELECTCno,AVG(Grade)

FORMSC,Course

WHERESC.Cno=Course.CnoANDTeacherLIKE‘孙%’

GROUPBYCno

(2)SELECTCno,COUNT(*)

FORMSC

ORDERBYCOUNT(*)DESC,Cno

6.用SQL的更新语句表达对学生-课程数据库的下列更新操作:

(1)往学生关系Student中插入一个学生元组(990012,梅立松,20,女)。

(2)从学生选课关系SC中删除夏春秋同学的所有元组。

(3)在学生选课关系SC中,把英语课的成绩提高10%。

(1)INSERTINTOStudent

VALUES(990012,’梅立松’,20,’女’);

(2)DELETEFORMSC

WHERESnoIN

(SELECTSno

FORMStudent

WHERESname=’夏春秋’);

(3)UPDATESCSETGrade=1.1*Grade

WHERECnoIN

(SELECTCno

FORMCourse

WHERECname=’英语’);

8.从学生选课数据库中查询选修“数据库原理”课并且成绩在90分以上的学生名单,SQL语句序列如下:

SELECTStudentName

FORMStudent,Course,StudentCourse

WHEREStudent.StudentNo=StudentCourse.StudentNo

ANDCourse.CourseNo=StudentCourse.CourseNo

ANDCourse.CourseName=’数据库原理’ANDStudentCourse.Score>

90

(1)画出这个查询的关系代数语法树;

(2)对该语法树进行优化并画出优化后的语法树。

(1)对应查询的关系代数语法树

(3)优化语法树(Student简写为S,Course简写为C)

9.设T1、T2是如下两个事务:

T1:

A=B*2

T2:

B=A+1

A、B的初值分别是1和3。

(1)设T1和T2可以并发执行,并且对其操作的调度不加限制,那么它们的并发执行可能产生哪几种结果(写出最后A、B的值)?

(2)这些执行结果中哪些是正确的?

解:

(1)第一种调度:

①读A=1,B=3:

(TI)

②A=B*2=6(T1)

③写回A=6,B=3(T1)

④读A=6,B=3(T2)

⑤B=A+1=7(T2)

⑥写回A=6,B=7(T2)

结果:

A=6,B=7

第二种调度:

(T2)

②B=A+1=2(T2)

③写回A=1,B=2(T2)

④读A=1,B=2(T1)

⑤A=B*2=4(T1)

⑥写回A=4,B=2(T2)

A=4,B=2

第三种调度:

(T1)

②读A=1,B=3(T2)

③A=B*2=6(T1)

④B=A+1=2(T2)

⑤写回A=6,B=3(T1)

⑥写回A=1,B=2(T2)

A=1,B=2

第四种调度:

②读A=1,B=3(T1)

③B=A+1=2(T2)

④A=B*2=6(T1)

⑤写回A=1,B=2(T2)

⑥写回A=6,B=3(T1)

A=6,B=3

第五种调度:

③读A=1,B=3(T2)

第六种调度:

③读A=1,B=3(T1)

(2)第一种结果:

A=6,B=7;

和第二种结果:

A=4,B=2正确。

根据可串行化的原则,两个事务并发执行的结果只要和任意一种串行的结果相同,就认为是正确的。

《数据库系统概论》作业3

1、举例说明不符合2NF,3NF和BCNF的关系模式,如何使之符合相应范式?

第一种方法:

先求各种属性组合的封闭集,再从中找出新的函数依赖。

A+=ABCDB+=BCDC+=CD+=D

AC,AD……

(2)

AB+=ABCDAC+=ABCDAD+=ABCDBC+=BCDBD+=BCDCD+=CD

ABC,ABDACB,ACDADB,ADCBCDBDC……(8)

ABC+=ABCDABD+=ABCDBCD+=BCD

ABCDABDC……

(2)

ABCD+=ABCD

蕴含于给定函数依赖的非平凡函数依赖共12个。

2)

A为键码。

3)

AB,AC,AD,ABC,ABD,ABCD为超键码。

第二种方法:

在Student(Sno,Sname,Sdept,Mname,Cname,Grade)中 

存在依赖:

Sno,Cname→Sname,Sdept,Mname 

左边是键码,但是右边的非主属性都部分依赖Sno 

Sno→Sname 

Sno→Sdept 

Sno→Mname 

所以Student不是2NF

Student可以分解为以下模式 

Student(Sno,Sname,Sdept,Mname) 

SC(Sno,Cname,Grade) 

在Student中键码是Sno,其它都是非主属性,它们都完全 

函数依赖于Sno 

在SC中,键码是Sno,Cname,只有一个非主属性Grade, 

它完全函数依赖于键码 

所以分解后的关系模式是2NF

Supplyer(SpNo,City,Area,Phone) 

SpNo——供应商编号 

Area——城市所在地区 

其中,SpNo是键码 

函数依赖有 

SpNo→City,SpNo→Area,SpNo→Phone 

City→Area 

所有的非主属性都完全函数依赖于键码,所以Supplyer是 

2NF。

SpNo→City,City→Area, 

所以Area传递依赖于键码,且Aera是非主属性。

Supplyer不是3NF。

是2NF 

但是在Student中:

Sno→Sdept,Sdept→Mname 

非主属性Mname传递依赖于键码Sno 

所以以上关系模式不是3NF。

将Student分解为:

Student(Sno,Sname,Sdept) 

Dept(Sdept,Mname) 

Sdept是关系Dept的键码 

是3NF

在一个关系模式的所有非平凡函数依赖中,如果所有决定因素都包含键码,即决定因素是超键,则该关系模式属于BCNF

例1:

C(City,Street,Zip)

其中键码是City,Street

City——主属性,Street——主属性,Zip——非主属性

City,Street→Zip

Zip→City

Zip不是超键码

所以关系C是3NF,但不是BCNF

假如有关系模式R(A,B,C,D)和函数依赖集S={B->

C,B->

D}。

(1)找出所有BCNF违例。

(2)如果该关系模式不是BCNF,则将它分解为BCNF

(3)找出所有的违背3NF的依赖

(4)如果该关系不是3NF,则将它分解为3NF

步骤一:

找出R在S上的所有非平凡依赖,首先计算封闭

单属性封闭集:

A+=A,B+=BCD,C+=C,D+=D

双属性封闭集:

AB+=ABCD,AC+=AC,AD+=AD,BC+=BCD,BD+=BCD,CD+=CD

三属性封闭集:

ABC+=ABCD,ABD+=ABCD,BCD+=BCD,ACD+=ACD

四属性封闭集:

ABCD+=ABCD

步骤二:

根据计算所得的封闭集,找出键码和超键码

键码:

AB

超键码:

ABC,ABD,ABCD

步骤三:

找出所有的非平凡函数依赖

B->

D,AB->

C,AB->

D,BC->

D,BD->

C

ABC->

D,ABD->

其中:

AB->

D,ABC->

C

而:

C是BCNF违例

步骤四:

进行BCNF规范。

BCNF违例自成一体。

从以上BCNF违例中选择B->

C自成

一体

R1(B,C)

舍其右全集归一,即舍去B->

C的右边属性C,所以得到

R2(A,B,D)

在R2中还存在BCNF违例B->

D,因此B->

D自成一体,得到

R21(B,D),舍其右全集归一得到R22(A,B)

最后得到的关系模式是:

R1(B,C),R21(B,D),R22(A,B)

AB是键码,所以A,B是主属性,而C,D都是键码以外的属

性,所以C,D都是非主属性。

2、假设关系模式为R(A,B,C,D),函数依赖为A→B,B→C和B→D。

(1)求蕴含给定函数依赖的所有非平凡函数依赖。

(2)求R的所有键码和超键码。

(3)判断该模式为第几范式?

为什么?

(1)求A+,有A+={A},

因为A→B,所以A+={A,B};

因为B→C,所以A+={A,B,C};

因为B→D,所以A+={A,B,C,D}。

因此A为Key,推出新依赖:

(1)A→C,

(2)A→D。

求B+,有B+={B};

因为B→C,所以B+={B,C};

因为B→D,所以B+={B,C,D}。

求C+,有C+={C}。

求D+,有D+={D}。

求AB+,有AB+={A,B};

因为B→C,所以AB+={A,B,C};

因为B→D,所以AB+={A,B,C,D}。

推出新依赖:

(3)AB→C,(4)AB→D。

求AC+,有AC+={A,C};

因为A→B,所以AC+={A,,

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2