第2章 关系数据库理论基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生(学号,姓名,性别,出生年月,系) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)
Key
学生:student
Key Key
课程:course
选修:sc
规则2:参照完整性规则 若属性(或属性组) F是基本关系R的外码,它是基本关系S的主码 (R和S可以为同一关系),则对于R中每个元组 在F上的值必须为:
第2章 关系数据库理论基础
2.1关系的基本概念
2.1.1 关系的数学定义 1.域(Domain) 域:是一组具有相同数据类型的值集合。例如: {自然数},{男,女},{0,1}等都可以是域。 基数:域中数据的个数称为域的基数。 如:{0,1}基数为2。
域被命名后用如下方法表示: 如: D1 = {白亚春,陈韬,王雪莲}, 表示姓名的集合,基数是3; D2 = {计算机系,电子系}, 表示系的集合,基数是2;
辅助专门的关系运算符进行操作
(4)逻辑运算符
辅助专门的关系运算符进行操作
关系代数运算符(待续) 运算符 集 合 运 算 符 ∪ ∩ × 含义 并 差 交 广义笛 卡尔积 运算符 比 较 运 算 符 > ≥ < ≤ = ≠ 含义 大于 大于等于 小于 小于等于 等于 不等于
关系代数运算符(续)
2.1.5关系数据库 1)在关系模型中,实体及实体间的联系都 是用关系来表示的。 2)关系数据库:由实体及实体间联系的关 系的集合构成。 3)关系数据库模式:对数据库的描述。 (如包含若干域的定义及在这些域上定义的 若干关系模式)
2.2 关系的完整性 完整性约束:对关系的某种约束条件。 1)实体完整性(Entity Integrity) 规则1:实体完整性规则 若属性A是基本关系 R的主码所包含的属性,则属性A不能取空值。 注:主码不能为空,且主码整体取值也不空。 例:选修(学号,课程号,成绩) 实体完整性规则: (1)针对基本表而言 (2)实体可区分,且有某种唯一性标识。 (3)关系模型中以主码为唯一标识。 (4)空值:“不知道”或“无意义”。
商品号 T01
T05 T07
3)用户定义完整性(User-defined Integrity)
如:grade在0-100之间
sno的编号规则
ssex只能取‘男’ 或‘女’
2.3关系代数 RDML的基础是关系运算。 关系运算分为两类: 1、关系代数(Relation algebra) 关系代数的运算可分为: (1)传统的集合运算:并、差、交和笛卡尔积。 (2)专门的关系运算:投影、选择、联接。 2、关系演算:用谓词来表达查询要求的方式。 关系演算按谓词变元来分: (1)元组关系演算 (2)域关系演算
(1)无限关系:无意义。 (2)每个域附加一个属性名,以取消关系元 组的有序性。 (3)一个取自笛卡尔积的子集才有意义。
姓名 系
陈韬
王雪莲 白亚春
计算机系
电子系 计算机系
参见
2.2.2 关系的性质 1.列是同质的。
学号 0022102 计算机系 0052201 0052217 姓名 王雪莲 白亚春 陈韬 袁更旭 性别 女 男 男 男 出生日期 不同质 1980-9-15
4.关系中的元组分量具有原子性, 即每一个分量都必须是不可分的数 据项。
学号 姓名 性别 出生年月 女 1980-9-15 联系方式 手机 固定电话
0022102 王雪莲
15812345678 68021234
不具有原子性
5.不同的列可出自同一个域 其中的每一列称为一个属性 同一关系中:不同的属性要给予不同的属性名 如: EMPLOYEE(SSN,NAME,BDATE,SEX,ADDRESS, SALARY,SUPERSSN,DNO) 或: EMPLOYEE(雇员工号、雇员姓名、出生日期、 性别、家庭住址、工资、经理工号、部门号)
主健
外健
学号
002210 005130 005220
姓名
性别
出生日期
1980-9-15 1981-1-25 1981-5-6
所在系
电子系
班长号
002210
王雪莲 女 白亚春 男 陈韬 男
005221
袁更旭 男
1980-12-8
计算机系 002210 计算机系 002210 计算机系 002210
注:不仅两个或两个以上 关系间可以存在引用关系, 同一关系内部属性间也可。
学号
002210
005130 005220 005221
姓名
性别
出生日期
1980-9-15
1981-1-25 1981-5-6 1980-12-8 系名 电子系 计算机系 通讯系
家庭地址
……….
…….. …….. ………
系号
d01
d02 d02 d02
王雪莲 女
白亚春 男 陈韬 男
袁更旭 男 系号 d01 d02 d03
雪莲,计算机系),(王雪莲,电子系),(白亚 春,计算机系),(白亚春,电子系)}
每个(d1,d2,…,di,…,dn)称为元组, di称为分量。 笛卡尔积的基数:所有域的基数累乘积, 即: 令Di(i = 1,2,…,n)为有限集合,其基数 为mi(i = 1,2,…,n),则D1×D2×…×Di×…×Dn 笛卡尔积的基数M为: M=m1×m2×m3…×mn。
域相同
2.1.3 键(码,key) 1.候选键(Candidate key)/候选码(可以一个或多 个):若关系中的某一属性组的值能惟一地标识一个 元组,则称该属性组为候选键。 候选码 候选码 例如: 学生(学号,姓名,性别,出生年月,身份证号,家庭 地址,系号) 学号 姓名 性别 出生日期 身份证 ……..
002210 王雪莲 女 1980-9-15 3101031 9800915 2443 …….. …….. ……… ………
005130 005220 005221
白亚春 男 陈韬 男
1981-1-25 1981-5-6 1980-12-8
……… ……… ………
袁更旭 男
2.主键(Primary key)/主码 (只有一个) 若一个关系中有多个候选键,则选定一个为主键 如:选定“工号”
002210
姓名
性别
出生日期
1980-9-15
所在系 班长号
电子系 002210
王雪莲 女
005130
005220 005221
白亚春 男
陈韬 男
1981-1-25
1981-5-6 1980-12-8
计算机 系
计算机 系 计算机 系
002210
002210 002210
袁更旭 男
✾外码与相应的主码名可以取不同的名字 商品编号 T01 T02 T05 T07 会员编号 H001 H006 H002 H005 商品名称 照相机 游戏光碟 mp3 手机 姓名 杨林 祝小兰 陈洪 关羽 价格 3200 8 500 2349
关系代数
※一种抽象的查询语言,用关系的运算来表达查询。 ※关系代数运算的三个要素:
运算对象:关系
运算结果:关系
运算符:四类
(1)集合运算符
将关系看成元组的集合 运算是从关系的“水平”方向即行的角度来进

