三级数据库第五章考试要点
一、关系数据库系统概述(一)关系数据库系统
关系数据库系统是支持关系数据模型的数据库系统。关系数据库使用数学方法处理数据库中的数据。CODASYL在1962年发表的《信息代数》一文最早提出了这种方法进行数据处理,随后是David Child在1968年在7090计算机上实现的集合论数据结构,但关系模型是由美国IBM公司的E.F.Codd系统而严格地提出的。从65438年到0970年,E.F.Codd相继发表了多篇论文,奠定了关系数据库的理论基础。
(二)关系数据模型
关系数据模型由三个元素组成:关系数据结构、关系操作集和关系完整性约束。
(1)关系数据结构关系模型的数据结构是单一的,在关系模型中,现实世界中的实体以及实体之间的各种关系都是用关系来表示的。在用户看来,关系模型中数据的逻辑结构是一个二维表。
(2)关系操作集关系模型中常用的关系操作有:选择、投影、连接、除、并、交、差等。,以及查询、插入和删除。查询的表达能力是最重要的部分。关系运算的特点是集合运算,即运算的对象和结果都是集合。这种操作模式也称为一次设置模式。相应的,非关系数据模型的数据操作方式是一次记录。关系模型给出了关系操作的能力和特征,用关系语言实现。关系语言的特点(它的优势)是高度非过程化的。所谓非过程化是指:①用户不必要求DBA为他建立专门的访问路径,访问路径的选择由DBMS的优化机制完成。②用户不必求助于循环,递归地完成数据的重复操作。
(3)关系完整性约束数据库的数据完整性是指数据库中数据的正确性和兼容性,这是一个语义概念,包括两个方面:①与现实世界中应用程序所需数据的兼容性和正确性。②数据库中数据之间的兼容性和正确性。
二、关系模型的数据结构(一)关系模型的数据结构和基本术语
在关系数据模型中,数据结构使用单一的二维表结构来表示实体之间的关系。
(1)关系:一个关系对应一个二维表,二维表就是关系名。
(2)属性和值域:二维表中的列(字段)称为属性。属性的数量称为关系的数量,列的值称为属性值。属性值的范围称为范围。
(3)关系模式:二维表中的行定义(记录类型),即关系的描述称为关系模式,一般表示为:关系名(属性1,属性2,…,属性n)。
(4)元组:二维表中的一行(记录值)称为元组。一组关系模式和元组称为关系。
(5)组件:元组中的属性值。
(6)候选关键字或候选关键字:如果一个关系中存在可以用来唯一标识该关系的元组,则这些属性(或属性组合)都称为该关系的候选关键字或候选关键字。
(7)主键或主键:在一个关系的几个候选码中,指定一个元组唯一标识该关系,这个指定的候选码称为该关系的主键或主键。
(8)主要属性和非主要属性:关系中任何候选代码中包含的属性称为主要属性或代码属性,任何候选代码中不包含的属性称为非主要属性或非代码属性。
(9)外键(foreign key)或外键:当一个关系中的一个属性(或属性组)是另一个关系的主码时,虽然它不是该关系的主码或只是主码的一部分,但称该属性(或属性组)是该关系的外码。
(10)引用关系和参照关系:引用关系也叫从属关系,被引用关系也叫主关系,是指与外码关联的两种关系。以外来代码为主代码的关系称为被引用关系;外来代码所处的关系称为引用关系或目标关系。可以看出,被引用关系和引用关系是通过外码联系起来的,这种关系通常是1: n,对于数据库的概念,要区分类型和值。数据库的类型是指对数据库的结构和属性的描述,关系数据库的类型是指对关系数据库的结构的描述,关系数据库包括若干个关系集。数据库的值是类型的具体赋值,关系数据库的值是某一时刻这些关系模式对应的一组关系。所以数据库的类型也叫数据库的意向,数据库的价值也叫数据库的广泛性。数据库的类型是稳定的,但是数据库的值是随着时间不断变化的,因为数据库中的数据是不断变化的。
(B)关系的正式定义和关系数据库中关系的定义
1.关系的形式定义
从数学的角度定义一个关系叫做关系的正式定义。有两种定义如下:
(1)用集合论的观点定义关系:关系是元素个数为k的元组的集合,即关系有若干个元组,每个元组有k个属性值(把关系看成一个集合,集合中的元素就是元组)。
(2)用值域的概念定义关系:关系是属性值域的笛卡尔积的子集。设一个关系的属性为A 1,…,An,其对应的值域为D 1 …,D n(可能有相同的),定义D 1,…,D n D = {(D 65438)D中的每个子集称为一个关系。这里,d的元素(d,…,d n)是一个n元组,元素中的每个值di称为该元组的一个组成部分。如果Di(i=1,2…,N)是一个有限集,它的基数numder是mi(i=1,2,…,N),那么D 1 ×D 2 ×…D n的基数m是m =-N I =
2.关系数据库对关系的定义
(1)每个属性都是不可分解的。这是关系数据库对关系最基本的限制,要求关系的各个组成部分必须是不可分的数据项,也就是说表中没有表。
(2)每个关系模式中的数据类型和属性数量是固定的,每个属性都必须命名。在同一个关系模式中,属性名必须不同。
(3)每种关系只有一种记录类型,即一种关系模式。
(4)关系中元组的顺序(即行顺序)无关紧要。
(5)在关系中,属性的顺序可以随意交换,要和属性名一起交换,否则顺序很重要。
(6)同一关系中不允许出现相同的元组。