数据库系统概论作业1答案_第1页
数据库系统概论作业1答案_第2页
数据库系统概论作业1答案_第3页
数据库系统概论作业1答案_第4页
数据库系统概论作业1答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.数据库系统概论作业1答案1、答:数据:计算机用来描述事物的记录(文字、图形、图像、声音)。 数据模型:是人们对现实世界的数据特征的抽象。数据库:由DBMS管理的数据的聚集。 数据库管理系统DBMS:专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。数据库系统DBS(database system):包括和数据库有关的数据库、DBMS、应用程序、数据库管理员和用户等。2、答:数据的结构化;数据共享性好;数据独立性好;数据存取粒度小;数据库管理系统对数据进行统一管理和控制;为用户提供了友好的接口。3、(1)答:键码是学号StudentNo,属性姓名、性别、系是字符型,年龄是整型。(

2、2)答:1101明明18女计算机1102小李19男数学1103小五19女数学4、(1)答:键码是图书号BookNo,属性图书名、图书作者是字符型。(2)答:001西游记吴承恩002水浒施耐庵003三国演义罗贯中5、答:interface producer (key name )attribute string name ;attribute string address;attribute string tel;relationship set <product > producesinverse product:producedby ;;interface product (ke

3、y (brand ,model) )attribute string brand ;attribute string model;attribute integer price ;relationship producer producedbyinverse producer:produces ; 6、答:7、答:interface ComputerProduct :Product interface PortableComputer:ComputerProduct attribute float Length;attribute float Wide;attribute float Thic

4、k;attribute string BatteryTypeProductBrandmodelPriceisaComputerProductisaPortableComputerLengthWideThickkBatteryType8、答:(1) 3!*3!=36(2) 4!*5!=24*120=2880(3)m个属性可有m!种不同的排列顺序,n个元组可有n!种不同的排列顺序,因此共有m! * n!种不同的排列顺序。9、答:producer(name,address,tel)product(brand,model,price)produce(name,brand,model)10、答:cust

5、omer(no, name ,address ) flight (number,date ,kind)booking (no, number ,date,seat )11、答:假设学生选课数据库关系模式如下: student (sno, sname, sage ,sdept ) course (cno, cname) sc (sno,cno, score)(1)  sdept,sage(sno=9900111(student )(2) cname(score<60 (sc)course)(3) sname(score<60 (sc)sdept=计算机系(student )

6、) (4) score(sname=张林(student) sc cname=数据库原理(course))12、答:元组关系演算 域关系演算13、答:(1)s(d,a) student (sno,sn,a,d) and sno=9900111(2)c(cn)coures (cno,cn).and sc(sno,cno,s) and s<60(3)s(sn)student (sno,sn,a,d) and sc(sno,cno,s) and d=计算机系and s<60(4)u(s)student (sno,sn,a,d) and sc(sno,cno,s)and cour

7、es (cno,cn) and sn=张林and cn=数据库原理14、答:15、答:(1) U(a,b,c)R(a,b,c)U(a,b,c)S(a,b,c)(2) I(a,b,c)R(a,b,c) AND S(a,b,c)(3) D(a,b,c) R(a,b,c) AND NOT S(a,b,c)(4)U(a,b,c)R(a,b,c)U(a,b,c)S(a,b,c)D(a,b,c) U(a,b,c) AND NOT T(a,b,c)数据库系统概论作业2答案1、 答:CREATE TABLE Movie(Title CHAR(30),Year INT,Length INT);CREATE TA

8、BLE Actor(Name CHAR(20),Address VARCHAR(30),Gender CHAR(1),Birthdate DATE);CREATE Acts(MovieTitle CHAR(30),MovieYear INT,ActorName CHAR(20);2、 答: 1)SELECT AVG(Length),MIN(Length)FROM MovieWHERE Year=1999;2)SELECT ActorNameFROM ActsWHERE MovieYear=1999;3)SELECT M1.Title,M1.Year,M2.YearFROM Movie AS M

