数据库原理 第3章 完整性约束
<( select count( * ) from teacher )*0.6 )
断言是不与任何一个表相联系的约束。
3) 定义触发器(Trigger) 触发器是一种特殊的存储过程,它在插入、删 除、修改特定表中的数据时,触发执行(由DBMS
自动调用)。它能提供比数据库本身标准功能更精
细、更复杂的数据控制能力。可用于数据库的安全 性控制和完整性检查。 请看下页范例:
器。
触发器的功能 触发器对于强制执行的工作是非常有用的,
它主要用于下面两种情况:
1、保证数据的完整性和一致性。当规则太复
杂,不能用数据定义语言(DDL)定义它们、这时使
用触发器非常有效;
2、实现数据之间逻辑联系的业务规则。
例如:在职工表中插入一个新的职工记录时,业务规 则要求职工的工作终止日期字段是一个空值。这个规则不
create table Teacher( Tno integer Primary Key, Tname char(6) not null, Title char(6), Dept char(10)); insert into Teacher values (101,'李华','讲师','计算机');
时触发; ● 删除触发器 (Delete trigger),在表中企图删除记录 时触发; ● 修改触发器 (Update trigger),在表中企图修改记录 时触发。
触发器的其他用途
触发器的许多使用都超出了完整性维护的范围。例如,
希望知道一个发出订单的顾客是否在上月进行了足够的交
易以至满足了公司规定的打折条件。如果是这样,业务员 必须被告之,从而通知顾客,以便达到促销的目的。 触发器能够产生事件的日志,同时支持审计和安全检 查。
create Table Course( Cno integer not null, Tno integer not null, Cname char(10) not null, credit numeric(3,1) not null, Primary key(cno,tno)); insert into Course values(1,101,'数据库',3.5);
触发器和存储过程
当对一个表执行特定的操作时,被调用或者被‚触发‛
的SQL语句称为触发器。触发器能够依次调用SQL语句或 者存储过程。 触发器是事件驱动的SQL代码,当插入、删除、修改 指定的表和列中的数据时,这些代码将自动执行,因此触 发器总是与特定的数据库表及特定的数据库事件(如插入 (Insert)、删除(Delete)、修改(Update)等)相联系。
能使用数据定义语言中CREATE TABLE语句定义,它需要
一个触发器。 对于不能由其它手段实现的规则可考虑使用触发器, 以此改善系统的效率。如:参照完整性、表或列的约束等。
触发器的类型
触发器是根据所触发事件的类型进行分类的。通常的
RDBMS支持三种类型的触发器: ● 插入触发器 (lnsent trigger),在表中企图插入记录
触发器的优点
触发器不依赖于任何客户端应用程序,也不依赖于
访问数据库的语言。触发器有如下优点:
1、标准化。在整个应用上,触发器保证了数据的完整 性和一致性,一旦在表上建立了触发器,它就存储在数据 库中;这种方法消除了各个客户应用程序的冗余编码,便 于规则发生变化时对编码进行修改;
2、高效率。触发器初始执行后,作为编译的代码执行。 它的运行速度快,与在客户工作站上执行这些代码相比, 在服务器上执行这些代码减少了网络通讯量和网络冲突; 触发器把数据完整性代码放在服务器平台上比放在客户工 作站上更有效; 3、安全性。触发器运行要有表主人的授权,但是,触 发器能够被在表中插入、删除、修改记录的任何一个用户 触发。任何一个应用程序或交互式子用户都无法避开触发
create table Teacher( Tno integer Primary Key, Tname char(6) not null, Title char(6), Dept char(10));
问题:每学期上课教师的人数不高于教师总数的60%
Create assertion sum-constraint check ( ( select count(distinct Tno) from course )
FOREIGN KEY 约束 用来约束两个表间的关系(也称引用完整性约束) 医生记录 唯一性约束 编号 姓名 年龄 职称 病员记录 编号 姓名 主治医生姓名
外键
注意:Oracle/SQL Server规定,外键只能引用在引用表 中Primary Key或Unique约束的列。
2、DBMS中的完整性约束实现机制
定义存储过程1(无参数传递) Create or replace Procedure Pro_demo1 as begin delete from teacher; end; 调用存储过程 execute Pro_demo1;
定义存储过程2 (有参数传递)
Create or replace Procedure Pro_demo2( v_tno in number,v_title in varchar) as Begin update teacher set title=v_title where tno=v_tno; end;
2) 断言(Assertion) 一个断言就是一个谓词,表达了我们希望数 据库总能满足的一个条件。 请看下页示例:
create Table Course( Cno integer not null, Tno integer not null, Cname char(10) not null, credit numeric(3,1) not null, Primary key(cno,tno));
大区别在于它是预先编译好的,因此存储过程的执行较快。
2、改善了安全性。 存储过程简化了安全机制,它可以简化对某些操作的授 权。
3、减少了网络通讯量。 在客户/服务器环境下,存储过程经过编译和优化后, 存储在服务器端而不是客户端。 这样,在网络上传输的只 是一个远程调用和最终的执行结果,而不是一系列的SQL语
远程服务器上的存储过程。
5、提高了开发者的劳动生产率。
存储过程消除了开发者为一个事务或一个运算法则的 多次需求而编写和测试SQL语句的重复劳动。调用一个存
储过程比写SQL语句更快、更简单。
6、有利于专门技术的使用。 技术熟练的开发者能够集中精力,写出复杂查询、运 算法则和事务的存储过程。其它具有一般SQL经验的开发 者能够调用这些存储过程。
SQL中的完整性约束
完整性约束的目的是保证用户对数据库进行修
改时不会破坏数据的一致性(防止对数据的意外破
坏)。
注意:数据的完整性与安全性的概念区别。前者是为了防 止数据库中存在不符合语义的数据(防止数据垃圾),后
者是防止对数据的非法存取。
DBMS的完整性约束
数据库的完整性是指数据的正确性和相容性。 DBMS必须提供一些功能来保证数据库中数据的 完整性,也称其为完整性检查,即提供一定的机制 来检查数据库中的数据是否满足规定的条件(称为 完整性约束条件)。
Tno Title Dept
教师编号 姓名 职称 ຫໍສະໝຸດ 门TnameCno
Tno Credit
课程编号
教师编号 课程名称 学分
Cname
在Teacher表上定义一个删除触发器 create trigger trig_demo1 after delete on teacher for each row begin delete course where course.tno=:old.tno; end;
1) 定义表的约束条件 SQL> create table demo ( tno number(4,0) primary key, tname char(8) not null, sex char(2) check(sex in (‘男’,‘女’)), salary number(6,2) default(0), tcode number(4,0) unique, dept varchar2(200) );
调用存储过程
execute Pro_demo2(101,'教授');
例如,一个用户不希望别人在他的表上使 存储过程的设臵大大提高了SQL语句的功能、效率和灵 用SELECT语句,他可以写一个仅可以修 改这个表的某些行或列的存储过程,然后 活性,具体表现在: 将调用该过程的权限授给特定的用户,这 1、改善了性能。 样其它用户就可以通过该存储过程访问这 存储过程与原始SQL语句或批处理中的SQL语句的最 个表。
Oracle 9i
create trigger trig_demo2 on teacher for update as if update(Tno) begin Declare @old_Tno integer,@new_Tno integer select @old_Tno=Tno from deleted; select @new_Tno=Tno from inserted; update course SQL Server set course.Tno=@new_Tno where course.Tno=@old_Tno; end;
7、简化了应用的维护,增加了应用的灵活性。
存储过程有助于从应用逻辑中把业务规则分离出来。 当业务发生变化,需要修改业务规则时,这个变化只影响 存储过程。与改变、测试和调整一个及多个客户的成千上 万个用户程序相比,改变和测试存储过程是更有效、更省
create table father_t ( Cno integer primary key, Cname char(10) not null, Credit numeric(3,1) );
10数据库完整性约束数据库原理
4) 对空值的约束(空值:未定义或未知的值,与零值和空格不同) 有的列允许空值,有的则不允许,如成绩可为空值
5) 其他约束 例:关于列的排序说明,组合列等
2. 静态元组约束
规定元组的各个列之间的约束关系 例:订货关系中发货量<=订货量 教师关系中教授的工资>=700元
例2:在“教授工资不得低于1000元”的约束中 D 约束作用的对象为工资Sal属性 O 插入或修改职工元组时 A Sal不能小于1000 C 职称=′教授′ (A仅作用于职称=‘教授’的记录) P 拒绝执行该操作
关系系统三类完整性的实现
关系数据库系统都提供了定义和检查实体完整性、参 照完整性和用户定义的完整性的功能
2. 完整性检查机制
检查用户发出的操作请求是否违背了完整性约束条件
3. 违约反应
如果发现用户的操作请求使数据违背了完整性约束条件, 则采取一定的动作来保证数据的完整性。
10.1 计算机安全性概论
完整性约束条件作用的对象
列:对属性的取值类型、范围、精度等的约束条件 元组:对元组中各个属性列间的联系的约束 关系:对若干元组间、关系集合上及关系之间的联系的约束
受限删除(RESTRICTED)
当参照关系中没有任何元组的外码值与要删除的被参照关系的元组的主 码值相对应时,系统才执行删除操作,否则拒绝此删除操作。
置空值删除(NULLIFIES)
删除被参照关系的元组,并将参照关系中与被参照关系中被删除元组主 码值相等的外码值置为空值。
例:要删除Student关系中Sno=950001的元组, 而SC关系中有4个元组的Sno都等于950001。 级联删除:将SC关系中所有4个Sno=950001的元组一 起删除。如果参照关系同时又是另一个关系的被参照关 系,则这种删除操作会继续级联下去 受限删除:系统将拒绝执行此删除操作。 置空值删除:将SC关系中所有Sno=950001的元组的 Sno值置为空值。 在学生选课数据库中,显然第一种方法和第二种方法都 是对的。第三种方法不符合应用环境语义。
数据库原理教程习题答案全
数据库原理教程习题答案全集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#0000000000第1章数据库系统概述习题参考答案税务局使用数据库存储纳税人(个人或公司)信息、纳税人缴纳税款信息等。
典型的数据处理包括纳税、退税处理、统计各类纳税人纳税情况等。
银行使用数据库存储客户基本信息、客户存贷款信息等。
典型的数据处理包括处理客户存取款等。
超市使用数据库存储商品的基本信息、会员客户基本信息、客户每次购物的详细清单。
典型的数据处理包括收银台记录客户每次购物的清单并计算应交货款。
DBMS是数据库管理系统的简称,是一种重要的程序设计系统。
它由一个相互关联的数据集合和一组访问这些数据的程序组成。
数据库是持久储存在计算机中、有组织的、可共享的大量数据的集合。
数据库中的数据按一定的数据模型组织、描述和存储,可以被各种用户共享,具有较小的冗余度、较高的数据独立性,并且易于扩展。
数据库系统由数据库、DBMS(及其开发工具)、应用系统和数据库管理员组成。
数据模型是一种形式机制,用于数据建模,描述数据、数据之间的联系、数据的语义、数据上的操作和数据的完整性约束条件。
数据库模式是数据库中使用数据模型对数据建模所产生设计结果。
对于关系数据库而言,数据库模式由一组关系模式构成。
数据字典是DBMS维护的一系列内部表,用来存放元数据。
所谓元数据是关于数据的数据。
DBMS提供如下功能:(1)数据定义:提供数据定义语言DDL,用于定义数据库中的数据对象和它们的结构。
(2)数据操纵:提供数据操纵语言DML,用于操纵数据,实现对数据库的基本操作(查询、插入、删除和修改)。
(3)事务管理和运行管理:统一管理数据、控制对数据的并发访问,保证数据的安全性、完整性,确保故障时数据库中数据不被破坏,并且能够恢复到一致状态。
(4)数据存储和查询处理:确定数据的物理组织和存取方式,提供数据的持久存储和有效访问;确定查询处理方法,优化查询处理过程。
陶宏才《数据库原理及设计》第3版课后习题答案
第一章一、解答题1、解释术语:数据、数据库、数据管理系统、数据库系统、数据库应用系统、视图、数据字典。
P19-20数据:是描述现实世界中各种具体事物或抽象概念的、可存储并具有明确意义的信息。
数据库:是相互关联的数据集合。
数据管理系统:是一个通用的软件系统,由一组计算机程序构成。
数据库系统:是一个用户的应用系统得以顺利运行的环境。
数据库应用系统:主要指实现业务逻辑的应用程序。
视图:指不同的用户对同一数据库的每一种理解称为视图。
数据字典:用于存储数据库的一些说明信息的特殊文件。
2、简述数据抽象、数据模型及数据模式之间的关系P26数据模型是数据抽象的工具,是数据组织和表示的方式;数据模式是数据抽象利用数据模型,将数据组织起来后得到的结果;总而言之,数据模式是数据抽象的结果。
3、DBMS应具备的基本功能有哪些?P9数据独立性、安全性、完整性、故障恢复、并发控制4、数据库中对数据最基本的4种操作是什么?P24增加、删除、修改、查询5、评价数据模型的3个要素是什么?P121)能够真实地描述现实系统2)能够容易为业务用户所理解3)能够容易被计算机实现6、数据模型的3个要素是什么?P24数据结构、数据操作、数据约束7、简述SQL语言的使用方式。
P13一般有两种方式:SQL的交互式使用;用户通过开发应用系统与RDBMS交互。
8、在数据库设计时,为什么涉及到多种数据模型?P12因为目前商用化DBMS没有一个能够同时满足3项要求,为此,人们不得不走折中路线,设计一些中间的数据模型。
9、数据库系统中的用户类型有哪些?P28-29最终用户、数据库应用开发人员、数据库管理员、其他与数据库系统有关的人员。
11、简述OLTP与OLAP间的区别。
P42-43OLTP(联机事务处理)主要面向日常的业务数据管理,完成用户的事务处理,提高业务处理效率,通常要进行大量的更新操作,同时对响应时间要求比较高。
OLAP(联机分析处理)注重数据分析,主要对用户当前及历史数据进行分析,辅助领导决策,通常要进行大量的查询操作,对时间的要求不太严格。
数据库系统原理相关习题及答案
相关习题及答案.doc第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。
◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。
◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。
◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:概念数据模型和结构数据模型。
◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。
它主要有:层次、网状、关系三种模型。
数据库原理实验报告-实验三-数据完整性与安全性控制
《数据库原理》实验报告题目:实验三数据完整性与安全性控制学号班级日期2016.10.18一、实验容、步骤以及结果1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)(1)非空约束:为出生日期添加非空约束。
非空约束:取消表S中sbirth的勾。
可能需要重建表。
(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。
设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’-->保存(3)唯一约束:为(sname)添加唯一约束(唯一键),约束名为uk_sname。
唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加-->是否唯一改为‘是’-->名称改为‘us_sname’-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。
设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint)删除约束:单击数据库Student-->表-->单击S-->展开键、约束。
-数据库原理及应用第二版-第3章关系数据库
自然连接是连接中等值连接的特例,是一种 去掉重复属性的等值连接。连接的条件是两 个关系的同名属性。 记作:R*S 班级(班号,班名,班导师) 学生(学号,姓名,性别,班号) 班级*学生
两个重要的连接: 等值连接 θ为“=”,是从关系R和S的广义笛卡尔积中 选取A,B属性值相等的那些元祖。 自然连接 是一种特殊的等值连接,它要求两个关系 中进行比较的分量必须是相同的属性组,并且 在结果中把重复的属性列去掉。
A和B:分别为R和S上度数相等且可比的属性组。前
连接按连接条件分为:等值连接,大于连接和小于连接。 等值连接:就是指连接条件为等号。 大于连接就是指连接条件为>号 小于连接就是指连接条件为<号。 上述三种不同连接都称为连接,并不去掉重复属性和重复 元组。
R.A=S.A 班级(班号,班名,班导师) 学生(学号,姓名,性别,班号) R和S关系的连接,连接条件是R.A=S.A。运算结果是:
例1:学生实体和专业实体可以用下面的关系表示。
学生(学号,姓名,性别,专业号,出生日期) 专业(专业号,专业名)
例2:学生、课程以及学生与课程之间的选课关系可以用如 下三个关系表示:
学生(学号,姓名,性别,专业号,出生日期)
课程(课程号,课程名,学分) 选课(学号,课程号,成绩)
3.4.3 用户定义的完整性
2、属性 图3-1的学生关系中有学号、姓名、年龄、性别和所在系五 个属性,是一个五元关系。
二维表中的列称为属性(或叫字段),每个属性都有一个名字,称为属性名。 二维表中对应某一列的值称为属性值;二维表中列的个数称为关系的元数。
数据库系统教程课后习题答案(部分)--何玉洁 李宝安
第一部分基础理论第1章数据库概述1.试说明数据、数据库、数据库管理系统和数据库系统的概念。
数据:描述事务的符号记录数据库:存储数据的仓库数据库管理系统:用于管理和维护数据的系统软件数据库系统:计算机中引入数据库后的系统,包括数据库,数据库管理系统,应用程序,数据库管理员2.数据管理技术的发展主要经历了哪几个阶段?两个阶段,文件管理和数据库管理9.数据独立性指的是什么?应用程序不因数据的物理表示方式和访问技术改变而改变,分为逻辑独立性和物理独立性。
物理独立性是指当数据的存储结构或存储位置发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。
10.数据库系统由哪几部分组成?由数据库、数据库管理系统、应用程序、数据库管理员组成。
第2章数据模型与数据库系统的结构4.说明实体一联系模型中的实体、属性和联系的概念。
实体是具有公共性质的并可相互区分的现实世界对象的集合。
属性是实体所具有的特征或性质。
联系是实体之间的关联关系。
6.数据库系统包含哪三级模式?试分别说明每一级模式的作用。
外模式、模式和内模式。
外模式:是对现实系统中用户感兴趣的整体数据结构的局部描述,用于满足不同用户对数据的需求,保证数据安全。
模式:是数据库中全体数据的逻辑结构和特征的描述,它满足所有用户对数据的需求。
内模式:是对整个数据库的底层表示,它描述了数据的存储结构。
7.数据库管理系统提供的两级映像的作用是什么?它带来了哪些功能?两级映像是外模式/模式映像和模式/内模式映像。
外模式/模式映像保证了当模式发生变化时可以保证外模式不变,从而使用户的应用程序不需要修改,保证了程序与数据的逻辑独立性。
模式/内模式映像保证了当内模式发生变化,比如存储位置或存储文件名改变,可以保持模式不变,保证了程序与数据的物理独立性。
两级印象保证了应用程序的稳定性。
第3章关系数据库1.试述关系模型的三个组成部分。
数据结构、关系操作集合、关系完整性约束2.解释下列术语的含义:(3)候选码当一个属性或属性集的值能够唯一标识一个关系的元组,而又不包含多余的元素,则称该属性或属性集为候选码。
《数据库系统原理》04735课后习题答案(2018版)
答案仅供参考第一章数据库系统概述选择题B、B、A简答题1.请简述数据,数据库,数据库管理系统,数据库系统的概念。
P27数据是描述事物的记录符号,是指用物理符号记录下来的,可以鉴别的信息。
数据库即存储数据的仓库,严格意义上是指长期存储在计算机中的有组织的、可共享的数据集合。
数据库管理系统是专门用于建立和管理数据库的一套软件,介于应用程序和操作系统之间。
数据库系统是指在计算机中引入数据库技术之后的系统,包括数据库、数据库管理系统及相关实用工具、应用程序、数据库管理员和用户。
2.请简述早数据库管理技术中,与人工管理、文件系统相比,数据库系统的优点。
数据共享性高数据冗余小易于保证数据一致性数据独立性高可以实施统一管理与控制减少了应用程序开发与维护的工作量3.请简述数据库系统的三级模式和两层映像的含义。
P31答:数据库的三级模式是指数据库系统是由模式、外模式和内模式三级工程的,对应了数据的三级抽象。
两层映像是指三级模式之间的映像关系,即外模式/模式映像和模式/内模式映像。
4.请简述关系模型与网状模型、层次模型的区别。
P35使用二维表结构表示实体及实体间的联系建立在严格的数学概念的基础上概念单一,统一用关系表示实体和实体之间的联系,数据结构简单清晰,用户易懂易用存取路径对用户透明,具有更高的数据独立性、更好的安全保密性。
第二章关系数据库选择题C、C、D简答题1.请简述关系数据库的基本特征。
P48答:关系数据库的基本特征是使用关系数据模型组织数据。
2.请简述什么是参照完整性约束。
P55答:参照完整性约束是指:若属性或属性组F是基本关系R的外码,与基本关系S的主码K 相对应,则对于R中每个元组在F上的取值只允许有两种可能,要么是空值,要么与S中某个元组的主码值对应。
3.请简述关系规范化过程。
答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。
一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。
全国计算机等级考试四级教程—数据库原理
全国计算机等级考试四级教程——数据库原理(2013版)2015年4月9日录入目录第1章数据库原理概述............................................................................................................ - 7 -1.1 数据库技术基本概念................................................................................................... - 7 -1.1.1 信息、数据与数据处理.................................................................................... - 7 -1.1.2 数据库、数据字典、数据库管理系统、数据库系统 .................................... - 7 -1.1.3 数据库系统中的人员........................................................................................ - 8 -1.2 数据管理技术的产生与发展....................................................................................... - 8 -1.3 数据库方法与文件系统方法....................................................................................... - 9 -1.3.1 数据库库方法的优势........................................................................................ - 9 -1.3.2 数据库与文件系统............................................................................................ - 9 -1.4 数据库应用简史........................................................................................................... - 9 -1.5 数据库技术的研究领域............................................................................................. - 10 -第2章数据模型和数据库系统的模式结构.......................................................................... - 10 -2.1 数据模型和数据模型的组成要素............................................................................. - 10 -2.1.1 数据模型的概念.............................................................................................. - 10 -2.1.2 数据模型组成的要素...................................................................................... - 10 -2.2 数据模型的分类......................................................................................................... - 10 -2.3 概念数据库模型——E-R模型 ................................................................................. - 11 -2.3.1 概念数据模型的产生和基本概念.................................................................. - 11 -2.3.2 概念模型的一种表示方法——E-R图........................................................... - 11 -2.4 常用的逻辑数据模型................................................................................................. - 11 -2.4.1 层次和网状模型.............................................................................................. - 11 -2.4.2 关系模型.......................................................................................................... - 11 -2.4.3 面向对象模型.................................................................................................. - 12 -2.4.4 对象-关系数据模型 ........................................................................................ - 12 -2.5 数据库系统的模式..................................................................................................... - 12 -2.5.1 数据库系统中模式、实例和数据状态的概念.............................................. - 12 -2.5.2 数据库系统的三级模式结构.......................................................................... - 12 -2.5.3 数据库的两层映像与数据独立性.................................................................. - 13 -第3章关系数据模型和关系数据库系统.............................................................................. - 13 -3.1 关系数据库系统概述................................................................................................. - 13 -3.1.2 关系数据模型.................................................................................................. - 13 -3.2 关系模型的数据结构................................................................................................. - 14 -3.2.1 关系模型的数据结构和基本术语.................................................................. - 14 -3.2.2 关系的形式定义和关系数据库对关系的限定.............................................. - 14 -3.2.3 关系数据库中常用的表示方法...................................................................... - 15 -3.3 关系模型的完整性约束............................................................................................. - 15 -3.3.1 关系模型完整性约束的分类.......................................................................... - 15 -3.3.2 实体完整性约束.............................................................................................. - 15 -3.3.3 参照完整性约束.............................................................................................. - 15 -3.3.4 用户定义完整性约束...................................................................................... - 16 -3.3.5 关系模型完整性约束的检查.......................................................................... - 16 -3.4 关系操作语言——关系代数..................................................................................... - 16 -3.4.2 基于传统集合论的关系操作.......................................................................... - 17 -3.4.3 一元专门关系操作.......................................................................................... - 17 -3.4.4 二元的专门关系操作...................................................................................... - 17 -3.4.5 扩展关系操作.................................................................................................. - 17 -第4章关系数据库标准语言SQL(一)............................................................................... - 18 -4.1 SQL概述..................................................................................................................... - 18 -4.1.1 结构化查询语言SQL..................................................................................... - 18 -4.1.2 SQL语言的特点............................................................................................. - 18 -4.1.3 SQL的数据类型............................................................................................. - 19 -4.1.4 SQL对关系数据库模..................................................................................... - 19 -4.1.5 SQL语言的组成和语句类型......................................................................... - 20 -4.2 SQL的数据定义......................................................................................................... - 21 -4.2.1 模式的定义和删除........................................................................................ - 21 -4.2.2 基本表的定义、删除和修改........................................................................ - 21 -4.2.3 索引的建立和删除........................................................................................ - 22 -4.2.4 域的建立和删除............................................................................................ - 22 -4.3 SQL的数据查询......................................................................................................... - 23 -4.3.1 简单查询........................................................................................................ - 23 -4.3.2 连接查询........................................................................................................ - 24 -4.3.3 嵌套查询........................................................................................................ - 24 -4.3.4 集合查询........................................................................................................ - 25 -4.3.5 SQL中的连接表和外连接............................................................................. - 25 -4.4 SQL的数据修改......................................................................................................... - 26 -4.4.1 插入数据........................................................................................................ - 26 -4.4.2 删除数据........................................................................................................ - 26 -4.4.3 更新数据........................................................................................................ - 26 -4.5 SQL的数据控制......................................................................................................... - 26 -4.5.1 权限授予........................................................................................................ - 26 -4.5.2 权限收回........................................................................................................ - 27 -第5章关系数据库标准语言SQL(二)............................................................................... - 27 -5.1 SQL视图..................................................................................................................... - 27 -5.1.1 视图的概念和定义........................................................................................ - 27 -5.1.2 视图的查询.................................................................................................... - 28 -5.1.3 视图的修改.................................................................................................... - 28 -5.1.4 视图的作用.................................................................................................... - 28 -5.2 数据库程序设计........................................................................................................ - 28 -5.2.1 数据库程序设计概述.................................................................................... - 28 -5.2.2 数据库程序设计方法.................................................................................... - 29 -5.2.3 数据库程序设计中的交互序列.................................................................... - 29 -5.3 SQL的存储过程与SQL/PSM...................................................................................... - 29 -5.3.1 SQL存储过程与函数概述............................................................................. - 29 -5.3.2 SQL/PSM.......................................................................................................... - 29 -5.3.3 创建、执行和删除存储过程和函数............................................................ - 30 -5.4 SQL触发器................................................................................................................. - 32 -5.4.1 触发器概述.................................................................................................... - 32 -5.4.2 创建触发器.................................................................................................... - 32 -5.4.3 触发器的激活................................................................................................ - 33 -5.4.4 删除触发器.................................................................................................... - 33 -5.4.5 触发器示例.................................................................................................... - 33 -5.5 嵌入式SQL................................................................................................................. - 33 -5.5.1 嵌入式SQL概述............................................................................................ - 33 -5.5.2 使用嵌入式SQL时应解决三个问题............................................................ - 34 -5.5.3 嵌入式SQL程序的组成................................................................................ - 34 -5.5.4 在嵌入式SQL中使用游标检索多个元组.................................................... - 35 -5.6 动态SQL..................................................................................................................... - 35 -5.6.1 动态SQL的概念和作用................................................................................ - 35 -5.6.2 动态SQL的语句类型和执行方式................................................................ - 35 -5.7 SQL的其他功能......................................................................................................... - 36 -第6章关系数据库的规范化理论与数据库设计.................................................................. - 36 -6.1 “不好”的关系模式中存在问题............................................................................ - 36 -6.2 函数依赖.................................................................................................................... - 37 -6.2.1 函数依赖的定义............................................................................................ - 37 -6.2.2 函数依赖的逻辑蕴涵.................................................................................... - 37 -6.2.3 码.................................................................................................................... - 37 -6.2.4 函数依赖的公理系统.................................................................................... - 37 -6.3 1NF、2NF、3NF和BCNF............................................................................................ - 38 -6.3.1 1NF及进一步规范化..................................................................................... - 38 -6.3.2 2NF.................................................................................................................. - 38 -6.3.3 3NF.................................................................................................................. - 38 -6.3.4 BCNF................................................................................................................ - 38 -6.4 多值依赖和4NF......................................................................................................... - 39 -6.5 关系模式的分解........................................................................................................ - 39 -6.5.1 模式分解的等价标准.................................................................................... - 40 -6.5.2 关于模式分解的几个事实............................................................................ - 40 -6.6 数据库设计................................................................................................................ - 40 -6.6.1 设计过程概览................................................................................................ - 40 -6.6.2 概念结构设计................................................................................................ - 40 -6.6.3 逻辑结构设计................................................................................................ - 41 -6.6.4 物理结构设计................................................................................................ - 41 -6.7 规范化理论在数据库设计中的应用........................................................................ - 41 -第7章数据库系统实现技术.................................................................................................. - 42 -7.1 数据库管理系统概述................................................................................................ - 42 -7.1.1 数据库管理系统的基本功能................................................................................ - 42 -7.1.2 数据库管理系统的主要成分和工作流程............................................................ - 42 -7.2 存储管理.................................................................................................................... - 42 -7.2.1 物理存储介质简介........................................................................................ - 42 -7.2.3 缓冲区管理.................................................................................................... - 43 -7.2.4 数据字典........................................................................................................ - 43 -7.2.5 索引结构........................................................................................................ - 43 -7.3 查询处理.................................................................................................................... - 44 -7.3.1 查询处理概述................................................................................................ - 44 -7.3.2 查询执行........................................................................................................ - 44 -7.3.3 查询优化........................................................................................................ - 44 -7.4 事务管理.................................................................................................................... - 45 -7.4.2 故障恢复........................................................................................................ - 45 -7.4.3 并发控制........................................................................................................ - 46 -第8章数据库系统的体系结构和安全性.............................................................................. - 46 -8.1 概述............................................................................................................................ - 46 -8.2 分布式数据库系统体系结构.................................................................................... - 46 -8.2.1 分布式数据库系统的主要特点.................................................................... - 46 -8.2.2 分布式数据库的设计技术............................................................................ - 47 -8.2.3 分布式数据库中的查询处理........................................................................ - 47 -8.2.4 分布式数据库系统的并发控制.................................................................... - 47 -8.2.5 分布式恢复.................................................................................................... - 48 -8.3 客户机/服务器数据库体系结构...................................................................... - 48 -8.3.1 客户机/服务器计算模式.............................................................................. - 48 -8.3.2 面向WEB应用的数据库体系结构................................................................ - 48 -8.3.3 面向WEB应用的软件开发............................................................................ - 48 -8.4 安全数据库以及数据库的安全性............................................................................ - 49 -8.4.1 数据安全性问题概述.................................................................................... - 49 -8.4.2 基于授予收回权限的自主访问控制............................................................ - 50 -8.4.3 多级安全性的强制访问控制........................................................................ - 50 -8.4.4 基于角色访问控制........................................................................................ - 50 -8.4.5 统计数据库的安全性.................................................................................... - 50 -8.4.6 加密................................................................................................................ - 51 -8.4.7 可信计算机系统评估标准............................................................................ - 51 -第9章数据库技术的发展...................................................................................................... - 51 -9.1 对象及对象-关系数据库.......................................................................................... - 51 -9.1.1 面向对象数据库基本概念............................................................................ - 51 -9.1.2 对象数据库标准、语言和设计.................................................................... - 52 -9.1.3 对象-关系数据库模型.................................................................................. - 52 -9.2 几种应用数据库系统................................................................................................ - 52 -9.2.1 主动数据库.................................................................................................... - 52 -9.2.2 移动数据库.................................................................................................... - 52 -9.2.3 多媒体数据库................................................................................................ - 52 -9.3 数据仓库.................................................................................................................... - 52 -9.3.1 数据仓库的基本概念.................................................................................... - 53 -9.3.2 数据仓库的数据模型.................................................................................... - 53 -9.3.3 数据仓库体系结构........................................................................................ - 53 -9.4 数据挖掘.................................................................................................................... - 53 -9.4.1 知识发现与数据挖掘.................................................................................... - 54 -9.4.2 关联分析........................................................................................................ - 54 -9.4.3 分类和聚类.................................................................................................... - 54 -第1章数据库原理概述1.1 数据库技术基本概念1.1.1 信息、数据与数据处理1.信息现实世界事物的存在方式或运动状态的反映。
《数据库原理及技术》教材习题参考答案
《数据库原理及技术》教材习题参考答案第1章习题一、选择题:1A、2A、3A、4A、5B、6C、7C、8A、9A、10C二、填空题:1、有组织的、可共享2、文件系统、数据库3、数据结构、数据操作、完整性约束4、共享性高5、关系6、数据逻辑7、数据库8、数据模型9、用户10、DBMS、DBMS第2章习题一、选择题:1A、2C、3B、4C、5A、6B、7B、8B、9C、10C二、填空题:1、实体2、查询3、ALPHA4、二维表、行、列5、定义数据库6、R(U,D,dom,F)7、集合8、关系数据库的型或模式、关系数据库的值9、外键10、连接第3章习题一、选择题:1C、2B、3D、4C、5A、6A、7D、8C、9C、10D二、填空题:1、定义2、SQL3、结构化查询语言4、基本表或视图5、更新6、insert、update、delete7、零个或多个字符8、零个或单个字符9、select 10、order by第4章习题一、选择题:1C、2A、3C、4C、5A、6B、7A、8B、9D、10B二、填空题:1、部分函数、完全函数2、数据冗余大、插入异常、删除异常3、x真子集x’都有x’y4、Y X、Y X5、K U6、全码、非主属性7、有效、完备8、函数、多值、连接9、INF 10、低范式、高范式第5章习题一、选择题:1A、2A、3B、4D、5B、6A、7A、8C、9A、10B二、填空题:1、安全性、完整性、并发性控制、数据库恢复2、安全3、用户标识与鉴定、存取控制、定义视图、数据加密、审计4、设置用户标识(用户名与口令)、鉴定用户标识5、完整性6、commit、rollback7、粒度8、撤消代价小的事务、撤消用户等级低的事务9、撤消代价小的事务10、DB后备副本、存储的日志文件第6章习题一、选择题:1C、2A、3D、4C、5B、6A、7D、8A、9B、10D二、填空题:1、属性冲突、命名冲突、结构冲突2、数据项3、属性4、学号、课程编号5、记录存储结构、存储路径、记录集簇6、聚簇7、结构、行为、数据模型8、概念结构设计、逻辑结构设计9、DBMS 10、数据模型。
