第二章关系数据库
提纲
关系数据结构及形式化定义
关系操作
关系的完整性
关系代数
关系演算
关系数据库简介
。
1970年提出关系数据模型
, “A Relational Model of Data for Large
Shared Data Banks”, 《Communication of the
ACM》,1970
之后,提出了关系代数和关系演算的概念
1972年提出了关系的第一、第二、第三范式
1974年提出了关系的BC范式
他因此获得1981年的ACM图灵奖。
关系数据库简介
关系理论是建立在集合代数理论基础上的,有着坚实的数学基础
早期代表系统
SystemR:由IBM研制
INGRES:由加州Berkeley分校研制
目前主流的商业数据库系统
Oracle,Informix,Sybase,SQL Server,DB2
Access,Foxpro,Foxbase
域(Domain)
是一组具有相同数据类型的值的集合。例:
整数
实数
介于某个取值范围的整数
长度指定长度的字符串集合
{‘男’,‘女’}
……………..
笛卡尔积(Car’tesian Product)
给定一组域D1,D2,…,Dn,这些域中可以有相同的。
D1 , D2 ,…, Dn的笛卡尔积为:
D1×D2×…×Dn =
{(d1 , d2 , …, dn) | di∈Di , i=1,…,n}
含义:
所有域的所有取值的一个组合;
不能重复
例:设
D1为教师集合(T)= {t1,t2}
D2为学生集合(S)= {s1,s2 ,s3}
D3为课程集合(C)= {c1,c2}
则D1×D2×D3是个三元组集合,是所有可能的(教师,学生,课程)元组集合.
笛卡尔积可表为二维表的形式,表中的每行对应一个元组,表中的每列对应一个域。
T
S
C
t1
s1
c1
t1
s1
c2
t1
s2
c1
…
…
…
t2
s3
c2
多少行列?
含义?
1. 元组(Tuple)
笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)
(t1,s1,c1)、(t1,s1,c2)等都是元组
2. ponent)
笛卡尔积元素(d1,d2,…,dn)中的每一个值di叫作一个分量.
t1,s1,c1等都是分量
(Cardinal number)
若Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn的基数M为:
笛卡尔积可表示为一个二维表
表中的每行对应一个元组,表中的每列对应一个域
关系
笛卡尔积D1×D2×…×Dn的子集叫做在域D1 , D2 ,…, Dn上的关系,用R(D1 , D2 ,…, Dn )表示
R是关系的名字,n是关系的度或目( Degree )
关系是笛卡尔积中有意义的子集
关系也可以表示为二维表
关系TEACH(T, S, C)
T
S
C
t1
s1
c1
t1
s1
c2
t1
s2
c1
t2
s3
c2
元组
属性
含义?
数据库 第三章 关系数据库 来自淘豆网www.taodocs.com转载请标明出处.