据库系统概论》平时作业参考答案

上传人:wuli****0220 文档编号:159242025 上传时间:2022-10-08 格式:DOC 页数:24 大小:143KB
收藏 版权申诉 举报 下载
据库系统概论》平时作业参考答案_第1页
第1页 / 共24页
据库系统概论》平时作业参考答案_第2页
第2页 / 共24页
据库系统概论》平时作业参考答案_第3页
第3页 / 共24页
资源描述:

《据库系统概论》平时作业参考答案》由会员分享,可在线阅读,更多相关《据库系统概论》平时作业参考答案(24页珍藏版)》请在装配图网上搜索。

1、数据库系统概论平时作业参考答案(开本)课程性质:必修基本内容:第一次 第二次 第三次 第四次参考材料:重庆电大网上教学资源课程作业讲评辅导专业:05秋及06春开本计算机科学与技术使用时间:2007年秋期工作单位:巫山县师培中心整理人:李贤光 整理时间:2007.11数据库系统概论平时作业11、简述数据、数据模型、数据库、关系数据库、数据库管理系统、数据库系统的概念。答:数据:凡计算机中用来描述事物的记录都可以称为数据。数据模型:一种对客观事物抽象化的表现形式。数据库:是由管理的数据的聚集。关系数据:以关系模型即二维表为基础的数据库系统。数据库管理系统:专门用于建立和管理数据的一套软件,介于应用

2、程序和操作系统之间。数据库系统:包括和数据有关的整个系统,包括数据库、应用程序以及数据库管理人员和用户等。、数据库系统有哪些特点。答:)数据结构化)数据共享性好,冗余度好)数据独立性好)数据由统一管理和控制,保证多用户并发安全可靠地访问、假设学生关系Student包括五个属性:学号StudentNo、姓名StudentName、年龄StudentAge、性别StudentSex和所在系Department。指出该关系的键码和属性的类型;给出三个适当的元组。答:该关系的键码是:学号;属性的类型:学号:字符型;姓名:字符型;年龄:整型;性别:布尔型;所在系:字符型。学号姓名年龄性别所在系99151

3、0000张三25.T.计算机991510078李四24.T.化学981501008王燕25.F.中文、假设图书关系Library包含三个属性:图书号BookNo、图书名BookName、图书作者BookAuther。指出该关系的键码和属性的类型;给出三个适当的元组。答:图书号为键码、整型,图书名为字符型,作者为字符型;2001 软件工程 王朋 2002 数据库系统概论 李强 2003 操作系统 张小华、请为计算机经销商设计一个数据库,要求包括生产厂商和产品的信息。生产厂商的信息包括名称、地址、电话等;产品的信息包括生产商、品牌、配置、进价等。试用ODL描述这个数据库,注意要为所有的属性和联系选

4、择适当的类型,并且指出每个类的键码。答:interface Producer (key name )attribute string name ;attribute string address;attribute string tel; relationship Set produces inverse Product:producedBy ;;interfae Product (key (brand ,model) )attribute string brand ;attribute string model;attribute integer price ;relationship Pr

5、oducer producedBy inverse Producer:produces ;、将题的数据库用E-R图来描述。答:priceProducerProduceProductbrandmodelnameaddresstel、假设在题的数据库中,计算机产品类有了一个笔记本脑子类,该子类的本身拥有尺寸、电池号等属性,试重新设计数据库,将增加的部分分别用和/图描述。答:(1)ODL:interface ComputerProduct :Product interface PortableComputer:ComputerProduct attribute float Length;attrib

6、ute float Wide;attribute float Thick;attribute string BatteryType(2)E/R图: ProductBrandNameConfigureBegetterTypeInpriceisaComputerProductisaPortableComputerLengthWideThickk 、如果某关系的实例满足下列条件之一,要表示该实例,有多少种不同的方法。)个属性,个元组)个属性,个元组)m个属性,n个元组答:)不同表示方法数:!)不同表示方法数:!)不同表示方法数:n!m!9、将题5的ODL设计转换成关系数据库模式。答:转换为关系模式为

7、: Producer (name,address,tel);Product (brand,model,name);10、下图表示的是一个航空公司的E/R图,试将其转换为关系数据库模式。其中Customer表示乘客,有三个属性:乘客号No,姓名Name和地址Address,Flight表示航班,页有三个属性:航班号Number,日期Date和机型Kind;Booking表示乘客订票的信息,有一个属性:座位号Seat。CustomerFlightNoNameDateSeatNumberKintAddressBookingg 答:转换为关系模式: Customer(No,Name,Address)

