数据库SQL Server关系模型分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
除了提供关系代数或关系演算的功能外,还 有附加功能(函数、更新操作等) SQL(关系代数和关系演算)
关系数据库的标准语言
QUEL(元组关系演算)/QBE(域关系演算)
特点
高度非过程化的语言 完备的表达能力,能嵌入到高级语言中使用
16
关系的完整性约束
对关系的某种约束条件,使得数据库中数
据与现实世界保持一致
行列无顺序
Oracle、 Foxpro 都允许行重复 Foxpro 区分了列顺序
关系中每一个属性值都是不可分解的
SAP 关系 非规范化关系
SUPERVISOR SUPERVISOR 张清玫 张清玫 刘逸 张清玫 刘逸
SPECIALITY SPECIALITY 信息专业 信息专业 信息专业 信息专业 信息专业
体之间联系对应关系的集合构成一个关系
数据库
关系数据库的型(模式)--关系数据库的描 述
若干域的定义 在这些域上定义的若干关系模式
关系数据库的值
这些关系模式在某一时刻对应的关系集合
13
关系操作
数据更新
插入、删除、修改
数据查询
传统的集合操作、专门的关系操作
特点:一次一集合
集合操作方式,即操作的对象和结果都是集合
专业号 年龄 01 01 01 02 02 19 20 20 20 19
班长 802
802
802 805 805
外码
设F是基本关系R的一组属性,但不是关系R
的码。如果F与基本关系S的主码Ks相对应, 则称F是基本关系R的外码
简单的说,如果关系R中的属性组K是其他关 系的主码,那么K在R中称为外码
11
关系模式 (续)
关系模式通常可以简记为
R(U)
域名D及属性向域的映象DOM常常直接说明为 属性的类型、长度
关系模式与关系
关系模式是对关系的描述,静态的、稳定的 (型)
关系是关系模式在某一时刻的状态或内容, 动态的、随时间不断变化的(值)
关系模式和关系往往统称为关系
12
关系数据库
在一个给定的应用领域中,所有实体及实
关系—码
超码
在关系中能唯一标识元组的属性集称为超码
候选码
不含多余属性的超码称为候选码
候选码中的属性称为主属性
主码
用户选作元组标识的候选码称为主码
例:学生(学号,姓名,系别,身份证号)
8
关系—基本性质
列同质,不同列可同域,但属性名不同
实际产品并不严格符合基本性质 不允许出现重复的元组
R称为参照关系, S称为被参照关系
例:学生(学号,姓名,性别,专业号,年龄,班长) R和S可以是同一关系 R的外码和S的主码定义在同一域,名字可以 不同
23
参照完整性规则
若属性组F是基本关系R的外码它与基本关
系S的主码Ks相对应,则对于R中每个元组在 F上的值必须为:
或者取空值
或者等于S中某个元组的主码值。
D1,D2,D3 的笛卡尔积
SPECIALITY 计算机专业 计算机专业 计算机专业 信息专业 …… 信息专业 POSTGRADUATE 李勇 刘晨 王敏 李勇 …… 王敏
6
关系—定义
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上 的关系,表示为R(D1,D2,…,Dn)
R:关系名,n:关系的目或度(Degree)
POSTGRADUATE PG1 POSTGRADUATE PG2
李勇 王敏
李勇 刘晨 刘晨 王敏
9
关系模式
关系模式对关系的描述
表示为关系名(属性1,属性2,…,属性n) 关系模式SC(Sno,Cno,Grade) 的具体实例如 下 sc关系
Sno 95001 95001 95002 Cno 1 2 1 Grade 85 90 90
例:选修(学号,课程号,成绩)
学号、课号是否可为空?
学号和课号两者之一为空? 学号、课号应该取哪些值?
24
用户定义的完整性
是针对 某一具体关系数据库 的约束条件 ,
反映某一具体应用所涉及的数据必须满足
的语义要求。
关系模型应 提供定义和检验这类完整性的机
制, 而不要由应用程序承担这一功能。
例:课程(课程号,课程名,学分) 具体用户 要求: 课程名”属性必须取唯一值
第二章 关系模型
主要内容
关系数据结构
关系的操作集合
关系的完整性约束
小结
2
Leabharlann Baidu
域(Domain)
域是一组具有相同数据类型的值的集合
整数 实数 介于某个取值范围的整数 指定长度的字符串集合 {‘男’,‘女’}
介于某个取值范围的日期
3
笛卡尔积
笛卡尔积的定义
给定一组域D1,D2,…,Dn,域可相同
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏), (刘逸,信息专业,李勇),(刘逸,信息专业,刘晨), (刘逸,信息专业,王敏) }
5
笛卡尔积(续)
D1×D2×…×Dn也可以表示为一个二维表:
表 1.2
SUPERVISOR 张清玫 张清玫 张清玫 张清玫 …… 刘逸
关系是笛卡尔积的有意义的有限子集
例关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设:专业与导师:1:n,导师与研究生:1:n
SAP 关系
SUPERVISOR 张清玫 张清玫 刘逸
7
SPECIALITY 信息专业 信息专业 信息专业
POSTGRADUATE 李勇 刘晨 王敏
18
Ssex 男 女 女 女 女
Sid 37078619820101132
37078619831011167
参照完整性
三个相关概念
关系间的引用 外码 参照完整性规则
19
关系间的引用
在关系模型中实体间的联系都是用关系来描述的,
体现在关系与关系间的引用。
例1:专业实体与学生实体间的一对多联系
mi
4
笛卡尔积(续)
给出3个域:D1={ 张清玫,刘逸 } D2 ={计算机专业,信息专业}
D3= {李勇,刘晨,王敏} D1×D2×D3={
(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (张清玫,信息专业,王敏),
804 805
课程
课程号 01 02
03 04
课程名 数据库 数据结构
编译 PASCAL
学分 4 4
4 2
关系间的引用(续)
例3
学生实体及其内部的领导联系(一对多)
学生(学号,姓名,性别,专业号,年龄,班长)
学号 801 802 803 804 805
22
姓名 张三 李四 王五 赵六 钱七
性别 女 男 男 女 男
学生(学号,姓名,性别,专业号,年龄) 学号 姓名 性别 专业号 年龄 801 张三 女 01 19 专业(专业号,专业名) 专业号 01 02 专业名 信息 数学
802 803 804 805
20
李四 王五 赵六 钱七
男 男 女 男
01 01 02 02
20 20 20 19
03
计算机
关系间的引用(续)
例2:学生与课程
学生
学号 姓名 801 张三 李四 性别 女 男 专业 号 01 01 年龄 19 20
之间的多对多联系 学生选课
学号 801 801 801 802 802 803
21
802
803
王五
赵六 钱七
男
女 男
01
02 02
20
20 19
课程号 04 03 02 03 04 04
成绩 92 78 85 82 90 88
D1×D2×…×Dn={(d1, d2, …,dn) | di Di, i=1, 2, …,n} 笛卡尔积的每个元素(d1 , d2 , … , dn)称作一个n 元组(n-tuple) 元组的每一个值di叫做一个分量(component) 若Di的基数为mi,则笛卡尔积的基数M=
i 1 n
25
“学分”属性只能取值{1,2,3,4}
关系模型小结
域和笛卡尔积 关系的基本概念
关系、关系模式与关系数据库 数据更新、查询、模式更新
关系操作
关系数据语言 实体完整性
完整性约束
作业:P70
26
参照完整性 用户定义完整性 5
关系模型中三类完整性约束:
实体完整性 参照完整性 用户定义的完整性
实体完整性和参照完整性是关系模型必须
满足的完整性约束条件, 由关系系统自动 支持
17
实体完整性
实体完整性规则
若属性A是基本关系R的主码中的属性,则属性A不 能取空值 例:关系S(Sno,Sname,Ssex,Sid)
Sno 200215121 200215122 200215123 Sname 李勇 刘晨 王敏 张立 张立
14
关系数据语言的分类
抽象的查询语言,用作评估实际系统中查
询语言能力的标准和基础。
关系代数
查询操作是以集合操作为基础的运算(代数方式)
关系演算
查询操作是以谓词演算为基础的运算(逻辑方式) 元组关系演算 域关系演算
两种语言表达能力等价
15
关系数据语言的分类
实际的语言(具体DBMS使用的语言)
10
关系模式
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R:关系名,U:组成该关系的属性名集合
D:属性组U中属性所来自的域集合
DOM:属性向域的映象集合
F:属性间的数据依赖关系集合
例:导师和研究生出自同一个域——人 (PERSON)
dom(SUPERVISOR-PERSON)= dom(POSTGRADUATE-PERSON)=PERSON
关系数据库的标准语言
QUEL(元组关系演算)/QBE(域关系演算)
特点
高度非过程化的语言 完备的表达能力,能嵌入到高级语言中使用
16
关系的完整性约束
对关系的某种约束条件,使得数据库中数
据与现实世界保持一致
行列无顺序
Oracle、 Foxpro 都允许行重复 Foxpro 区分了列顺序
关系中每一个属性值都是不可分解的
SAP 关系 非规范化关系
SUPERVISOR SUPERVISOR 张清玫 张清玫 刘逸 张清玫 刘逸
SPECIALITY SPECIALITY 信息专业 信息专业 信息专业 信息专业 信息专业
体之间联系对应关系的集合构成一个关系
数据库
关系数据库的型(模式)--关系数据库的描 述
若干域的定义 在这些域上定义的若干关系模式
关系数据库的值
这些关系模式在某一时刻对应的关系集合
13
关系操作
数据更新
插入、删除、修改
数据查询
传统的集合操作、专门的关系操作
特点:一次一集合
集合操作方式,即操作的对象和结果都是集合
专业号 年龄 01 01 01 02 02 19 20 20 20 19
班长 802
802
802 805 805
外码
设F是基本关系R的一组属性,但不是关系R
的码。如果F与基本关系S的主码Ks相对应, 则称F是基本关系R的外码
简单的说,如果关系R中的属性组K是其他关 系的主码,那么K在R中称为外码
11
关系模式 (续)
关系模式通常可以简记为
R(U)
域名D及属性向域的映象DOM常常直接说明为 属性的类型、长度
关系模式与关系
关系模式是对关系的描述,静态的、稳定的 (型)
关系是关系模式在某一时刻的状态或内容, 动态的、随时间不断变化的(值)
关系模式和关系往往统称为关系
12
关系数据库
在一个给定的应用领域中,所有实体及实
关系—码
超码
在关系中能唯一标识元组的属性集称为超码
候选码
不含多余属性的超码称为候选码
候选码中的属性称为主属性
主码
用户选作元组标识的候选码称为主码
例:学生(学号,姓名,系别,身份证号)
8
关系—基本性质
列同质,不同列可同域,但属性名不同
实际产品并不严格符合基本性质 不允许出现重复的元组
R称为参照关系, S称为被参照关系
例:学生(学号,姓名,性别,专业号,年龄,班长) R和S可以是同一关系 R的外码和S的主码定义在同一域,名字可以 不同
23
参照完整性规则
若属性组F是基本关系R的外码它与基本关
系S的主码Ks相对应,则对于R中每个元组在 F上的值必须为:
或者取空值
或者等于S中某个元组的主码值。
D1,D2,D3 的笛卡尔积
SPECIALITY 计算机专业 计算机专业 计算机专业 信息专业 …… 信息专业 POSTGRADUATE 李勇 刘晨 王敏 李勇 …… 王敏
6
关系—定义
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上 的关系,表示为R(D1,D2,…,Dn)
R:关系名,n:关系的目或度(Degree)
POSTGRADUATE PG1 POSTGRADUATE PG2
李勇 王敏
李勇 刘晨 刘晨 王敏
9
关系模式
关系模式对关系的描述
表示为关系名(属性1,属性2,…,属性n) 关系模式SC(Sno,Cno,Grade) 的具体实例如 下 sc关系
Sno 95001 95001 95002 Cno 1 2 1 Grade 85 90 90
例:选修(学号,课程号,成绩)
学号、课号是否可为空?
学号和课号两者之一为空? 学号、课号应该取哪些值?
24
用户定义的完整性
是针对 某一具体关系数据库 的约束条件 ,
反映某一具体应用所涉及的数据必须满足
的语义要求。
关系模型应 提供定义和检验这类完整性的机
制, 而不要由应用程序承担这一功能。
例:课程(课程号,课程名,学分) 具体用户 要求: 课程名”属性必须取唯一值
第二章 关系模型
主要内容
关系数据结构
关系的操作集合
关系的完整性约束
小结
2
Leabharlann Baidu
域(Domain)
域是一组具有相同数据类型的值的集合
整数 实数 介于某个取值范围的整数 指定长度的字符串集合 {‘男’,‘女’}
介于某个取值范围的日期
3
笛卡尔积
笛卡尔积的定义
给定一组域D1,D2,…,Dn,域可相同
(刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏), (刘逸,信息专业,李勇),(刘逸,信息专业,刘晨), (刘逸,信息专业,王敏) }
5
笛卡尔积(续)
D1×D2×…×Dn也可以表示为一个二维表:
表 1.2
SUPERVISOR 张清玫 张清玫 张清玫 张清玫 …… 刘逸
关系是笛卡尔积的有意义的有限子集
例关系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)
假设:专业与导师:1:n,导师与研究生:1:n
SAP 关系
SUPERVISOR 张清玫 张清玫 刘逸
7
SPECIALITY 信息专业 信息专业 信息专业
POSTGRADUATE 李勇 刘晨 王敏
18
Ssex 男 女 女 女 女
Sid 37078619820101132
37078619831011167
参照完整性
三个相关概念
关系间的引用 外码 参照完整性规则
19
关系间的引用
在关系模型中实体间的联系都是用关系来描述的,
体现在关系与关系间的引用。
例1:专业实体与学生实体间的一对多联系
mi
4
笛卡尔积(续)
给出3个域:D1={ 张清玫,刘逸 } D2 ={计算机专业,信息专业}
D3= {李勇,刘晨,王敏} D1×D2×D3={
(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏), (张清玫,信息专业,李勇), (张清玫,信息专业,刘晨), (张清玫,信息专业,王敏),
804 805
课程
课程号 01 02
03 04
课程名 数据库 数据结构
编译 PASCAL
学分 4 4
4 2
关系间的引用(续)
例3
学生实体及其内部的领导联系(一对多)
学生(学号,姓名,性别,专业号,年龄,班长)
学号 801 802 803 804 805
22
姓名 张三 李四 王五 赵六 钱七
性别 女 男 男 女 男
学生(学号,姓名,性别,专业号,年龄) 学号 姓名 性别 专业号 年龄 801 张三 女 01 19 专业(专业号,专业名) 专业号 01 02 专业名 信息 数学
802 803 804 805
20
李四 王五 赵六 钱七
男 男 女 男
01 01 02 02
20 20 20 19
03
计算机
关系间的引用(续)
例2:学生与课程
学生
学号 姓名 801 张三 李四 性别 女 男 专业 号 01 01 年龄 19 20
之间的多对多联系 学生选课
学号 801 801 801 802 802 803
21
802
803
王五
赵六 钱七
男
女 男
01
02 02
20
20 19
课程号 04 03 02 03 04 04
成绩 92 78 85 82 90 88
D1×D2×…×Dn={(d1, d2, …,dn) | di Di, i=1, 2, …,n} 笛卡尔积的每个元素(d1 , d2 , … , dn)称作一个n 元组(n-tuple) 元组的每一个值di叫做一个分量(component) 若Di的基数为mi,则笛卡尔积的基数M=
i 1 n
25
“学分”属性只能取值{1,2,3,4}
关系模型小结
域和笛卡尔积 关系的基本概念
关系、关系模式与关系数据库 数据更新、查询、模式更新
关系操作
关系数据语言 实体完整性
完整性约束
作业:P70
26
参照完整性 用户定义完整性 5
关系模型中三类完整性约束:
实体完整性 参照完整性 用户定义的完整性
实体完整性和参照完整性是关系模型必须
满足的完整性约束条件, 由关系系统自动 支持
17
实体完整性
实体完整性规则
若属性A是基本关系R的主码中的属性,则属性A不 能取空值 例:关系S(Sno,Sname,Ssex,Sid)
Sno 200215121 200215122 200215123 Sname 李勇 刘晨 王敏 张立 张立
14
关系数据语言的分类
抽象的查询语言,用作评估实际系统中查
询语言能力的标准和基础。
关系代数
查询操作是以集合操作为基础的运算(代数方式)
关系演算
查询操作是以谓词演算为基础的运算(逻辑方式) 元组关系演算 域关系演算
两种语言表达能力等价
15
关系数据语言的分类
实际的语言(具体DBMS使用的语言)
10
关系模式
关系模式可以形式化地表示为:
R(U,D,DOM,F)
R:关系名,U:组成该关系的属性名集合
D:属性组U中属性所来自的域集合
DOM:属性向域的映象集合
F:属性间的数据依赖关系集合
例:导师和研究生出自同一个域——人 (PERSON)
dom(SUPERVISOR-PERSON)= dom(POSTGRADUATE-PERSON)=PERSON