欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    王珊数据库系统概论第四版部分习题答案.docx

    • 资源ID:3223008       资源大小:99.50KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    王珊数据库系统概论第四版部分习题答案.docx

    1、王珊数据库系统概论第四版部分习题答案第一章1、试述数据、数据库、数据库管理系统、数据库系统的概念。答:描述事物的符号记录称为数据;数据库是长期储存在计算机内的、有组织的、可共享的数据集合;数据库管理系统是位于用户与操作系统之间的一层数据管理软件; 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。3试述文件系统与数据库系统的区别和联系。1)在文件系统中,相互独立的文件的记录内部是有结构的,管其记录内部已有了某些结构,但记录之间没有联系。数据库系统实现整体数据的结构化,是数据库的主要特征之一。2)在文件系统中,数据的最

    2、小存取单位是记录,粒度不能细到数据项。而在数据库系统中,存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项一个记录或或一组记录。3)文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的,因此要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。而在数据库系统中数据不再针对某一应用,而是面向全组织,具有整体的结构化。7试述数据模型的概念、数据模型的作用、数据模型的三个要素。答:数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。作用:在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模

    3、拟,现有的数据库系统均是基于某种数据模型的。三个要素:数据模型由数据结构、数据操作和完整性约束三部分组成。10试给出三个实际部门的E_R图,要求实体型之间具有一对一,一对多,多对多各种不同的联系。 15今有一个层次数据库实例,试用子女-兄弟链接法和层次序列链接法画出它的存储结构示意图。子女兄弟链接法:层次序列链接法:20试述数据库系统三级模式结构,这种结构的优点是什么?数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。数据库系统的三级模式是对数据的三个抽象级别,它把数据的具体组织留给DBMS管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方

    4、式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映象:外模式模式映象和模式内模式映象正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。22 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?答:数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式模式的映像做相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。数据与程序的物理独立

    5、性:当数据库的存储结构改变了,由数据库管理员对模式内模式映像做相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 第二章4.试述关系模型的完整性规则,在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空

    6、值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。5设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)Sno(Sno=J1(SPJ))2)Sno(Sno=J1Pno=P1(SPJ)3)Sno(Pno=P1 (COLOR=红 (P)SPJ))4)Jno(SPJ)- JNO(city=天津Color=红 (SSPJP)5)Jno,Pno(SPJ) Pno(Sno=S1 (SPJ)第三章3、用SQL语句建立第二章习题5中的四个表。供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所

    7、在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4)零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2)工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4)供应情况表SPJ由供应商代

    8、码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2)4针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:1)求供应工程J1零件的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO=J12)求供应工程J1零件P1的供应商号码SNO: SELECT DIST SNO FROM SPJ WHERE JNO=J1 AND PNO=P13)求供应工程J1零件为红色的供应商号码SNO: SELECT SNO FROM SP

    9、J,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE S.CITY=天津 AND COLOR=红 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。 5)求至少用了供应商S1所供应的全部零件的工程号JNO。 由于VFP不允许子查询嵌套太深,将查询分为两步A、查询S1供应商供应的零件号:SELECT DIST PNO FROM SPJ WHE

    10、RE SNO=S1结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件:SELECT JNO FROM SPJ WHERE PNO=P1 AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)5针对习题3中的四个表试用SQL语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。 SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供应商S1所供应零件的工程号码。 SELECT DIST JNO FROM SPJ WHERE

    11、 SNO=S1(4)找出工程项目J2使用的各种零件的名称及其数量。 SELECT PNAME,QTY FROM SPJ,P WHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2 (5)找出上海厂商供应的所有零件号码。 SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY=上海(6)出使用上海产的零件的工程名称。 SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY=上海 AND J.JNO=SPJ.JNO (7)找出没有使用天津产的零件的工程号码。注意: SELECT DI

    12、SP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) 适用于JNO是唯一或不唯一的情况. 注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY天津适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。 UPDATE P SET COLOR=蓝 WHERE COLOR=红(9)由S5供给J4的零件P6改为由S3供应。 UPDATE SPJ SET SNO=S3 WHERE SNO=S5

    13、 AND JNO=J4 AND PNO=P6(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 A、DELETE FROM S WHERE SNO=S2 B、DELETE FROM SPJ WHERE SNO=S2(11)请将(S2,J6,P4,200)插入供应情况关系。 INSERT INTO SPJ VALUES(S2,J6,P4,200)第四章8、(a)用户王明对两个表有SELECT 权力。 GRANT SELECT ON 职工,部门 TO 王明(b)用户李勇对两个表有INSERT 和DELETE 权力。 GRANT INSERT,DELETE ON 职工

    14、,部门 TO 李勇(c ) 每个职工只对自己的记录有SELECT 权力。 GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;(d)用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。 GRANT SELECT,UPDATE(工资) ON 职工 TO 刘星 (e)用户张新具有修改这两个表的结构的权力。 GRANT ALTER TABLE ON 职工,部门 TO 张新; (f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。 GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT O

    15、PTION;( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。 CREATE VIEW 部门工资 AS SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号GRANT SELECT ON 部门工资 TO 杨兰;第五章6 答:CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12)

    16、 CONSTRAINT PK_SC RIMARY KEY(Deptno);CREATE TABLE EMP (Empno NUMBER(4), Ename VARCHAR(10), Age NUMBER(2), CONSTRAINT C1 CHECK ( Aage=60), Job VARCHAR(9), Sal NUMBER(7,2), Deptno NUMBER(2), CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFFERENCES DEPT(Deptno);第六章2(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Clas

    17、s,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:M(Mname,Myear,Maddr,Mnum)(2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno传递依赖如下:由于SnoDept,而DeptSno ,DeptRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。由于ClassDept,Dept Class,DeptRno 所

    18、以Class与Rno之间存在着传递函数依赖。由于SnoClass,ClassSno,ClassDept 所以Sno与Dept之间存在着传递函数依赖。 B、班级C(Class,Pname,Dept,Cnum,Cyear)最小函数依赖集如下:ClassPname,ClassCnum,ClassCyear,PnameDept.由于ClassPname,PnameClass,PnameDept 所以C1ass与Dept之间存在着传递函数依赖。C、系D(Dept,Dno,Office,Dnum)最小函数依赖集如下:DeptDno,DnoDept,DnoOffice,DnoDnum根据上述函数依赖可知,D

    19、ept与Office,Dept与Dnum之间不存在传递依赖。D、学会M(Mname,Myear,Maddr,Mnum)最小函数依赖集如下:MnameMyear,MnameMaddr,MnameMnum该模式不存在传递依赖。(3)各关系模式的候选码、外部码,全码如下:A、学生S候选码:Sno;外部码:Dept、Class;无全码B、班级C候选码:Class;外部码:Dept;无全码C、系D候选码:Dept或Dno;无外部码;无全码D、学会M候选码:Mname;无外部码;无全码第七章1.数据库的设计过程。答:按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:需求分

    20、析.概念结构设计.逻辑结构设计.物理结构设计.数据库实施 .数据库运行和维护 .这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、运行和维护。设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。12、第一章12和13的E-R图:18现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请自己设计适当的属性,画出E-R图,再将其转换为关系模型(包括关系名,属性名、码和完整性约束条件)。答: 1)出版社的属性:出版社名、地址、所在城市。作者的属性:姓名、职称、工作单位、邮编、联系电话。这两个实体是多对多的联系:出版。联系的属性

    21、是:书名、出版日期。2) 3)据E-R图向关系模型转换原则,实体“出版社”和“作者”转换为关系模型如下:出版社(出版社名,地址,所在城市)作者(作者名,职称,工作单位,联系电话,邮编)两个实体之间的联系“出版”是多对多联系,据E-R图向关系模型转换原则,将两个实体的码加上联系的属性构成出版关系,出版社名、作者名、书名不能取空,关系模式如下:出版(出版社名,作者名,书名,出版日期)19.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社,对每本被借出的书存有读者号、借出日期和应还日期。要求:给出E-R图,

    22、再将其转换为关系模型。答:1)画出E-R图2)据E-R图向关系模型转换原则,“书”、“读者”、“借阅”转换为关系模型如下:读者(读者号,姓名,地址,性别,年龄,单位)书(书号,书名,作者,出版社)两个实体“读者” 与“书”之间的联系“借阅”是一对一联系,据E-R图向关系模型转换原则,将两个实体的码加上联系的属性构成“借阅”关系,读者号、书号不能取空,关系模式如下:借阅(读者号,书号,借出日期,应还日期)第九章2对学生-课程数据库有如下的查询:查询信息系学生选修的所有课程名称: SELECT Cname FROM St,Course,SC WHERE St.Sno=SC.Sno AND SC.C

    23、no=Course.Cno AND St.Sdept=IS试画出用关系代数表示的语法树,并用关系代数表达式优化算法对原始的语法树进行优化处理,画出优化后的标准语法树。答:关系代数表达式如下:cname(St.sdept=IS(st.sno=sc.Sno(sc.Cno=Course.Cno(STSCCOURSE)用关系代数表示的语法树如下左图: cname cname St.sdept=IS So=o st.sno=sc.Sno scCno=Course.Cno St.sno=sc.sno cno,cname Course Course sno sno,cnoSt Sc St.sdept=IS

    24、Sc St用关系代数表达式优化算法对原关系代数表达式进行优化,优化后的关系代数表达式如下:cname(o=o(St.sno=sc.sno(sno(St.sdept=IS(ST)sno,cno(SC) cno,cname(Course)第十章1试述事务的概念及事务的4 个特性。答:事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。事务具有4 个特性:原子性(Atomicity )、一致性(consistency )、隔离性( Isolation )和持续性(Durability )。这4 个特性也简称为ACID 特性。原子性:事务是数据库的逻辑工作单位,事

    25、务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持续性:持续性也称永久性(Perfnanence ) ,指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。5 数据库恢复的基本技术有哪些?答:数据转储和登录日志文件是数据库恢复的基本技术。当系统运行过程中发生故障,利用转储的数据库后备副本和日志文件就可以将数据库恢复到故障前的某个一致性状态。

    26、8 登记日志文件时为什么必须先写日志文件,后写数据库?答:把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO 操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。第十一章1、 在数据库中为什么要并发控制?答:数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和或

    27、修改同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。3 什么是封锁?基本的封锁类型有几种?试述它们的含义。答:封锁就是事务 T 在对某个数据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务 T 就对该数据对象有了一定的控制,在事务 T 释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。基本的封锁类型有两种:排它锁( Exclusive Locks ,简称 x 锁)和共享锁 ( Share Locks,简称 S 锁)。排它锁又称为写锁。若事务 T 对数据对象 A

    28、加上 X 锁,则只允许 T 读取和修改 A ,其他任何事务都不能再对 A 加任何类型的锁,直到 T 释放 A 上的锁。这就保证了其他事务在 T 释放 A 上的锁之前不能再读取和修改 A 。共享锁又称为读锁。若事务 T 对数据对象 A 加上 S 锁,则事务 T 可以读 A但不能修改 A ,其他事务只能再对 A 加 S 锁,而不能加 X 锁,直到 T 释放 A 上的 S 锁。这就保证了其他事务可以读 A ,但在 T 释放 A 上的 S 锁之前不能对 A 做任何修改。9 设 Tl ,几,几是如下的 3 个事务: Tl :A : = A + 2 ; T2:A : = A * 2 ; T3:A : =

    29、A *2 ; ( A -A*A)设 A 的初值为 0 。 ( l )若这 3 个事务允许并行执行,则有多少可能的正确结果,请一一列举出来。答 :A 的最终结果可能有 2 、 4 、 8 、 16 。因为串行执行次序有 Tl T2T3、 Tl T3T2、T2T1T3、T2T3Tl 、T3T1T2、T3T2 Tl 。对应的执行结果是 16 、 8 4 2 4 2 。 ( 2 )请给出一个可串行化的调度,并给出执行结果 最后结果 A 为 16 ,是可串行化的调度。 ( 3 )请给出一个非串行化的调度,并给出执行结果。 最后结果 A 为 0 ,为非串行化的调度。 ( 4 )若这 3 个事务都遵守两段锁

    30、协议,请给出一个不产生死锁的可串行化调度。 ( 5 )若这 3 个事务都遵守两段锁协议,请给出一个产生死锁的调度。 13 为什么要引进意向锁?意向锁的含义是什么?答:引进意向锁是为了提高封锁子系统的效率。该封锁子系统支持多种封锁粒度。原因是:在多粒度封锁方法中一个数据对象可能以两种方式加锁 显式封锁和隐式封锁。因此系统在对某一数据对象加锁时不仅要检查该数据对象上有无(显式和隐式)封锁与之冲突,还要检查其所有上级结点和所有下级结点,看申请的封锁是否与这些结点上的(显式和隐式)封锁冲突,显然,这样的检查方法效率很低。为此引进了意向锁。意向锁的含义是:对任一结点加锁时,必须先对它的上层结点加意向锁。例如事务 T 要对某个元组加 X 锁,则首先要对关系和数据库加 ix 锁。换言之,对关系和数据库加 ix 锁,表示它的后裔结点 某个元组拟(意向)加 X 锁。引进意向锁后,系统对某一数据对象加锁时不必逐个检查与下一级结点的封锁冲突了。例如,事务 T 要对关系 R 加 X 锁时,系统只要检查根结点数据库和 R 本身是否已加了不相容的锁(如发现已经加了 ix ,则与 X 冲突),而不再需要搜索和检查 R 中的每一个元组是否加了 X 锁或 S 锁。 补充习题:1、大学实行学分制,学生可根据自己的情况选修课程。每名学生可同时选修多门课程,每门课程可


    注意事项

    本文(王珊数据库系统概论第四版部分习题答案.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开