Download presentation
Presentation is loading. Please wait.
1
数据库应用技术 SQL Server 2005
2
第2章 关系数据库 能力目标: 任务设计: 能运用关系数据模型的基本知识将概念模型转换为关系模型。
SQL Server 2005 能力目标: 能运用关系数据模型的基本知识将概念模型转换为关系模型。 能应用关系规范化方法对关系模型进行规范化和优化。 能够根据完整性规则对关系模型进行实体完整性、用户定义完整性和参照完整性的设计。 初步认识SQL语言和T-SQL语言。 任务设计: 将项目的E-R数据模型转换为关系模型。 对转换的关系模型进行规范化(3NF)和优化。 根据项目需求进行主码设置、外码设置和约束设置。
3
第2章 关系数据库 知识要求: 关系数据模型的基本定义和基本术语。 关系的集合运算并、交、差和笛卡尔积。 关系的投影、选择和连接运算。
SQL Server 2005 知识要求: 关系数据模型的基本定义和基本术语。 关系的集合运算并、交、差和笛卡尔积。 关系的投影、选择和连接运算。 关系模型完整性规则的概念。 概念模型到关系模型转换的基本方法。 关系规范化的基本概念和关系的规范化方法。
4
2.1 关系模型概述 SQL Server 2005 关系模型组成要素 1 关系模型特点 2
5
2.1.1 关系模型组成要素 关系数据结构 关系操作集合 关系完整性约束
SQL Server 2005 关系数据结构 数据结构是所研究的对象类型的集合。描述系统的静态特征。DBMS的DDL实现数据库的数据结构定义功能。 关系操作集合 数据操作是指对数据库中各种数据对象允许执行的操作的集合。 主要有检索和更新(包括插入、删除、修改)。描述系统的动态特征。 DBMS的DML实现数据库的数据操作功能。 关系完整性约束 数据的约束条件是一组完整性规则的集合。完整性规则是数据模型中数据及其联系所具有的制约和依存规则,保证数据的正确性、有效性和一致性。 DBMS的DDL和DML实现数据库的数据完整性约束功能。
6
2.1.3 关系模型的特点 数据结构单一或模型概念单一化 采用集合运算 数据完全独立 数学理论支持 实体和实体之间的联系用关系表示
SQL Server 2005 数据结构单一或模型概念单一化 实体和实体之间的联系用关系表示 关系的定义也是关系(元关系) 关系的运算对象和运算结果还是关系 采用集合运算 关系是元组的集合,所以对关系的运算就是集合运算 运算对象和结果都是集合,可采用数学上的集合运算 数据完全独立 只需告诉系统“做什么”,不需要给出“怎么做” 程序和数据各自独立 数学理论支持 有集合论、数理逻辑做基础 以数学理论为依据对数据进行严格定义、运算和规范化
7
2.2 关系数据结构 SQL Server 2005 1 关系 2 关系术语 3 关系术语与其他术语的对照
8
关系的基本定义 2.2.1 关系 关系是满足一定条件的二维表,称为关系(relation),在关系模型中,
SQL Server 2005 关系的基本定义 关系是满足一定条件的二维表,称为关系(relation),在关系模型中, 无论概念世界中的实体还是实体之间的联系均由关系(表)来表示。 例如:学生情况表 Student,表2-1 。 SID Sname Sex Birthday Specialtyt 赵成刚 男 1986年5月 计算机应用 李敬 女 1986年1月 软件技术 郭洪亮 1986年4月 电子商务 吕珊珊 1987年10月 计算机网络 高全英 1987年7月 郝莎 1985年8月 张峰 1986年9月 吴秋娟 1986年8月
9
2.2.2 关系术语 关系术语 关系:每个二维表称为一个关系 例如:学生情况表Student
SQL Server 2005 关系术语 关系:每个二维表称为一个关系 例如:学生情况表Student 关系型:表的所有列标题,描述实体或联系的型 例如:(SID,Sname,Sex,Birthday,Specialty) 关系值:表的列对应的数据,描述实体或联系的值 例如: ,郭洪亮,男,1986年4月, 电子商务 ,吕珊珊,女,1987年10月,计算机网络 元组:表中的一行,描述一个实体或联系 例如: ,吕珊珊,女,1987年10月,计算机网络
10
2.2.2 关系术语 关系术语 属性:表中的一列的标题 例如:SID,Sname
SQL Server 2005 关系术语 属性:表中的一列的标题 例如:SID,Sname 属性值:表中的一列对应的数据,描述实体或联系的特征 例如: ,郭洪亮 域:属性的取值范围 主码:表中的某个属性或属性组,能惟一确定一个元组,即确定一个实体 例如:SID 关系模式:对关系的描述,表示为关系名(属性1,属性2,… ,属性n) 例如:Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade)
11
2.2.2 关系术语 SQL Server 2005 关系术语 候选码(Candidate Key):若关系中的某一属性或属性组的值能惟一的标识一个元组,则称该属性或属性组为候选码,候选码可以有多个。 例如:关系Student中的属性SID和Sname(假设没有重名的学生),关系SC中的属性组SID, CID 外码(Foreign Key,FK):一个关系中的属性或属性组不是本关系的主码,而是另一关系的主码,则称该属性或属性组是该关系的外码。也称为外关键字。 例如:关系SC中的属性SID和CID 主属性:能作为候选码的属性。 例如:关系Student中的属性SID 和Sname(假设没有重名的学生),关系SC中的属性SID和CID 非主属性:除了主属性的其他属性。 例如:关系Student中的属性Sex,Birthday,Specialty 关系SC中的属性Grade
12
2.2.3 关系术语与其他术语的对照 概念模型中 关系理论中 关系数据库中 某些软件中 实体集 Entity set 关系 Relation
SQL Server 2005 概念模型中 关系理论中 关系数据库中 某些软件中 实体集 Entity set 关系 Relation 表 Table 表或数据库文件 实体 Entity 元组 Tuple 行 Row 记录 Record 属性 Attribute 列 Column 字段 Field 主码 Primary key 关键字
13
2.3 关系数据操作 SQL Server 2005 关系数据操作是以关系代数为基础的,用对关系的运算来表达各种操作。一类是传统的集合运算:并、交、差等,另一类是专门用于数据库操作的关系运算:选择、投影和连接等。
14
2.3.1 传统的集合运算 设:有两个关系R和S,具有相同的结构,t是元组变量,关系R为喜欢跳舞的学生,S为喜欢唱歌的学生。
SQL Server 2005 设:有两个关系R和S,具有相同的结构,t是元组变量,关系R为喜欢跳舞的学生,S为喜欢唱歌的学生。 表2-3 喜欢跳舞的学生关系R Sname Sex 李敬 女 高全英 吴秋娟 穆金华 男 张欣欣 王婷 表2-4 喜欢唱歌的学生关系S Sname Sex 赵成刚 男 张峰 吴秋娟 女 穆金华 孙政先 王婷 吕文昆 孙炜
15
2.3.1 传统的集合运算 并(Union) 公式:R∪S={t│t∈R∨ t ∈S } 语义:t 元组属于R或者属于S。
SQL Server 2005 表2-5 R∪S Sname Sex 李敬 女 高全英 吴秋娟 穆金华 男 张欣欣 王婷 赵成刚 张峰 孙政先 吕文昆 孙炜 并(Union) 公式:R∪S={t│t∈R∨ t ∈S } 语义:t 元组属于R或者属于S。 例2-1:喜欢跳舞或喜欢唱歌的学生, R∪S的关系如表2-5所示。
16
2.3.1 传统的集合运算 差(Difference) 公式:R-S={t│t∈R∧ tS } 语义:t 元组属于R,但不属于S。
SQL Server 2005 差(Difference) 公式:R-S={t│t∈R∧ tS } 语义:t 元组属于R,但不属于S。 例2-2:喜欢跳舞但是不喜欢唱歌的学生,R-S的关系如表2-6所示。 表2-6 R-S Sname Sex 李敬 女 高全英 张欣欣
17
2.3.1 传统的集合运算 交(Intersection) 公式:R∩S={t│t∈R∧ t ∈S } 语义:t 元组属于R并且属于S。
SQL Server 2005 交(Intersection) 公式:R∩S={t│t∈R∧ t ∈S } 语义:t 元组属于R并且属于S。 例2-3:既喜欢跳舞也喜欢唱歌的学生,R∩S的关系如表2-7所示。 表2-7 R∩S Sname Sex 吴秋娟 女 穆金华 男 王婷
18
2.3.1 传统的集合运算 笛卡尔积(Cartesian Product) 设:关系R为n列(n个属性),k1行(k1个元组);
SQL Server 2005 笛卡尔积(Cartesian Product) 设:关系R为n列(n个属性),k1行(k1个元组); 关系S为m列(m个属性),k2行(k2个元组)。 公式:R×S={tRtS │tR ∈R ∧ tS ∈S } 语义:笛卡尔积仍是一个关系,该关系的结构是R和S结构之连接,即前n个属性来自R,后m个属性来自S,该关系的值是由R中的每个元组连接S中的每个元组所构成元组的集合。 注意:新关系的属性个数等于n+m,元组个数等于k1*k2。
19
2.3.1 传统的集合运算 例2-4 :设关系R和S如表2-8和表2-9所示,R×S如表2-10所示。 表2-8 学生关系R
SQL Server 2005 例2-4 :设关系R和S如表2-8和表2-9所示,R×S如表2-10所示。 表2-8 学生关系R SID Sname 赵成刚 李敬 表2-9 课程关系S CID Cname C语言程序设计 图像处理 网页设计 表2-10 学生选课新关系 R×S SID Sname CID Cname 赵成刚 C语言程序设计 图像处理 网页设计 李敬
20
2.3.2 专门的集合运算 投影(Projection) 设:t是关系R中的一个元组,A是要从R中投影出的属性子集。
SQL Server 2005 投影(Projection) 设:t是关系R中的一个元组,A是要从R中投影出的属性子集。 公式:∏A(R)={ t.A│t ∈R } 语义:从关系R中按所需顺序选取若干个属性构成新关系。 注意:新关系的元组数小于等于原关系的元组数,新关系的属性数不多于原关系中的。
21
2.3.2 专门的集合运算 例2-5:列出学生情况表R(表2-11)的学生姓名和性别的情况,投影运算结果如表2-12所示。
SQL Server 2005 例2-5:列出学生情况表R(表2-11)的学生姓名和性别的情况,投影运算结果如表2-12所示。 表2-12 ∏Sname,Sex (R) Sname Sex 赵成刚 男 李敬 女 郭洪亮 吕珊珊 高全英 郝莎 张峰 吴秋娟 表2-11 关系R SID Sname Sex Birthday Specialty 赵成刚 男 1986年5月 计算机应用 李敬 女 1986年1月 软件技术 郭洪亮 1986年4月 电子商务 吕珊珊 1987年10月 计算机网络 高全英 1987年7月 郝莎 1985年8月 张峰 1986年9月 吴秋娟 1986年8月
22
2.3.2 专门的集合运算 选择(Selection) 表2-13 σSex=’男’(R)
SQL Server 2005 选择(Selection) 设:t是关系R中的一个元组,F(t)为元组逻辑表达式。 公式:σF(t)(R)={ t│t∈R ∧F(t)=’true’} 语义:从关系中找出满足条件的那些元组称为选择。 注意:运算结果的元组数不多于原关系中的元组数。 例2-6:在学生情况表2.10 R中选择出男生,如表2-13所示。 表2-13 σSex=’男’(R) SID Sname Sex Birthday Specialty 赵成刚 男 1986年5月 计算机应用 郭洪亮 1986年4月 电子商务 张峰 1986年9月 软件技术
23
2.3.2 专门的集合运算 连接(Join) 等值连接 自然连接 设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。
SQL Server 2005 连接(Join) 设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。 公式:R S=σR.AθS.B ( R×S) AθS 语义:两个关系R和S按相应属性值的比较条件连接起来,生成一个新关系,也称为θ连接。 等值连接 R×S+选择(θ为=) 按照两关系中对应属性值相等的条件所进行的连接 自然连接 等值连接+去重复属性 记作:R S
24
2.3.2 专门的集合运算 SQL Server 2005 例2-7:设学生、选课和课程表如表2-14、表2-15、表2-16所示,学生选课的情况为S SC C的结果,如表2-17所示。 表2-14 S SID Sname 吴秋娟 穆金华 张欣欣 表2-16 C CID Cname C语言程序设计 图像处理 网页设计 数据结构 数据库原理与应用 专业英语 软件文档的编写 美工基础 面向对象程序设计 表2-15 SC SID CID
25
2.3.2 专门的集合运算 自然连接结果如下: 表2-17 S SC C SID Sname CID Cname 2005216111
SQL Server 2005 自然连接结果如下: 表2-17 S SC C SID Sname CID Cname 吴秋娟 C语言程序设计 数据结构 穆金华 数据库原理与应用 张欣欣 图像处理
26
2.3.3 综合运算 例:查询出赵成刚的学号,所选课程号和成绩。 ∏SID,CID,Grade(σSname=’ 赵成刚’(S SC))
SQL Server 2005 例:查询出赵成刚的学号,所选课程号和成绩。 ∏SID,CID,Grade(σSname=’ 赵成刚’(S SC)) (∏SID(σSname=’ 赵成刚’(S))) SC 运算结果如下表所示: 表2-20新关系运算结果 SID CID Grade 90 85 96 注意:按照选择 → 投影 → 连接的运算顺序可以减少运算时间,避免增加时间复杂性。
27
2.4 关系完整性 实体完整性(Entity Integrity) 规则:若属性A是基本关系R的主码,则属性A不能取空值。
SQL Server 2005 实体完整性(Entity Integrity) 规则:若属性A是基本关系R的主码,则属性A不能取空值。 例如:建立一个课程情况表(Course),属性学号CID为主码,惟一 且不能为空值。 CREATE TABLE Course ( CID char(8) NOT NULL PRIMARY KEY, --实体完整性控制 Cname nchar(30) NULL, Credit decimal(3,1) NULL, )
28
2.4 关系完整性 参照完整性(Reference Integrity)
SQL Server 2005 参照完整性(Reference Integrity) 规则:参照关系(子表)的外码取值不能超出被参照关系(父表)的主码取值。 例如:建立一个学生选课表(SC)。SC是参照关系,Student是被参照关系,SC中外码SID的值或者为空或者等于Student中主码SID的值。 CREATE TABLE SC ( SID char(10) NOT NULL, CID char(8) NOT NULL, Grade numeric(5,1) NULL, PRIMARY KEY(SID,CID), FOREIGN KEY(SID) REFERENCES Student(SID) --参照完整性控制 )
29
2.4 关系完整性 域(用户)定义完整性 约束:属性取值满足某种条件或函数要求
SQL Server 2005 域(用户)定义完整性 约束:属性取值满足某种条件或函数要求 例如:建立一个学生情况表(Student),属性性别Sex的取值必须 满足为’男’或’女’。 CREATE TABLE Student ( SID char(10) PRIMARY KEY, --实体完整性控制 Sname char(8) NOT NULL, Sex char(2) NULL CHECK(Sex='男' OR Sex='女'), --域完整性控制 Birthday datetime NULL, Specialty varchar(26) NULL, )
30
2.4 关系完整性 插入 完整性规则检查 为了维护数据库中数据的完整性,在对关系数据库执行插入、删除
SQL Server 2005 完整性规则检查 为了维护数据库中数据的完整性,在对关系数据库执行插入、删除 和修改操作时,要检查是否满足完整性规则。 实体完整性规则:检查主码属性上的值是否已经存在。 若不存在,可以执行插入操作,否则不能执行插入操 作。 插入 参照完整性规则:向参照关系插入,检查外码属性 上的值是否在被参照关系的主码属性值中存在。若 存在,可以执行插入操作,否则不能执行插入操作。 用户定义完整性规则:检查输入数据是否符合用户定 义的完整性规则。若符合,可以执行插入操作,否 则不能执行插入操作。
31
2.4 关系完整性 删除 参照完整性规则:删除被参照关系中的行,检查其主码是否被参 照关系的外码引用, 若没被引用:删除
SQL Server 2005 删除 参照完整性规则:删除被参照关系中的行,检查其主码是否被参 照关系的外码引用, 若没被引用:删除 若被引用:①拒绝删除 ②空值删除(外码改为空值) ③级联删除(参照关系中的相应行一起删除) 修改 等价:先删除,后插入(以上两种情况的综合)
32
2.5 E-R模型到关系模型的转换 1 实体(E)转换为关系模式 2 联系(R)转换为关系模式 SQL Server 2005
33
2.5.1 实体(E)转换为关系模式的方法 实体 关系 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
SQL Server 2005 一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。 例如:学生实体转换为关系模式 实体 学生(学号,姓名,性别,出生日期) 关系 Student(SID,Sname,Sex,Birthday,Specialty)
34
2.5.2 联系(R)转换为关系模式的方法 一对一 将联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。
SQL Server 2005 一对一 将联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。 例如:实体学校(学校编号,名称) 与校长(编号,姓名)之间的任职联 系是1:1的联系。 学校编号 名称 任职日期 学校 任职 校长 编号 姓名 1
35
2.5.2 联系(R)转换为关系模式的方法 任职(R) 任职日期 1 : 1 学校(E) 校长(E) 学校编号(PK) 编号(PK) 名称
SQL Server 2005 校长(E) 编号(PK) 姓名 学校(E) 学校编号(PK) 名称 任职(R) 任职日期 : 学校(学校编号,名称) 校长(编号,姓名,学校编号,任职日期)
36
2.5.2 联系(R)转换为关系模式的方法 一对多 将联系与n端实体所对应的 关系模式合并,加入1端实体的码 和联系的属性。
SQL Server 2005 一对多 将联系与n端实体所对应的 关系模式合并,加入1端实体的码 和联系的属性。 例如:图书实体和读者类型实体的联系 是1:n的。 读者编号 姓名 限借数量 读者 属于类型 读者类型 类型编号 类型名称 n 1 借阅期限
37
2.5.2 联系(R)转换为关系模式的方法 n:1 属于类型(R) 借阅数量 读者(E) 类型(E) 读者编号(PK) 类型编号(PK)
SQL Server 2005 属于类型(R) 借阅数量 n:1 读者(E) 读者编号(PK) 姓名 类型(E) 类型编号(PK) 类型名称 限借数量 借阅期限 Reader(RID,Rname, TypeID, Lendnum ) ReaderType(TypeID, Typename,LimitNum, LimitDays)
38
2.5.2 联系(R)转换为关系模式的方法 多对多 将联系转换成一个关系模式。该联系相连的各实体的码和联系本身的属性转换为关系的属性。
SQL Server 2005 多对多 将联系转换成一个关系模式。该联系相连的各实体的码和联系本身的属性转换为关系的属性。 例如:教务管理中选课的E-R模型如图所示,学生和课程的联系是多对多的。 课程 学生 选课 成绩 n m
39
2.5.2 联系(R)转换为关系模式的方法 n:m 选课(R) 成绩 学生(E) 课程(E) 学生编号(PK) 课程编号(PK) 课程名称
SQL Server 2005 选课(R) 成绩 n:m 学生(E) 学生编号(PK) 姓名 性别 出生日期 专业 课程(E) 课程编号(PK) 课程名称 学分 Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade)
40
2.4 关系规范化 不规范:产生数据冗余,带来很多问题。 规范:提高数据的结构化、共享性、一致性和可操作性。 范式:规范化的程度,级别。
SQL Server 2005 不规范:产生数据冗余,带来很多问题。 规范:提高数据的结构化、共享性、一致性和可操作性。 范式:规范化的程度,级别。 规范化:在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度。
41
2.6.1 第一范式1NF(First Normal Form)
SQL Server 2005 定义:所有属性不可再分,即原子属性。记作:R∈1NF 例如:设一个通信录,电话属性需要再分,达不到1NF。 学号 姓名 性别 电话 手机 家庭 宿舍 吴秋娟 女 穆金华 男 张欣欣 孟霞
42
2.6.1 第一范式1NF(First Normal Form)
SQL Server 2005 问题:不是二维表,不够1NF 解决方法1:在属性上展开 学号 姓名 性别 手机 家庭电话 宿舍电话 吴秋娟 女 穆金华 男 张欣欣 孟霞
43
2.6.1第一范式1NF(First Normal Form)
SQL Server 2005 解决方法2:分解为二个关系 学号 姓名 性别 吴秋娟 女 穆金华 男 张欣欣 孟霞 学号 手机 家庭电话 宿舍电话
44
2.6.2第二范式2NF(Second Normal Form)
SQL Server 2005 定义 所有非主属性完全依赖每个候选关键字。记作R∈2NF 或:取消部分依赖。 假设:有一个教师授课的关系模式。 TC(TNO,Tname,Title,ADDR,CNO,Cname,Level,Credit) PK:(TNO, CNO)
45
2.6.2第二范式2NF(Second Normal Form)
SQL Server 2005 问题 数据冗余(不同课程同一任教的教师名等) 更新异常(冗余带来的不一致) 插入异常(没课的教师关键字无值不允许插入) 删除异常(没课的教师要删除,致使删除有关记录)
46
2.6.2 第二范式2NF(Second Normal Form)
SQL Server 2005 原因 关系属性之间存在部分函数依赖,不够2NF。 主码(TNO, CNO)决定Cname,Level,Credit,但是存在 主码的一部分CNO就可以决定Cname,Credit。 (TNO, CNO)→Cname,Credit (CNO) →Cname, Credit
47
2.6.2第二范式2NF(Second Normal Form)
SQL Server 2005 解决办法 拆分:原则是概念单一,完整(无损) 上述达不到2NF的关系分解如下: 多 T (TNO,Tname,Title,ADDR) 对 TC(TNO,CNO,Level) 多 C( CNO,Cname,Credit)
48
2.6.3第三范式3NF(Third Normal Form)
SQL Server 2005 定义 所有非主属性都不传递函数依赖每个候选关键字。记作:R∈3NF 或:取消传递依赖 假设:为图书管理系统的数据模式Book增加一个属性ISBN。 Books (BID,ISBN,Bname,Author, PubComp, PubDate,Price) PK:BID
49
2.6.3 第三范式3FN(Third Normal Form)
SQL Server 2005 定义 所有非主属性都不传递函数依赖每个候选关键字。记作:R∈3NF 或:取消传递依赖 假设:为图书管理系统的数据模式Book增加一个属性ISBN。 Books (BID,ISBN,Bname,Author, PubComp, PubDate,Price) PK:BID
50
2.6.3第三范式3NF(Third Normal Form)
SQL Server 2005 问题 数据冗余(图书馆多本书同一出版社,书名等) 更新异常(冗余带来的不一致) 插入异常(图书馆没有购进的书的出版情况不允许插入) 删除异常(图书馆丢失删除的书,致使删除该书的有关出版情况)
51
2.6.3 第三范式3NF(Third Normal Form)
SQL Server 2005 原因 关系属性之间存在传递函数依赖,不够3FN。 存在:BID→ISBN, ISBN→Bname,Author, PubComp, PubDate,Price X → Y , Y →Z,Y—\→X X传递决定Z或Z函数依赖于X
52
2.6.3 第三范式3NF(Third Normal Form)
SQL Server 2005 解决办法 拆分:原则是概念单一,完整(无损)。 上述达不到3NF的关系分解如下: m Books(BID,ISBN) FK:ISBN 对 BooksType (BID,ISBN) 联系可以通过加外码省略 Type (ISBN,Bname,Author,PubComp,PubDate,Price)
53
2.6.4 BC范式BCNF(Boyce-Codd Normal Form)
SQL Server 2005 定义:所有属性都不传递依赖每个候选关键字,记作:R∈BCNF。 由于关系规范化理论较深,此处不再赘述,读者可以根据实际设计加以体会。
54
2.7 小结 1 关系数据库与关系模型概述 关系数据库用关系模型来组织数据。
SQL Server 2005 1 关系数据库与关系模型概述 关系数据库用关系模型来组织数据。 关系模型由关系数据结构、关系操作集合和关系完整性规则三部分组成。 2 关系模型 (1) 数据结构 基本定义:二维表 基本术语:关系,关系名,关系型,关系值,元组,属性名,属性值,主码,外码 (2) 操作集合 传统的集合运算:并,交,差,笛卡尔积。 专门的关系运算:∏A(R)投影,σF(t)(R)选择,R S 自然连接。 (3) 完整性规则 实体:主码,参照:外码,域:逻辑表达式或函数。
55
2.7 小结 3 E-R模型到关系模型的转换 实体-关系:实体的属性就是关系的属性 联系-关系:
SQL Server 2005 3 E-R模型到关系模型的转换 实体-关系:实体的属性就是关系的属性 联系-关系: 1对1:联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。 1对n:联系与n端实体所对应的关系模式合并,加入1端实体的码和联系的属性。 n对m:联系转换成一个关系模式,该联系相连的各实体的码和联系本身的属性转换为关系的属性。 4 关系规范化 1NF:原子属性,2NF:不存在部分函数依赖,3NF:不存在传递函数依赖。
56
Thank You !
Similar presentations