8、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)学生张林的“数据库原理”课成绩。答:SDept,Sage(SNO=9900111(Student )Cname(score60 (SC) Course )SName(sc

9、ore60 (SC) (SDept=计算机系(Student ))Score (SName=张林(Student ) SC (CName=数据库原理(Course))12、分别用元组关系运算和域关系演算表示题11中的查询。答:元组关系演算: 域关系演算:13、用数据库逻辑规则表示习题11中的查询。(1)学号为9900111的学生的系别和年龄;(2)有不及格(成绩60学生的课程名;(3)计算机系有不及格课程的学生名单;(4)学生张林的“数据库原理”课成绩。答: (1)S (D,A Student(SNo,SN,A,D) AND SNO=9900111(2)C (CN) Course (CNo,C

10、N) AND SC (SNo,CNo,S) AND S60(3)S (S,N) Student(SNo,SN,A,D) AND SC (SNo,CNo,S) AND D=计算机系 AND S60(4)U (S) Student(SNo,SN,A,D) AND SC (SNo,CNo,S) AND Course (CNo,CN) AND SN=张林 AND CN=数据库原理14、画出题11中查询(4)的关系代数表达树。 ScoreSName=张林CName=数据库原理StudentCoureSC答案:15、假设R(a,b,c)、S(a,b,c)和T(a,b,c)为三个关系模型,写出描述下列各关系

11、代数表达式的数据逻辑规则:(1)RS(2)RS(3)RS (4)(RS)T答:(1) RS: U(a,b,c) R(a,b,c)U(x,y,z) S(x,y,z) (2)RS: I(a,b,c) R(a,b,c) and S(a,b,c)(3)RS: P(a,b,c) R(a,b,c) and NOT S(a,b,c)(4)RST: Q(a,b,c) U(a,b,c) and NOT T(a,b,c)数据库系统概论平时作业21、一个电影资料数据库有三个基本表:电影表Movie(含电影名、制作年份、长度、是否彩色、制片商)、演员表Actor(含演员姓名、地址、性别、出生年月)和电影主演表Acts

12、(电影名、制作年份、演员姓名)。用SQL的建表语句建立这三个基本表,有注意合理地选择属性的数据类型。答:CREATE TABLE Movie( Title CHAR(30), Year INT, Length INT );CREATE TABLE Actor( Name CHAR(20), Gender VARCHAR(30), Length CHAR(1) Birthdate DATECREATE TABLE Acts( MoiveTitle CHAR(30), MoiveYear INT, ActorName CHAR(20)2、在题1建立的表的基础上,用SQL实现如下查询或更新操作:(1

13、)统计1999年制作电影的平均长度和最短长度;(2)在1999年主演过电影的演员姓名;(3)所有同名电影各自的电影名和制作年份;(4)往演员关系Actor插入一个演员记录,具体的数据值由你指定;(5)把电影“我的世界“的长度改为109分钟;(6)删除1940年以前制作的所有电影记录以及电影主演记录。答:(1)SELECT AVG (Length),MIN(Length) FROM Movie WHERE Year=1999;(2)SELECT ActorName FROM Acts WHERE MovieYear=1999;(3)SELECT M1.Title,M1.Year,M2.Year

14、FROM Movie AS M1, Movie AS M2 WHERE M1.Title=M2.Title AND M1.YearM2.Year(4)INSERT INTO Actor(Name,Gender)VALUES(秀兰邓波儿,F);(5)UPDATE Movie SET Length=109 WHERE Title=我的世界;(6)DELETE FROM Movie WHERE Year1940;DELETE FROM Acts WHERE MovieYear1940;3、在题1建立的表的基础上,要求为Movie关系增加一个属性MovieDirector(电影导演)。用SQL实现这种

15、关系模式的改变。答:ALTER TABLE MovieADD MovieDirector CHAR(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)SELECT

16、 Cno,CnameFORM CourseWHIRE Teacher LIKE 刘%;(2)SELECT Sno,SnameFORM StudentWHIRE Sage90;(5)SELECT SnameFORM StudentWHIRE NOT EXISTS (SELECT *FORM SCWHIRE Sno=Student.Sno AND Cno=C3);(6)SELECT X.Sno FROM SC AS X, SC AS Y WHERE X.Sno=Y.Y.Sno AND X.Cno=C1 AND Y.Cno=C2;5、按照题4的数据库模式列出下列查询:(1)求孙老师讲的每门课的学生平

17、均成绩。(2)统计选修各门课的学生人数。输出课程号和人数。查询结果按人数降序排列,若人数相同,则按课程号升序排列。答:(1)SELECT Cno,AVG(Grade) FORM SC,Course WHERE SC.Cno=Course.Cno AND Teacher LIKE 孙% GROUP BY Cno(2)SELECT Cno,COUNT(*) FORM SC GROUP BY Cno ORDER BY COUNT(*)DESC,Cno6、用SQL的更新语句表达对学生-课程数据库的下列更新操作:(1)往学生关系Student中插入一个学生元组(990012,梅立松,20,女)。(2)从

18、学生选课关系SC中删除夏春秋同学的所有元组。(3)在学生选课关系SC中,把英语课的成绩提高10%。答:(1)INSERT INTO Student VALUES(990012, 梅立松,20,女);(2)DELETE FORM SCWHERE Sno IN (SELECT Sno FORM Student WHERE Sname=夏春秋);(3)UPDATE SC SET Grade=1.1*GradeWHERE Cno IN(SELECT Cno FORM CourseWHERE Cname=英语);7、在题1建立的表的基础上,为1990-1999年制作的电影建立视图,并对视图进行如下查询:

19、长度超过120分钟的电影名称和演员姓名。这个视图是可更新视图吗?答:1) CREATE VIEW Myear AS SELECT *FROM movieWHERE Year=1990 AND Year120;3)是可更新视图。8、从学生选课数据库中查询选修“数据库原理”课并且成绩在90分以上的学生名单,SQL语句序列如下:SELECT StudentNameFORM Student,Course,StudentCourseWHERE Student.StudentNo= StudentCourse.StudentNo AND Course.CourseNo= StudentCourse.Cou

20、rseNo AND Course.CourseName=数据库原理 AND StudentCourse.Score90 画出这个查询的关系代数语法树; 对该语法树进行优化(3)画出优化后的语法树。答:(1)对应查询的关系代数语法树 StudentNameCourse.CourseName=数据库原理 AND StudentCourse.Score90StudentCoureStudentCourse(3) 优化语法树(Student简写为S,Course简写为C)SCS SNameS.SNo=SC.SNo S.SNo,SName SC.SNoSC.CNo=C.CNo SC.SNo,SC.CNo

21、 C.CNoScore90CCName=数据库原理9、设T1、T2是如下两个事务:T1:A=B*2T2:B=A+1A、B的初值分别是1和3。设T1和T2可以并发执行,并且对其操作的调度不加限制,那么它们的并发执行可能产生哪几种结果(写出最后A、B的值)?这些执行结果中哪些是正确的?答:第一种调度:读A=1,B=3: (T1)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第二种调度:读A=1,B=3: (T2)B=A+1=2 (T2)写回A=1,B=2 (T2)读A=1,B=2 (T1)A=B

22、*2=4 (T1)写回A=4,B=2 (T2)结果:A=4,B=2第三种调度:读A=1,B=3: (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: (T2)读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: (T1)A=B*2=6 (T1)读A=1,B=3 (T2)B=A+1=2 (T2)写回A=6,B=3 (T1)写回A=1,

23、B=2 (T2)结果:A=1,B=2第六种调度:读A=1,B=3: (T2)B=A+1=2 (T2)读A=1,B=3 (T1)A=B*2=6 (T1)写回A=1,B=2 (T2)写回A=6,B=3 (T1)结果:A=6,B=3第一种结果:A=6,B=7;和第二种结果:A=4,B=2正确。根据可串行化的原则,两个事务并发执行的结果只要和任意一种串行的结果相同,就认为是正确的。数据库系统概论平时作业31、举例说明不符合2NF,3NF和BCNF的关系模式,如何使之符合相应范式?答:1)先求各种属性组合的封闭集,再从中找出新的函数依赖。A+=ABCDB+=BCDC+=CD+=DAC,AD (2)A B

24、+=ABCD A C+=ABCD A D+=ABCD BC+=BCD BD+=BCDCD+=CDABC,ABD ACB,ACD ADB,ADC BCD BDC(8)A B C+=ABCDA B D+=ABCDBCD+=BCDABCD ABDC (2)A B C D+=ABCD蕴含于给定函数依赖的非平凡函数依赖共12个。2)A为键码。3)AB,AC,AD,ABC,ABD,ABCD为超键码。2、假设关系模式为R(A,B,C,D),函数依赖为AB,BC和BD。求蕴含给定函数依赖的所有非平凡函数依赖。求R的所有键码(3)求R的所有超键码答:求A+,有A+=A,因为AB,所以A+=A,B;因为BC,所以

25、A+=A,B,C;因为BD,所以A+=A,B,C,D。因此A为Key,推出新依赖:(1) AC,(2) AD。求B+,有B+=B;因为BC,所以B+=B,C;因为BD, 所以B+=B,C,D。求C+,有C+=C。求D+,有D+=D。求AB+,有AB+=A,B;因为BC,所以AB+=A,B,C;因为BD,所以AB+=A,B,C,D。推出新依赖:(3) ABC,(4) ABD。求AC+,有AC+=A,C;因为AB,所以AC+=A,C,B;因为BD,所以AC+=A,C,B,D。推出新依赖:(5) ACB, (6) AC求AD+,有AD+=A,D;因为AB,所以AD+=A,D,B;因为BC,所以AD+

26、=A,D,B,C。推出新依赖:(7) ADB, (8) ADC。求BC+,有BC+=B,C;因为BD,BC+=B,C,D。推出新依赖:(9) BCD。求BD+,有BD+=B,D;因为BC,所以BD+=B,C,D。推出新依赖:(10) BDC。求CD+,有CD+=C,D。求ABC+,有ABC+=A,B,C;因为BD,所以ABC+=A,B,C,D。推出新依赖: (11) ABCD。求ABD+,有ABD+=A,B,D;因为BC,所以ABD+=A,B,D,C。推出新依赖:(12) ABDC。求ACD+,有ACD+=A,C,D;因为AB,所以ACD+=A,C,D,B.推出新依赖:(13) ACDD求BC

27、D+,有BCD+=DCB。键码为:A;超键码为:AB,AC,AD,ABC,ABD,ABCD。3、假设关系模式为R(A,B,C,D),函数依赖为ABC,CD和DA。找出所有违背BCNF的函数依赖。提示:应考虑不在给定的依赖集但蕴含于其中的依赖。把关系模式R分解成属于BCNF的关系模式的集合。答:1)参看教材P.122例6.1,共有14个非平凡函数依赖(包括已知的和导出的):CA,CD,DAABC,ABD,ACD,BCA,BCD,BDA,BDC,CDAABCD,ABDC,BCDA共有3个键码:AB,BC,BD其决定因素不包含键码的函数依赖即为BC范式的违例,如下所示:CA,CD,DA,ACD,CD

28、A2)以违例CD为基础进行分解:R1(C,D)R2(A,B,C)R1属于BC范式。R2有函数依赖CA,ABC,BCAAB+=ABC, BC+=ABCAB,BC均为键码。函数依赖CA为BC范式违例。于是R2又可分解为:R3(A,C)R4(B,C)至此,R分解为R1,R3,R4,均属于BC范式。4、举出两个具有多值依赖的关系模式。分别将其分解成属于4NF的关系模式。答:从S中各种属性组合的封闭集入手,分析其中蕴含的函数依赖。A+=A, B+=B, C+=ACE对于S来说,CA.AB+=ABCDE, AC+=ACE, BC+=ABCDE对于S来说,ABC,BCAS中成立的函数依赖为CA,ABC,BC

29、A.5、假设关系R用于描述人们的姓名、身份证号和出生日期,包括子女姓名、身份证号和出生日期以及其所拥有的车序号和型号。(n,s,b,cn,cs,cb,as,am).(1)写出关系R中存在的函数依赖和多值依赖。(2)把该关系模式分解成属于4NF的关系模式。答:(1)s n s b cs cn s cb As am s cs s as(2)R1(n,s,b) R2(s,cn,cs,cb) R3(s,as,sm)6、什么是嵌入式SQL,它与交互式SQL有什么区别?答:嵌入式SQL是将SQL语言访问数据库的功能和宿主语言的数据处理功能相结合,而交互式SQL是在独立使用SQL语言进行数据库操作时,其使用

30、方法称为ISQL。它只能用于数据库的操作,不能进行数据库处理;而嵌入式SQL既能访问数据库又能处理数据库。7、有一张记录学生成绩的数据表(gradetable)中包含姓名、课程、学分和成绩四个属性,试使用嵌有SQL的C语言完成计算每个学生GPA的查询。答:详见教材P194及教材第169页。8、我们所熟悉的产品数据库如下:Product(maker,model,type)PC(model,speed,ram,hd,cd,price)Laptop(model,speed,ram,hd,screen,price)Printer(model,color,type,price)用C+或者其他你熟悉的宿主

31、语言编写如下的嵌入式SQL查询:(1)询问用户所要求的价格,找出与要求的价格最接近(价格差小于1000元)的PC机。(2)打印符合要求的PC机的制造商(maker)、型号(model)、速度(speed)和价格(price).答:#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 DECLAR

32、E SECTION;EXEC SQL DECLARE pcCursor CURSOR FORSELECT model, speed, price FROM PC;EXEC SQL OPEN pcCursor;couttargetPrice;while (1) EXEC SQL FETCH FROM pcCursorINTO :model1, :speed1, :price1;if (NO-TUPLE) break;if (targetPrice-price11000) | (price1-targetPrice1000) EXEC SQL SELECT makerINTO :maker1FRO

33、M ProductWHERE model=:model1;cout=1895), ); (2)CREATE TABLE Movie length INT CHECK (length=60 AND length=1939),); (2)CREATE TABLE Actor birthyear INTCHECK (name NOT IN (SELECT actorName FROM Acts) OR birthyear (SELECT year(SELECT birthYear FROM actor WHERE name=actorName) );数据库系统概论平时作业41、有关产品(Produc

34、t)类及其三个子类PC机(PC)、便携式电脑(laptop)、打印机(Printer)的ODL描述如下: interface Product (extent Products Key model) attribute integer model; attribute String maker; attribute string type; attribUte real priCe; ; interface PC:Product (extent PCs) attribute integer speed; attribute integer ram; attribute integer hd; a

35、ttribute string cd; ; Interface Laptop:Product (extent Laptops) attribute inteter speed; attribute inteter ram; attribute inteter hd; attribute real screen; ; interface Printer:Product (extent Printers) attribute boolean color; attribute string printer type; ;其中,Product类有三个属性:型号model、制造商maker和类型type

36、(PC、便携式电脑或打印机)。假设型号对于所有制造商和产品类型都是唯一的。PC机子类有四个属性:速度speed(指处理器的速度,以兆赫计算)、内存ram容量(以兆字节计算)、硬盘hd容量(以千兆字节计算)和光盘驱动器cd速度(以几倍速描述)。便携式电脑Laptop子类与PC机子类不同之处在于:用屏幕尺寸screen(以英寸计算)代替光驱速度。打印机Printer子类有2个属性:输出颜色color(彩色为真)和打印机类型Printertype(激光、喷墨等)。把具有如下功能的函数作为方法署名加到上述ODL代码中:(1) 从产品的价格中减去x。假设x是函数的输人参数。(2) 如果产品是“PC”或者

37、“Laptop”,则返回产品速度。否则就引发异常“not Computer”。(3)设置便携式电脑的屏幕尺寸为特定的输人值x。答:从产品的价格中减去x。假设x是函数的输入参数。在Product的最后一行前加上如下内容:real downprice(in x out Set) raises(noprice)(2)如果产品是PC或Laptop则返回产品速度,否则引发异常(not Computer)。integer myspeed( out Set) raises(not Computer)(3)设置便携式电脑的尺寸为特定的输入值:在Laptop最后一行加上:screen (in x)2、利用题1中

38、的ODL模式,用OQL写出下列查询:(1)找出价格在8000元以下的所有PC机型号。(2)找出内存至少64M字节、硬盘至少10G字节的所有PC机的型号。(3)找出至少制造两种不同型号激光打印机的制造商。答案: SELECT p.model FROM PCs p WHERE p.price=64 AND p.hd=10; SELECT DISTINCT p1.maker FROM printers p1,printers p2 WHERE p1.maker=p2.maker AND p1.printertype=”laser” AND p2.printertype=”laser” AND p1.model=16;z= AVG (SELECT p.speed FROM PCs p WHERE p.price5000);

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!