第15章关系数据库
关系和关系模式
关系代数
域关系演算简介 三种关系运算的等价性
关系数据库标准语言SQL
FoxPro的SQL命令
全关系型数据库系统的十二条基本准则简介
关系和关系模式
关系
1. 笛卡尔积
定义: 给定一组域D1, D2, …, Dn, 它们的笛卡尔积为:
D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di}
例若D1={0,1}, D2={a,b}, D3={x,y,z}, 则D1×D2×D3为: {(0,a,x),(0,a,y),(0,a,z),(0,b,x),(0,b,y),(0,b,z),(1,a,x),(1,a,y); (1,a,z),(1,b,x),(1,b,y),(1,b,z)}。
笛卡尔积中的每一元素(d1,d2,…,dn)称为一个n元组(n--tuple), 简称元组。元组中的每一个di称为一个分量(Component), 亦称属性, 分量是有序的。
若所有的Di都为有限集, 基数为mi, 则笛卡尔积也为有限集, 基数为:
笛卡尔积所包容的信息是十分有限的, 但当研究
的对象是其子集时, 情况就不同了。
2. 关系的数学定义
(1) 定义。
D1×D2×…×Dn的子集称为在域D1,D2,…,Dn上的关系(Relation), 用R(D1, D2,…. , Dn)表示。这里, R是关系名, n是关系的目或度(degree)。
关系是元组的集合。每个关系都有一个关系名, 每个属性也有一个属性名。
(2) 可用一个二维表来表示一个关系。
表名为关系名, 每一行为一个元组, 每一列为一个属性, 每列起首标以属性名。
3. 关系数据库的关系
关系数据库的关系与上述数学上的关系有所不同, 它的性质有:
①每一列都是不可分的数据项, 且来自同一域。②每列有一个属性名, 不同列有不同的属性名, 但可出自同一域。
③任意两个元组不能完全相同。
④列之间的次序、行之间的次序都是不重要的。
关系的描述称为关系模式。一个有名关系的关系模式常简记为它的属性名序列。
若一个关系的名为R, 其所有属性名分别为A1, A2,…,An, 则关系模式记为:
R (A1,A2,…,An)
事实上, 除了上述内容外, 关系模式还应描述: 各属性的值域、属性与域之间的映像关系、各属性间的数据依赖以及一组完整性约束条件。因此, 关系模式的形式化定义是一个多元组。
R(U, D,DOM,I ,F)
多元组中, R为关系名; U是组成R的有限属性集; D是各属性的值域; DOM是属性列到域的映射; I是一组完整性约束条件; F是属性间的一组依赖关系。但一般都简化为用R(U)表示。
关系模式是一个框架, 是关系的结构, 不随时间而变化的。关系是关系模式在某一时刻的“当前值”, 它是随着各元组的增删, 随着元组各属性值的改变而不断变化的。实际使用中, 常把关系模式和关系统称为关系, 可根据上下文加以区分。
一个系统中所有关系的当前值, 称为关系数据库。
关系数据库概述
关系数据结构
关系模型是用关系(即二维表)来表示实体以及实体间的联系的。
关系操作
关系操作指对关系进行的存储操作和检索(查询)操作。关系操作有代数方式和逻辑方式两种, 即关系代数和关系演算, 它们在功能上是等价的。
SQL(Structured Query Language, 结构化查询)语言是一种兼有关系代数和关系演算特点的语言, 它集查询(Query)、操纵(Manipulation)、定义(Definition)和控制(Control)四个功能于一身, 是一种通用的、功能极强的关系数据库操纵语言。关于SQL语言在后面的章节中将进一步介绍。
关系模型的三类完整性约束
在讲完整性约束之前, 首先要弄清数据库中的几个概念。
(1) 关键字或码(Key)。
可惟一标识关系中每一个元组的属性(组)称为该关系的候选码; 若一个关系中有多个候选码, 则选取其中一个为主关键字(或叫主码)。包含在候选码中的属性叫主属性。
(2) 外部键或外部码(Foreign Key)。
设有两个关系R和S, 其中属性(组)X是关系S的
第15章 关系数据库 来自淘豆网m.daumloan.com转载请标明出处.