(2)专门的关系运算符
不仅涉及行而且涉及列
(3)算术比较符
运算符 专门的 关系 运算符 含义 σ π ÷ 运算符 选择 逻辑运 投影 算符 连接 除 含义 ∧ ∨ 非 与 或
2.3.1 传统的集合运算 要求参与运算的两个关系必须是相容的: 参与操作的两个元组必须限定为同类型 的,即含有相同的属性,且对应属性的值域 相同。 传统的集合运算是二目运算。 设:t为元组。
域D1,D2,…,Dn上的关系,记作: R(D1,D2,…,Di,…,Dn) 其中:R为关系名,n为关系的度或目(Degree) Di:第i个域名(以取消有序性). 当n = 1 时,称该关系为单元关系; 当n = 2 时,称该关系为二元关系; 以此类推,关系中有n个域,称该关系为n元关系。
关系做为关系数据模型的数据结构的限定与扩允:
1981-1-25
所在系 电子系 0051309
1981-5-6
计算机系 1980-12-8
计算机系
2.关系中行的顺序、列的顺序可以任意互 换,不会改变关系的意义。 即行、列无序
3.关系中的任意两个元组不能相同。
学号 0022102 0051309 0051309 0052217 姓名 王雪莲 白亚春 白亚春 袁更旭 性别 女 男 男 男 出生日期 1980-9-15 1981-1-25 1981-1-25 1980-12-8 所在系 电子系 计算机系 计算机系 计算机系
(1)取空值(F中的每个属性均为空);针对 F不是主码中的属性。 (2)非空值,须为所参考主属性所包含的值。 如:选课关系中,“学号”须为学生表中已存在 的。实例
商品
商品编号 T01 T02 T05 T07 商品名称 照相机 游戏光碟 mp3 手机 价格 3200 8 500 2349
会员 会员 姓名
3 .主属性(Primary Attribute) 候选码所包含的各属性称为主属性。 如主属性:工号、身份证号 4.非主属性(Non-key attribute): 不包含在任何候选码中的属性。 如:姓名、性别、出生年月、家庭地址、系号
注:候选码特性
1)唯一性(uniqueness)
2)最小性(minimally)
例:选修(学号,课程号,成绩)
学号 002210 002210 005130 课号 C01 C02 C01 成绩 80 90 90
005130 005130 005220 005221
C02 C03 C01 C01
60 85 40
可以为空
不能为空
不能为空
2)参照完整性(Referential Integrity):定义 实体与实体之间的联系。 定义:同外键的定义。 例:
5.全码(All-Key)
关系模式中所有属性的组合是这个关系模式的候选码.
课程号 C201 教师号 0022102
C505 C505 C506
0051309 00522Байду номын сангаас1 0052201
6.外键(Foreign key) 设F是基本关系R的一个或一组属性,但不是R的 主码,但F是基本关系S的主码,则称F是R的外 键。 R:为参照关系(referencing relation); S:为被参照关系(referenced relation)(或目 标关系(Target Relation))。 如: 学生(学号,姓名,性别,出生年月,家庭地 址,系号) 系(系号,系名)
1.并 并:是将两个关系中的所有元组构成新的关系,并运 算的结果中必须消除重复值。关系R与S的并运算 记作:R∪S。
条件:R和S
具有相同的目n(即两个关系都有n个属性)
2.1.4关系模式(Relation Schema) 1)关系模式是型,关系是值。 2)关系实质是一张二维表,关系是元组的 集合。 3)关系模式的定义:关系的描述。完整的 形式化表示如下: R(U,D,dom,F) 简记R(U)或R(A1,A2,„,An) R:关系名;U:属性名集合,D:属性所来 自的域;dom:属性向域的映象集合,F:属 性间数据的依赖关系集合。 属性向域的映象集合:说明每个属性所对应 的域。即直接说明属性的类型、长度等。 如性别:{男、女}
返回
2.笛卡尔积(Cartesian Product)
※给定一组域 D1 ,D2 ,…,Di ,…,Dn (可以有相 同的域),则笛卡尔积定义为:
D1×D2×…×Di×…×Dn={(d1,d2,…,di,…,dn) |di∈Di,
i= 1,2,…,n} 例如:
D1×D2={(陈韬,计算机系),(陈韬,电子系),(王
编号 H001 H006 H002 H005
商品编号
杨林 T01 祝小兰 T05 陈洪 关羽 T45(错)
商品 编号 为主 码, 不允 许为 空, 允许为空值 且不 重复
返 回
注: ✾同一关系内部属性间也可以存在引用关系,外码与所 参照的属性必须定义在同一个(或一组)域上。 思考:哪个是参照关系?哪个是被参照关系? 学号
M mi i 1
n
实例: 参见 该笛卡尔积的基数是M = m1m2 3*2 = 6 , = 即该笛卡尔积共有6个元组,它可组成一张二 维表如下:
姓名 陈韬 陈韬 王雪莲 王雪莲 白亚春 白亚春 系名 计算机系 电子系 计算机 电子系 计算机 电子系
3.关系(Relation) ※ 关系定义:笛卡尔积D1D2…Di…Dn 的子集R称作在
相关文档
最新文档