关系数据库系统研究进展 第2章 1970年E.F.Cod A Relational model of Data for shared data banks” 1975年 Tymsharce公司 MAGNUM 1978年IBM公司 QUERY BY EXAMPLE 1979年IBM公司 SYSTEM R 1979年0 RACLE公司 ORACLE RDBMS INFOMIX公司 INFOMIX SYBASE公司 SYBASE icroSoft公司SQL- SERVER DBASEⅢ→ FoXPro
• 1970年 E.F.Codd “A Relational Model of Data for Shared Data Banks” • 1975年 Tymsharce公司 MAGNUM • 1978年 IBM公司 QUERY BY EXAMPLE • 1979年 IBM公司 SYSTEM R • 1979年 ORACLE公司 ORACLE RDBMS • INFOMIX公司 INFOMIX • SYBASE公司 SYBASE • MicroSoft公司 SQL-SERVER • DBASE Ⅲ→FoxPro ● 关系数据库系统研究进展 第2章
第2章 第章关系数据库 °关条数据结构 关糸定义 关条性质 关糸棋式 关糸的究整性 实体完整性 参照完整性 用户定义完整性 关条代数 关糸演算 关糸数据庠管理糸统
• 关系数据结构 关系定义 关系性质 关系模式 • 关系的完整性 实体完整性 参照完整性 用户定义完整性 • 关系代数 • 关系演算 • 关系数据库管理系统 第2章 关系数据库 第2章
21关系数据结构 211关系的数学定义 1.域( Domain) 定义21域是一组具有相同数据类型的值的集合。(值域) 在关系中用域来表示属性的取值范围 域中所包含的值的个数称域的基数用m表示) 例:D={A,2,3,…,Q,k} M=13 D2=》 M2=4 D3={数据库原理,面向对象数据库技术}M3=2
2.1 关系数据结构 2.1.1 关系的数学定义 ⒈ 域(Domain) 定义2.1 域是一组具有相同数据类型的值的集合。(值域) 例:D1={A , 2 , 3 , … , Q , k } M1= 13 M2= 4 ➢ 在关系中用域来表示属性的取值范围 ➢ 域中所包含的值的个数称域的基数(用m表示) D2={ , , , } D3={数据库原理,面向对象数据库技术} M3=2
211关系的数学定义 笛卡尔积( Cartesian product) 定义22给定一组域D1,D2,…,Dn,(允许部分或全部相同)。 D1,D2,…,Dn的笛卡尔积为 D1XD2×…XDn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n} ●笛卡儿积也是一个集合 其中每一个元素(d1,d2,…,dn)叫作一个n元组( n-Tuple), 或简称为元组。元素中的每一个值di叫作一个分量( Component)。 若Di(i=1,2,∴,n)为有限集,其基数( Cardinal number 为mi(i=1,2,…,n),则1×D×…Dn的基数为:m=mi
2.1.1 关系的数学定义 若Di(i=1,2,…,n)为有限集,其基数(Cardinal number) 为mi(i=1,2,…,n),则D1×D2×…×Dn的基数为: 其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-Tuple), 或简称为元组。元素中的每一个值di叫作一个分量(Component)。 m= ∏ mi i=1 n 定义2.2 给定一组域D1,D2,…,Dn,(允许部分或全部相同)。 D1,D2 ,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|di∈Dj,j=1,2,…,n } ⒉ 笛卡尔积(Cartesian Product) ● 笛卡儿积也是一个集合
211关系的数学定义 例 设有域D1={A,2,3,…Q,k},D2=(4,}_,则笛卡尔积 D1×D2={(A, (A ,(A,) k,(k),(),(◆ 元组 PC|牌值 花色 分量 基数:13×4=52 口笛卡尔积可表示为一个二维表 口表中的每行对应一个元组,表中的每列对应一个域
设有域 D2={ , , , } ,则笛卡尔积 D1×D2={(A, ),(A, ),(A, ),(A, ) . . . . . . . . . . . . (k, ),(k, ),(k, ),(k, )} D1={ A , 2 , 3 , … , Q , k }, 2.1.1 关系的数学定义 PC K .. .. A A 牌值 花色 分量 元组 基数 : 13×4 = 52 ❑ 笛卡尔积可表示为一个二维表. ❑ 表中的每行对应一个元组,表中的每列对应一个域。 例
211关系的数学定义 3.关系( relation) 定义23D1×D2×…×Dn的有意义的子集称为在域D1,D2…,Dn上的关系, 记为R(D1,D2…,Dn) 其中:R为关系的名;n为关系的度(目);r∈R表示r是R中的元组。 子集元素是关系中的元组; 关系中的元组个数是关系的基数 同样可以把关系看作是一个二维表: 每一行对应一个元组; >表的每一列对应一个域,每个域起一个名字称为属性
2.1.1 关系的数学定义 3.关 系 (relation) 定义2.3 D1×D2×…×Dn的有意义的子集称为在域D1,D2 ,…,Dn上的关系, 记为 R(D1 ,D2 ,…,Dn ) 。 其中:R为关系的名;n为关系的度(目);r∈R 表示 r 是 R 中的元组。 ➢ 子集元素是关系中的元组; ➢ 关系中的元组个数是关系的基数; ➢ 同样可以把关系看作是一个二维表: ➢ 每一行对应一个元组; ➢ 表的每一列对应一个域,每个域起一个名字——称为属性;
211关系数学定义 例 例:设D=男人集合(MAN)={王强、李东、张兵} 王强赵红|王 王强赵红李 D2=女人集合 WOMAN)={赵红、吴芳} 王强赵红李二 D3=儿童集合CHLD={王一、李一、李二} 王强吴芳王 王强吴芳李 王强吴芳李 (1)求上面三个集合的笛卡儿积 李东赵红王 李东赵红李 (2)构造一个家庭关系,可表示为: 李东赵红李二 FAMILY(MAN, WOMAN, CHILD) 李东吴芳王 Family MAN WOMAN CHILD 张兵赵红王 王强 赵红 王 张兵赵红李 张兵赵红李 李东 吴芳 李 张兵吴芳王 李东 吴芳 李二 张兵吴芳李 张兵吴芳李
2.1.1 关系数学定义 例 例:设 D1=男人集合(MAN) = { 王强、李东、张兵 } D2 =女人集合(WOMAN) = { 赵红、吴芳 } D3=儿童集合(CHILD) = { 王一、李一、李二} (1)求上面三个集合的笛卡儿积 M W C 王强 赵红 王一 王强 赵红 李一 王强 赵红 李二 王强 吴芳 王一 王强 吴芳 李一 王强 吴芳 李二 李东 赵红 王一 李东 赵红 李一 李东 赵红 李二 李东 吴芳 王一 李东 吴芳 李一 李东 吴芳 李二 张兵 赵红 王一 张兵 赵红 李一 张兵 赵红 李二 张兵 吴芳 王一 张兵 吴芳 李一 张兵 吴芳 李二 李东 吴芳 李二 李东 吴芳 李一 王强 赵红 王一 MAN WOMAN CHILD Family (2)构造一个家庭关系,可表示为: FAMILY(MAN,WOMAN,CHILD)
2.11关系的数学定义 4 候选码( candidate key) 值能唯一标识一个元组的属性组,且不含多余属性,称该属性组为候选码。 5.主码( primary key) 个关系有多个候选码时,选定其中的一个作为主码。 6.外部码( foreign key) 关系R的某一属性组X不是R的码,但是其他某一关系的码,称X为R的外部码。 7.主属性( prime attribute) 关系R中构成码的属性称为主属性
2.1.1 关系的数学定义 关系R中构成码的属性称为主属性。 一个关系有多个候选码时,选定其中的一个作为主码。 关系R的某一属性组X不是R的码,但是其他某一关系的码,称X为R的外部码。 5.主码(primary key) 6.外部码(foreign key) 7.主属性(prime attribute) 值能唯一标识一个元组的属性组,且不含多余属性,称该属性组为候选码。 4.候选码(candidate key)
211关系的数学定义 例:)学生: S(S#, SNAME, SA, SD) 课程:C(C, CNAME,PC#) 选课:SC(S#,C#,GR) S:候选码:S#, SNAME: 主码:S# 候选码:C#; 主码:C SC:候选码:(S#,C排#); 主码:(S#,C柱); 关系性质 外部码:S#,C# °每一列中的数值是同类型的数据,来自同一个域。(列同质) 不同的列可对应于同一个域,但给予不同的属性名 °同一关系中不允许有相同的记录。(无重复行) 行的次序可以任意交换,不影响关系的实际意义。(行可调) °关系中的每一个属性值都必须是不能再分的元素。(分量不可分) °列的次序可以任意交换,不影响关系的实际意义。(列可调)
例: 2.1.1 关系的数学定义 学生:S(S#,SNAME,SA,SD) 课程:C(C#,CNAME,PC#) 选课:SC(S#,C#,GR) S: 候选码:S#,SNAME; 主码:S# C: 候选码:C#; 主码:C# SC: 候选码:(S#,C#); 主 码:(S#,C#); 外部码: S#,C# • 关系中的每一个属性值都必须是不能再分的元素。(分量不可分) • 列的次序可以任意交换,不影响关系的实际意义。(列可调) • 每一列中的数值是同类型的数据,来自同一个域。(列同质) • 不同的列可对应于同一个域,但给予不同的属性名。 • 同一关系中不允许有相同的记录。(无重复行) • 行的次序可以任意交换,不影响关系的实际意义。(行可调) 关系性质
212关系模式 8.关系模式 定义24对关系的描述称为关系模式,记为R(U,D,DOM,F) 其中 R为关系名,U为属性集 D为U所对应的域的集合, DOM为属性向域的映象集合, F为属性间数据依赖关系的集合。 关系模式通常简记为:R(U S(S#, SNAME, SA, SD) 关系模式就是关系的框架(表框架) 它是对关系结构的描述 ●关系模式是型,是静态的、稳定的; 关系是关系模式的值,是动态的、随时间而变化的
2.1.2 关系模式 8. 关系模式 定义2.4 对关系的描述称为关系模式,记为R(U,D,DOM,F); 其 中 : R为关系名, U为属性集, D为U所对应的域的集合, DOM为属性向域的映象集合, F为属性间数据依赖关系的集合。 ● 关系模式是型,是静态的、稳定的; ● 关系是关系模式的值,是动态的、随时间而变化的。 关系模式通常简记为: R(U) S(S#,SNAME,SA,SD) ▪ 关系模式就是关系的框架(表框架) ▪ 它是对关系结构的描述