第二章关系数据库 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={(d1,d2,......dn)diEDi,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.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