数据库标准系统概论ziliao.docx
- 文档编号:29352858
- 上传时间:2023-07-22
- 格式:DOCX
- 页数:31
- 大小:133.82KB
数据库标准系统概论ziliao.docx
《数据库标准系统概论ziliao.docx》由会员分享,可在线阅读,更多相关《数据库标准系统概论ziliao.docx(31页珍藏版)》请在冰豆网上搜索。
数据库标准系统概论ziliao
《数据库系统概论》作业1
1.简述数据、数据模型、数据库、关系数据库、数据库管理系统、数据库系统的概念。
答:
数据:
存储在计算机内用来描述事物特征的各种符号及其组合,称为数据。
它不但包括数字,还包括文字、图形、图
像、声音等。
数据模型:
数据模型是一种对客观事物抽象化的表现形式。
数据模型首先要真实地反映现实世界,;其次要易于理解,
和人们对外部事物的认识相一致;最后要便于实现,因为最终是要由计算机来处理。
数据模型通常由数据结构、数据操作和完整性约束三要素组成。
数据库:
简称DB,是由DBMS管理的数据的聚集。
是储存在计算机内具有一定结构的数据集合。
关系数据库:
是以关系模型为基础的数据库。
或者说数据库里的数据可以用一个二维表的的形式表示的数据库。
数据库管理系统:
简称DBMS,是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
它不仅具
有最基本的数据管理功能,还能保证数据的完整性、安全性、提供多用户的并发控制,当数据库出现故障时对系统进行恢复。
DBMS主要由查询处理程序、事务处理程序和存储管理程序等组成。
数据库系统:
简称DBS,使指引进数据库技术后的计算机系统,它包括和数据库有关的整个系统:
计算机软硬件系统、
数据库、DBMS、应用程序以及数据库管理员和用户等等。
主要特点:
数据结构化;数据共享性好,冗余度小,数据独立性好;数据由DBMS统一管理和控制,从而保证多个用户能并发、安全可靠地访问,而一旦出现故障,能有效恢复。
3.假设学生关系Student包括五个属性:
学号StudentNo、姓名StudentName、年龄StudentAge、性别StudentSex和所在系Department。
(1)指出该关系的键码和属性的类型;
(2)给出三个适当的元组。
答:
(1)该关系的键码是:
学号;
属性的类型:
学号:
字符型;姓名:
字符型;
年龄:
整型;性别:
布尔型;所在系:
字符型。
(2)
学号
姓名
年龄
性别
所在系
991510000
张三
25
.T.
计算机
991510078
李四
24
.T.
化学
981501008
王燕
25
.F.
中文
5.请为计算机经销商设计一个数据库,要求包括生产厂商和产品的信息。
生产厂商的信息包括名称、地址、电话等;产品的信息包括生产商、品牌、配置、近价等。
试用ODL描述这个数据库,注意要为所有的属性和联系选择适当的类型,并且指出每个类的键码。
答案:
interfaceProduce
(keyname)
{attributestringname;
attributestringaddress;
attributestringtel;
relationashipSet
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)学号为9900111的学生的系别和年龄;
(2)有不及格(成绩《60》学生的课程名;
(3)计算机系有不及格课程的学生名单;
(4)学生张林的“数据库原理”课成绩。
答案:
元组关系运算:
(1)
(2)
(3)
(4)
域关系演算:
(1)
(2)
(3)
(4)
13.用数据库逻辑规则表示习题一中的查询。
(1)学号为9900111的学生的系别和年龄;
(2)有不及格(成绩《60》学生的课程名;
(3)计算机系有不及格课程的学生名单;
(4)学生张林的“数据库原理”课成绩。
答案:
(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<60
(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 (4)INSERTINTOActor(Name,Gender) VALUES(‘秀兰·邓波儿’,’F’); (5)UPDATEMovieSETLength=109 WHERETitle=’我的世界’; (6)DELETEFROMMovie WHEREYear<1940; DELETEFROMActs WHEREMovieYear<1940; 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 FORMStudent,SC,Course WHIREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno ANDCname=’程序设计’ANDGrade>90; (5)SELECTSname FORMStudent 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 GROUPBYCno 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 第二种调度: ①读A=1,B=3: (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 第三种调度: ①读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,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 (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。 Student(Sno,Sname,Sdept,Mname) SC(Sno,Cname,Grade) 是2NF 但是在Student中: Sno→Sdept,Sdept→Mname 非主属性Mname传递依赖于键码Sno 所以以上关系模式不是3NF。 将Student分解为: Student(Sno,Sname,Sdept) Dept(Sdept,Mname) Sdept是关系Dept的键码 Student(Sno,Sname,Sdept) Dept(Sdept,Mname) SC(Sno,Cname,Grade) 是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->C,B->D,AB->C,AB->D,BC->D,BD->C ABC->D,ABD->C 其中: AB->C,AB->D,ABC->D,ABD->C 而: B->C,B->D,BC->D,BD->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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 标准 系统 概论 ziliao