数据库第5版书本作业全部答案

更新时间:2023-09-18 20:45:02 阅读量: 幼儿教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章:

1、数据库的概念:P4

数据库系统的概念 : P5

9、数据模型的三个要素:数据结构,数据操作,完整性约束。 13、码:唯一标识实体的属性集。 16、模式:P29

外模式:P29 内模式:P29 17、物理独立性:当数据库的存储结构改变时,对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性。

逻辑独立性:当数据库的模式改变时,对外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序也不必改变,保证了数据与程序的逻辑独立性。

18、数据库系统的构成:数据库系统通常由数据库,数据库管理系统(及开发工具)、应用系统和数据库管理员构成。 第二章: 1、关系模型的三个组成部分:关系数据结构、关系操作集合、关系完整性约束。 2、关系数据语言的分类:关系代数语言,关系演算语言,具有关系代数和关系演算双重特点的语言

3、候选码:关系中能唯一标识一个元组的属性组。 主码:若候选码有多个,则选其中一个作为主码。 外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外码。(或者参照课本P50,定义2.5)

5、答:实体完整性是指在基本表中,主属性不能取空值且取值唯一。

参照完整性是指在基本表中,外码可以是空值或者另一个关系主码的有效值。 6、(1)πSno(σJno=’J1’(SPJ))

(2) πSno(σJno=’J1’ ∧ Pno=’P1’(SPJ))

(3) πSno(σJno=’J1’ ∧ Color=’红’(SPJ∞P))

(4)πJno(J)—πJno (σCity=’天津’∧ Color=’红’(S∞SPJ∞P)) (5)πJno,Pno(SPJ)÷πPno(σSno=’S1’(SPJ)) 第三章: 4、建立S表 Create table S

(SNO CHAR(10) PRIMARY KEY, SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10));

5、(1)select sname,city From S;

(2)select pname,color,weight From p; (3) select Jno From SPJ

Where SNO=’S1’;

(4)select p.pname,spj.qty From p,spj

Where p.pno=spj.pno and spj.jno=’j2’; (5) select distinct pno From spj,s

Where spj.sno=s.sno and city=’上海’; (6) select jname From j,spj,s

Where j.jno=spj.jno and spj.sno=s.sno and s.city=’上海’; (7) select jno From j

Where jno not in (select spj.jno From spj,s

Where spj.sno=s.sno and s.city=’天津’); 或者:

select jno From j

Where not exists (select spj.jno From spj,s

Where spj.jno=j.jno and spj.sno=s.sno and s.city=’天津’); (8) update p

Set color=’蓝’ Where color=’红’; (9) update spj Set sno=’s3’

Where sno=’s5’ and jno=’j4’ and pno=’p6’; (10) delete

From spj

Where sno=’s2’;

delete From s

Where sno=’s2’; (11)insert into spj

Values(‘s2’,’j6’,’p4’,200)

8、不是所有的视图都可以更新。行列子集视图可以更新。

9、建立视图:

Create view v_spj As

Select sno,pno,qty From spj,j

Where spj.jno=j.jno and jname=’三建’; 查询视图:

(1)select pno,qty From v_spj

(2)select pno,qty From v_spj

Where sno=’s1’; 第四章:

1、数据库的安全性:是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。

5、自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 7、(1)grant select on 职工,部门 To 王明;

8、(1)revoke select on 职工,部门 from王明;

第五章:

1、数据库的完整性是指数据的正确性和相容性。

4、三类完整性约束:实体完整性,参照完整性,用户定义完整性。 6、create table 职工(

职工号 char(10) primary key, 姓名 char(10),

年龄 int check(年龄 between 0 and 60), 职务 char(10), 工资 float,

部门号 char(10),

Foreign key(部门号) references 部门(部门号));

create table 部门(

部门号char(10) primary key, 名称 char(10), 经理名 char(10), 电话 char(20));

7、当违反实体完整性和用户定义完整性时,系统一般采用拒绝执行。