9、1,Movie AS M2WHERE M1.Title=M2.Title AND M1.Year<M2.Year;4)INSERT INTO Actor(Name,Gender)VALUES(秀兰·邓波儿,F);5)UPDATE Movie SET Length=109WHERE Title=我的世界;6)DELETE FROM MovieWHERE Year<1940;DELETE FROM ActsWHERE MovieYear<1940;3、答:ALTER TABLE MovieADD MovieDirector CHAR(20);4、 答: 1)SELECT

10、 Cno,CnameFROM CourseWHERE Teacher LIKE 刘%;2)SELECT Sno,SnameFROMStudentWHERE Sage<22 AND Ssex=F;3)SELECT SnameFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.CnoAND Teacher LIKE 刘%;4)SELECT SnameFROM Student,SC,CourseWHERE Student.Sno=SC.Sno AND SC.Cno=Course.CnoAND Cname=程序设计 A

11、ND Grade>90;5)SELECt SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno=Student.Sno AND Cno=C3);6)SELECT X.SnoFROM SC AS X,SC AS YWHERE X.Sno=Y.Sno AND X.Cno=C1 AND Y.Cno=C2;5、答:1)SELECT Cno,AVG(Grade)FROM SC,CourseWHERE SC.Cno=Course.Cno AND Teacher LIKE 孙%GROUP BY Cno;2)SELECT Cno,COUNT

12、(*)FROM SCGROUP BY CnoORDER BY COUNT(*) DESC,Cno;6、答:1)INSERT INTO StudentVALUES(990012,梅立松,20,女);2)DELETE FROM SCWHERE Sno IN(SELECT SnoFROM StudentWHERE Sname=夏秋雨);3)UPDATE SC SET Grade=1.1*GradeWHERE Cno IN(SELECT CnoFROM CourseWHERE Cname=英语);7、答:1) CREATE VIEW Myear AS SELECT *FROM movieWHERE Y

13、ear>=1990 AND Year<=1999;2) SELECT Title,actorNameFROM Myear,ActsWHERE Acts.MovieTitle= Myear. Title AND Length>120;8、答:1)StudentNameCourse.CourseName=数据库原理 AND StudentCourse.Score>90 Course Student StudentCourse2)a)Course.CourseName=数据库原理 AND StudentCourse.Score>90Course.CourseName=数

14、据库原理和StudentCourse.Score>90b)CourseName=数据库原理Coursec)Score>90StudentCourse3)原始语法树:StudentNameCourse.CourseName=数据库原理 AND StudentCourse.Score>90Student.StudentNo=StudentCourse.StudentNo ANDCourse.CourseNo=StudentCourse.CourseNoCourseStudentStudentCourse优化语法树(Student简写为S,Course简写为C)SNameS.SNo

15、=SC.SNo S.SNo,SNameSC.SNoSSC.CNo=C.CNo SC.SNo,SC.CNoC.CNoScore>90CName=数据库原理SC C9、答:事务T1可以分解为以下三个操作:1.读B2.运算B*23.运算结果写入A事务T2可以分解为以下三个操作:1.读A2.运算A+13.运算结果写入B两个事物的并发实际上就是以上两个事务中的六个操作的排列,因此有6!种调度方法,但不是每一种调度方法都有实际意义,例如:运算B*2的操作排列在读B的操作之前就没有意义。所以可以操作的调度方法有:第一种:1.读B2.运算B*23.读A4.运算结果写入A5.运算A+16.运算结果写入B

16、最终:A为6,B为2第二种:1.读B2.读A3.运算B*24.运算结果写入A5.运算A+16.运算结果写入B最终:A为6,B为2第三种:1.读B2.读A3.运算A+14.运算B*25.写入B6.写入A 最终:A为6,B为2其它几种调度方法,只要读A,读B发生在写入A和写入B之前,则最终结果都与上述三种调度方法相同,在此不一一例举。事务1和事务2的串行调度:第一种:1.读B2.运算B*23.写入A4.读A5.运算A+16.写入B最终:A为6,B为7第二种:1.读A2.运算A+13.写入B4.读B5.运算B*26.写入A 最终:A为4,B为2由于前三种调度方法的运算结果没有一个是与这两个串行调度运

