第二章关系数据库2.1关系数据库概述2.2关系数据结构2.3关系的完整性2.4关系代数2.5关系演算**2.6关系数据库管理系统
第二章关系数据库 2.1关系数据库概述 2.2关系数据结构 2.3关系的完整性 2.4关系代数 2.5关系演算** 2.6关系数据库管理系统
2.1关系数据库概述·关系数据库系统是支持关系模型的数据库系统,关系理论是建立在集合代数理论基础上的,关系的定义和各种操作运算可以用集合代数给出·关系模型的三要素一关系数据结构:二维表一关系操作:选择、投影、连接、除、并,交、差等查询以及增、删、改一完整性约束:实体、参照、自定义
2.1关系数据库概述 • 关系数据库系统是支持关系模型的数据库系统 • 关系理论是建立在集合代数理论基础上的,关系 的定义和各种操作运算可以用集合代数给出 • 关系模型的三要素 – 关系数据结构:二维表 – 关系操作:选择、投影、连接、除、并,交、差等查 询以及增、删、改 – 完整性约束 :实体、参照、自定义
关系数据语言关系代数语言ISBL关系演算语言元组关系演算语言ALPHA, QUEL域关系演算语言QBE具有关系代数和关系演算双重特点的语言SQL
关系数据语言 • 关系代数语言 ISBL • 关系演算语言 – 元组关系演算语言 ALPHA,QUEL – 域关系演算语言 QBE • 具有关系代数和关系演算双重特点的语言 SQL
2.2关系数据结构·2.2.1关系一域:域是一组具有相同数据类型的值的集合。值的个数称为域的基数笛卡儿乘积:给定一组域:D1,D2,......Dn,域可以相同,定义D1D2......Dn的笛卡儿乘积为:D1 XD2X...... XDn=((dl, d2, ......dn) ldiEDi, i=1,2,....n2;(dl,d2,......dn)称为一个元组-关系(Relation):笛卡儿乘积D1XD2×.....XDn的任一子集D',称作D1,D2,......Dn上的关系。用R(D1,D2......Dn)来表示D中的每个元素(dl,d2,.....dn)是关系的一个元组实际应用中关系往往是笛卡儿乘积中有意义的子集构成n=1是单元关系/一元关系;n=2是二元关系
2.2关系数据结构 • 2.2.1关系 – 域:域是一组具有相同数据类型的值的集合。值的个数 称为域的基数 – 笛卡儿乘积 :给定一组域:D1,D2,.Dn,域可以相 同,定义D1D2.Dn的笛卡儿乘积为: D1×D2×.×Dn={(d1,d2,.dn) |di∈Di,i=1, 2,.n} ; (d1,d2,.dn)称为一个元组 –关系(Relation):笛卡儿乘积D1×D2×.×Dn的任一 子集D’,称作D1,D2,.Dn上的关系。 用R(D1,D2.Dn)来表示 D’中的每个元素(d1,d2,.dn)是关系的一个元组 实际应用中关系往往是笛卡儿乘积中有意义的子集构成 n=1是单元关系/一元关系;n=2是二元关系
举例·域-性别集=[男、女?。基数=2-月份集={1,2,3,4,5,6,7,8,9,10,11,12),基数=12·笛卡儿乘积-D1=姓名集合={赵一平,钱峰,孙英)-D2=性别集合=男,女}-D3=年龄集合=(16,17,18)关系姓名性别年龄男16赵一平男17钱峰女17孙英
举例 • 域 –性别集={男、女}。基数=2 –月份集={1,2,3,4,5,6,7,8,9,10,11,12},基数=12 • 笛卡儿乘积 –D1=姓名集合={赵一平,钱峰,孙英} –D2=性别集合={男,女} –D3=年龄集合={16,17,18} • 关系 姓名 性别 年龄 赵一平 男 16 钱峰 男 17 孙英 女 17