当违反参照完整性时,系统采用以下策略进行处理: (1) 拒绝执行 (2) 级连操作 (3) 设置为空值 第六章:

1、函数依赖:设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等, 而在Y上的属性值不等, 则称 “X函数确定Y” 或 “Y函数依赖于X”,记作X→Y。

部分函数依赖:在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’→ Y, 则称Y完全函数依赖于X;

若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X。 传递依赖:在关系模式R(U)中,如果X→Y,( Y ?X), Y→X,Y→Z,则称Z传递函数依赖于X。

候选码、超码、主码、外码、全码:见课本P181~182

1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。 2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。 3NF:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z ?Y), 使得X→Y,Y → X,Y→Z,成立,则称R ∈ 3NF。

BCNF:设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y ∈ X,则X必含有候选码,那么R∈BCNF。 第七章:

1、数据库设计过程分为六个阶段 (1)需求分析阶段 (2)概念结构设计阶段 (3)逻辑结构设计阶段 (4)数据库物理设计阶段 (5)数据库实施阶段

(6)数据库运行和维护阶段

2、数据库结构设计的不同阶段形成数据库的各级模式,即:在概念设计阶段形

成独立于机器特点,独立于各个DBMS产品的概念模式,在本篇中就是E-R图; 在逻辑设计阶段将E-R图转换成具体的数据库产品支持的数据模型,形成数据库逻辑模式; 然后在基本表的基础上再建立必要的视图,形成数据的外模式; 在物理设计阶段,根据DBMS特点和处理的需要,进行物理存储安排,建立索引,形成数据库内模式。

4、数据字典的内容一般包括数据项、数据结构、数据流、数据存储和处理过程五部分。

7、(见另外的PPT)

10、(假设题目给出各个实体的属性)

学校(学校编号,校名,地址)

系(系编号,系名,系主任,学校编号)

教研室(教研室编号,教研室名称,教研室主任,系编号)

教员(职工号,姓名,性别,职称,教研室编号) 班级(班级号,班级名称,专业,人数,系编号) 学生(学号,姓名,性别,年龄,班级号) 课程(课程号,课程名) 选修(学号,课程号)

第九章:6、(1)选择运算尽可能先做 (2)把投影运算和选择运算同时进行

(3)把投影同其前或其后的双目运算结合起来

(4)把某些选择同在它前面要执行的笛卡尔积结合起来成为一个连接运算 (5)找出公共子表达式。 第十章:

1、事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。

事务具有4个特性:原子性、一致性、隔离性和持续性。这4个特性也简称为ACID特性。

6、发生事务故障时,系统做撤消操作。

发生系统故障时,对未完成事务做撤消操作,对已完成事务做重做操作。 发生介质故障时,需要DBA的介入,重装最近转储的数据库副本和日志文件

副本,重做已完成的事务。 第十一章:

1、并发控制可以保证事务的隔离性和一致性。

2、并发操作可能会产生三类数据不一致:丢失修改,不可重复读和读“脏”数据。用封锁的方法可以避免各种不一致的情况。

3、封锁就是事务T在对某个数据对象(例如表、记录等)操作之前,先向系统发出请求,对其加锁,加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它的事务不能更新此数据对象。 基本封锁类型有:排它锁和共享锁。

排它锁:若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。

共享锁:若事务T对数据对象A加上S锁,事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。 5、一些事务无限期等待某个封锁,形成活锁。 解决方法:先来先服务。 6、两个或多个事务已封锁了一些数据对象,然后又都请求对已被其他事务封锁的数据加锁,出现死等待,形成死锁。

预防死锁的方法:一次封锁法,顺序封锁法。 7、解除死锁的方法:超时法、等待图法 8、可串行化的调度是正确的调度。 可串行化调度的含义:几个事务的并行执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同。这种并行调度策略称为可串行化的调度。

本文来源:https://www.bwwdw.com/article/e18h.html

Top