17、算结果之一相同的,所以前三种的调度方法都是错误的并发调度。只有后两种是正确的。数据库系统概论作业3答案1、 答:假设关系r如下所示,显然r的键码为(职工编号,工种)。职工编号姓名车间车间主任工种工作量0011张三一车间宋大林车工1500011张三一车间宋大林钳工1000211高铭二车间李大有锻工500312宋东生三车间赵光装配工800312宋东生三车间赵光检验员90(1)r中存在部分依赖。因为职工姓名部分依赖于键码,r关系中存在非主属性对键码的部分依赖,r不符合2nf。使之符合2nf必须分解。分解为r1(职工编号,姓名,车间,车间主任)r2(职工编号,工种,工作量)(2)又因r1中,职工编号&

18、#224;车间,车间à车间主任,r关系中存在非主属性对键码的传递依赖,r1不符合3nf。使之符合3nf必须分解。分解为r11(职工编号,姓名,车间) r12(车间,车间主任)(3)不符合bcnf的关系模式见教材p129的stc关系2、答: 1)先求各种属性组合的封闭集,再从中找出新的函数依赖。A+=ABCDB+=BCDC+=CD+=DAàC,AàD (2)A B+=ABCD A C+=ABCD A D+=ABCD BC+=BCD BD+=BCDCD+=CDABàC,ABàD ACàB,ACàD ADàB,AD

19、24;C BCàD BDàC(8)A B C+=ABCDA B D+=ABCDBCD+=BCDABCàD ABDàC (2)A B C D+=ABCD蕴含于给定函数依赖的非平凡函数依赖共12个。2)A为键码。3)AB,AC,AD,ABC,ABD,ABCD为超键码。3、答:1)参看教材P.122例6.1,共有14个非平凡函数依赖(包括已知的和导出的):CàA,CàD,DàAABàC,ABàD,ACàD,BCàA,BCàD,BDàA,BDàC,CDà

20、AABCàD,ABDàC,BCDàA共有3个键码:AB,BC,BD其决定因素不包含键码的函数依赖即为BC范式的违例,如下所示:CàA,CàD,DàA,ACàD,CDàA2)以违例CàD为基础进行分解:R1(C,D)R2(A,B,C)R1属于BC范式。R2有函数依赖CàA,ABàC,BCàAAB+=ABC, BC+=ABCAB,BC均为键码。函数依赖CàA为BC范式违例。于是R2又可分解为:R3(A,C)R4(B,C)至此,R分解为R1,R3,R4,均属于BC范式。5

21、、 答:参看教材P.1265、答:参看习题、实验与考试辅导P.92第4题6、答:参看习题、实验与考试辅导P.106第2题7、答:8、答:#define NO-TUPLE ! (strcmp (SQLSTATE,”02000”)void closestMatchPC( ) EXEC SQL BEGIN DECLARE SECTION;char maker1 30, SQLSTATE 6;int targetPrice, model1, speed1, price1;EXEC SQL END DECLARE SECTION;EXEC SQL DECLARE pcCursor CURSOR FORS

22、ELECT model, speed, price FROM PC;EXEC SQL OPEN pcCursor;cout<<”Input target price.”cin>>targetPrice;while (1) EXEC SQL FETCH FROM pcCursorINTO :model1, :speed1, :price1;if (NO-TUPLE) break;if (targetPrice-price1<1000) | (price1-targetPrice<1000) EXEC SQL SELECT makerINTO :maker1FROM ProductWHERE model=:model1;cout<<maker1, model1, speed1, price1;EXEC SQL CLOSE CURSOR pcCursor;9、答:1)create table movie(.year int check (year>=1895),.);2) create table movie (.length int check (length>=60 and length<=240),. ); 10、答

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论