数据库应用技术SQLServer2005课件.ppt

上传人:本田雅阁 文档编号:3185034 上传时间:2019-07-22 格式:PPT 页数:59 大小:866.51KB
返回 下载 相关 举报
数据库应用技术SQLServer2005课件.ppt_第1页
第1页 / 共59页
数据库应用技术SQLServer2005课件.ppt_第2页
第2页 / 共59页
数据库应用技术SQLServer2005课件.ppt_第3页
第3页 / 共59页
数据库应用技术SQLServer2005课件.ppt_第4页
第4页 / 共59页
数据库应用技术SQLServer2005课件.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《数据库应用技术SQLServer2005课件.ppt》由会员分享,可在线阅读,更多相关《数据库应用技术SQLServer2005课件.ppt(59页珍藏版)》请在三一文库上搜索。

1、数据库应用技术 SQL Server 2005,湖南信息科学职业学院,SQL Server 2005,第2章 关系数据库,能力目标: 能运用关系数据模型的基本知识将概念模型转换为关系模型。 能应用关系规范化方法对关系模型进行规范化和优化。 能够根据完整性规则对关系模型进行实体完整性、用户定义完整性和参照完整性的设计。 初步认识SQL语言和T-SQL语言。 任务设计: 将项目的E-R数据模型转换为关系模型。 对转换的关系模型进行规范化(3NF)和优化。 根据项目需求进行主码设置、外码设置和约束设置。,SQL Server 2005,第2章 关系数据库,知识要求: 关系数据模型的基本定义和基本术语

2、。 关系的集合运算并、交、差和笛卡尔积。 关系的投影、选择和连接运算。 关系模型完整性规则的概念。 概念模型到关系模型转换的基本方法。 关系规范化的基本概念和关系的规范化方法。,SQL Server 2005,2.1 关系模型概述,1,SQL Server 2005,2.1.1 关系模型组成要素,关系数据结构 数据结构是所研究的对象类型的集合。 关系操作集合 数据操作是指对数据库中各种数据对象允许执行的操作的集合。 关系完整性约束 数据的约束条件是一组完整性规则的集合。,SQL Server 2005,2.1.3 关系模型的特点,数据结构单一或模型概念单一化 实体和实体之间的联系用关系表示 关

3、系的定义也是关系(元关系) 关系的运算对象和运算结果还是关系 采用集合运算 关系是元组的集合,所以对关系的运算就是集合运算 运算对象和结果都是集合,可采用数学上的集合运算 数据完全独立 只需告诉系统“做什么”,不需要给出“怎么做” 程序和数据各自独立 数学理论支持 有集合论、数理逻辑做基础 以数学理论为依据对数据进行严格定义、运算和规范化,SQL Server 2005,2.2 关系数据结构,关系,1,关系术语,2,关系术语与其他术语的对照,3,SQL Server 2005,2.2.1 关系,关系的基本定义 关系是满足一定条件的二维表,称为关系(relation),在关系模型中, 无论概念世

4、界中的实体还是实体之间的联系均由关系(表)来表示。 例如:学生情况表 Student,表2-1 。,SQL Server 2005,2.2.2 关系术语,关系术语 关系:每个二维表称为一个关系 例如:学生情况表Student 关系型:表的所有列标题,描述实体或联系的型 例如:(SID,Sname,Sex,Birthday,Specialty) 关系值:表的列对应的数据,描述实体或联系的值 例如:2005216003 ,郭洪亮,男,1986年4月, 电子商务 2005216004 ,吕珊珊,女,1987年10月,计算机网络 元组:表中的一行,描述一个实体或联系 例如:2005216004,吕珊珊

5、,女,1987年10月,计算机网络,SQL Server 2005,2.2.2 关系术语,关系术语 属性:表中的一列的标题 例如:SID,Sname 属性值:表中的一列对应的数据,描述实体或联系的特征 例如:2005216003,郭洪亮 域:属性的取值范围 主码:表中的某个属性或属性组,能惟一确定一个元组,即确定一个实体 例如:SID 关系模式:对关系的描述,表示为关系名(属性1,属性2, ,属性n) 例如:Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade),SQL Ser

6、ver 2005,2.2.2 关系术语,关系术语 候选码(Candidate Key):若关系中的某一属性或属性组的值能惟一的标识一个元组,则称该属性或属性组为候选码,候选码可以有多个。 例如:关系Student中的属性SID和Sname(假设没有重名的学生),关系SC中的属性组SID, CID 外码(Foreign Key,FK):一个关系中的属性或属性组不是本关系的主码,而是另一关系的主码,则称该属性或属性组是该关系的外码。也称为外关键字。 例如:关系SC中的属性SID和CID 主属性:能作为候选码的属性。 例如:关系Student中的属性SID 和Sname(假设没有重名的学生),关系S

7、C中的属性SID和CID 非主属性:除了主属性的其他属性。 例如:关系Student中的属性Sex,Birthday,Specialty 关系SC中的属性SID和CID,SQL Server 2005,2.2.3 关系术语与其他术语的对照,SQL Server 2005,2.3 关系数据操作,关系数据操作是以关系代数为基础的,用对关系的运算来表达各种操作。一类是传统的集合运算:并、交、差等,另一类是专门用于数据库操作的的关系运算:选择、投影和连接等。,SQL Server 2005,2.3.1 传统的集合运算,设:有两个关系R和S,具有相同的结构,t是元组变量,关系R为喜欢跳舞的学生,S为喜欢

8、唱歌的学生。,SQL Server 2005,2.3.1 传统的集合运算,并(Union) 公式:RS=ttR t S 语义:t 元组属于R或者属于S。 例2-1:喜欢跳舞或喜欢唱歌的学生, RS的关系如表2-5所示。,SQL Server 2005,2.3.1 传统的集合运算,差(Difference) 公式:RS=ttR tS 语义:t 元组属于R,但不属于S。 例2-2:喜欢跳舞但是不喜欢唱歌的学生,RS的关系如表2-6所示。,SQL Server 2005,2.3.1 传统的集合运算,交(Intersection) 公式:RS=ttR t S 语义:t 元组属于R并且属于S。 例2-3

9、:既喜欢跳舞也喜欢唱歌的学生,RS的关系如表2-7所示。,SQL Server 2005,2.3.1 传统的集合运算,笛卡尔积(Cartesian Product) 设:关系R为n列(n个属性),k1行(k1个元组); 关系S为m列(m个属性),k2行(k2个元组)。 公式:RS=tRtS tR R tS S 语义:笛卡尔积仍是一个关系,该关系的结构是R和S结构之连接,即前n个属性来自R,后m个属性来自S,该关系的值是由R中的每个元组连接S中的每个元组所构成元组的集合。 注意:新关系的属性个数等于n+m,元组个数等于k1*k2。,SQL Server 2005,2.3.1 传统的集合运算,例2

10、-4 :设关系R和S如表2-8和表2-9所示,RS如表2-10所示。,SQL Server 2005,2.3.2 专门的集合运算,投影(Projection) 设:t是关系R中的一个元组,A是要从R中投影出的属性子集。 公式:A(R)= t.At R 语义:从关系R中按所需顺序选取若干个属性构成新关系。 注意:新关系的元组数小于等于原关系的元组数,新关系的属性数不多于原关系中的。,SQL Server 2005,2.3.2 专门的集合运算,例2-5:列出学生情况表R(表2-11)的学生姓名和性别的情况,投影运算结果如表2-12所示。,SQL Server 2005,2.3.2 专门的集合运算,

11、选择(Selection) 设:t是关系R中的一个元组,F(t)为元组逻辑表达式。 公式:F(t)(R)= ttR F(t)=true 语义:从关系中找出满足条件的那些元组称为选择。 注意:运算结果的元组数不多于原关系中的元组数。 例2-6:在学生情况表2.10 R中选择出男生,如表2-13所示。,SQL Server 2005,连接(Join) 设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。 公式:R S=R.AS.B ( RS) AS 语义:两个关系R和S按相应属性值的比较条件连接起来,生成一个新关系,也称为连接。 等值连接 RS选择(为) 按照两关系中对应属性值相等的条件

12、所进行的连接 自然连接 等值连接去重复属性 记作:R S,2.3.2 专门的集合运算,SQL Server 2005,2.3.2 专门的集合运算,例2-7:设学生、选课和课程表如表2-14、表2-15、表2-16所示,学生选课的情况为S SC C的结果,如表2-17所示。,SQL Server 2005,2.3.2 专门的集合运算,自然连接结果如下:,SQL Server 2005,2.3.3 综合运算,例:查询出赵成刚的学号,所选课程号和成绩。 (SID(Sname= 赵成刚(S) SC 运算结果如下表所示:,注意:按照选择 投影 连接的运算顺序可以减少运算时间,避免增加时间复杂性。,SQL

13、 Server 2005,2.4 关系完整性,实体完整性(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, ),SQL Server 2005,2.4 关系完整性,参照完整性(Reference Integrity) 规则:参照关系(子表)的外码

14、取值不能超出被参照关系(父表)的主码取值。 例如:建立一个学生选课表(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) -参照完整性控制 ),SQL Server 2005,2.4 关系完整性,域(用户)定义完整性 约束:属性

15、取值满足某种条件或函数要求 例如:建立一个学生情况表(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, ),SQL Server 2005,2.4 关系完整性,完整性规则检查 为了维护数据库中数据的完整性,在对关系数据库执行插

16、入、删除 和修改操作时,要检查是否满足完整性规则。,实体完整性规则:检查主码属性上的值是否已经存在。 若不存在,可以执行插入操作,否则不能执行插入操 作。,参照完整性规则:向参照关系插入,检查外码属性 上的值是否在被参照关系的主码属性值中存在。若 存在,可以执行插入操作,否则不能执行插入操作。,户定义完整性规则:检查输入数据是否符合用户定 义的完整性规则。若符合,可以执行插入操作,否 则不能执行插入操作。,插入,SQL Server 2005,2.4 关系完整性,删除 参照完整性规则:删除被参照关系中的行,检查其主码是否被参 照关系的外码引用, 若没被引用:删除 若被引用:拒绝删除 空值删除(

17、外码改为空值) 级联删除(参照关系中的相应行一起删除) 修改 等价:先删除,后插入(以上两种情况的综合),SQL Server 2005,2.5 E-R模型到关系模型的转换,实体(E)转换为关系模式,1,2,联系(R)转换为关系模式,SQL Server 2005,2.5.1 实体(E)转换为关系模式的方法,一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。 例如:学生实体转换为关系模式,SQL Server 2005,2.5.2 联系(R)转换为关系模式的方法,一对一 将联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。 例如:实体学校(学校编号

18、,名称) 与校长(编号,姓名)之间的任职联 系是1:1的联系。,SQL Server 2005,2.5.2 联系(R)转换为关系模式的方法,学校(学校编号,名称) 校长(编号,姓名,学校编号,任职日期),SQL Server 2005,SQL Server 2005,将图中E-R图转换为关系模型。,方案1:“负责”与“职工”两关系合并: 职工(职工号,姓名,年龄,产品号); 产品(产品号,产品名,价格); 方案2:“负责”与“产品”两关系合并: 职工(职工号,姓名,年龄); 产品(产品号,产品名,价格,职工号).,SQL Server 2005,2.5.2 联系(R)转换为关系模式的方法,一对

19、多 将联系与n端实体所对应的 关系模式合并,加入1端实体的码 和联系的属性。 例如:图书实体和读者类型实体的联系 是1:n的。,SQL Server 2005,2.5.2 联系(R)转换为关系模式的方法,属于类型(R) 借阅数量 n:1,Reader(RID,Rname, TypeID, Lendnum ) ReaderType(TypeID, Typename,LimitNum, LimitDays),SQL Server 2005,【例3-2】将含有1:n联系的E-R图转换为关系模型。,仓库(仓库号,地点,面积); 产品(产品号,产品名,价格,仓库号,数量).,SQL Server 200

20、5,2.5.2 联系(R)转换为关系模式的方法,多对多 将联系转换成一个关系模式。该联系相连的各实体的码和联系本身的属性转换为关系的属性。 例如:教务管理中选课的E-R模型如图所示,学生和课程的联系是多对多的。,SQL Server 2005,2.5.2 联系(R)转换为关系模式的方法,选课(R) 成绩 n:m,Student(SID,Sname,Sex,Birthday,Specialty) Course(CID, Cname,Credit) SC(SID, CID,Grade),SQL Server 2005,2.4 关系规范化,不规范:产生数据冗余,带来很多问题。 规范:提高数据的结构化

21、、共享性、一致性和可操作性。 范式:规范化的程度,级别。 规范化:在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度。,SQL Server 2005,2.6.1 第一范式1NF(First Normal Form),定义:所有属性不可再分,即原子属性。记作:R1NF 例如:设一个通信录,电话属性需要再分,达不到1NF。,SQL Server 2005,2.6.1 第一范式1NF(First Normal Form),问题:不是二维表,不够1NF 解决方法1:在属性上展开,SQL Server 2005,2.6.1第一范式1NF(First Normal Form),解决方法2

22、:分解为二个关系,SQL Server 2005,2.6.2第二范式2NF(Second Normal Form),定义 所有非主属性完全依赖每个候选关键字。记作R2NF 或:取消部分依赖。 假设:有一个教师授课的关系模式。 TC(TNO,Tname,Title,ADDR,CNO,Cname,Level,Credit) PK:(TNO, CNO),SQL Server 2005,2.6.2第二范式2NF(Second Normal Form),问题 数据冗余(不同课程同一任教的教师名等) 更新异常(冗余带来的不一致) 插入异常(没课的教师关键字无值不允许插入) 删除异常(没课的教师要删除,致使

23、删除有关记录),SQL Server 2005,2.6.2 第二范式2NF(Second Normal Form),原因 关系属性之间存在部分函数依赖,不够2NF。 主码(TNO, CNO)决定Cname,Level,Credit,但是存在 主码的一部分CNO就可以决定Cname,Credit。 (TNO, CNO)Cname,Credit (CNO) Cname, Credit,SQL Server 2005,2.6.2第二范式2NF(Second Normal Form),解决办法 拆分:原则是概念单一,完整(无损) 上述达不到2NF的关系分解如下: 多 T (TNO,Tname,Titl

24、e,ADDR) 对 TC(TNO,CNO,Level) 多 C( CNO,Cname,Credit),SQL Server 2005,2.6.3第三范式3NF(Third Normal Form),定义 所有非主属性都不传递函数依赖每个候选关键字。记作:R3NF 或:取消传递依赖 假设:为图书管理系统的数据模式Book增加一个属性ISBN。 Books (BID,ISBN,Bname,Author, PubComp, PubDate,Price) PK:BID,SQL Server 2005,2.6.3 第三范式3FN(Third Normal Form),定义 所有非主属性都不传递函数依赖每

25、个候选关键字。记作:R3NF 或:取消传递依赖 假设:为图书管理系统的数据模式Book增加一个属性ISBN。 Books (BID,ISBN,Bname,Author, PubComp, PubDate,Price) PK:BID,SQL Server 2005,2.6.3第三范式3NF(Third Normal Form),问题 数据冗余(图书馆多本书同一出版社,书名等) 更新异常(冗余带来的不一致) 插入异常(图书馆没有购进的书的出版情况不允许插入) 删除异常(图书馆丢失删除的书,致使删除该书的有关出版情况),SQL Server 2005,2.6.3 第三范式3NF(Third Norm

26、al Form),原因 关系属性之间存在传递函数依赖,不够3FN。 存在:BIDISBN, ISBNBname,Author, PubComp, PubDate,Price X Y , Y Z,YX X传递决定Z或Z函数依赖于X,SQL Server 2005,2.6.3 第三范式3NF(Third Normal Form),解决办法 拆分:原则是概念单一,完整(无损)。 上述达不到3NF的关系分解如下: m Books(BID,ISBN) FK:ISBN 对 BooksType (BID,ISBN) 联系可以通过加外码省略 Type (ISBN,Bname,Author,PubComp,Pu

27、bDate,Price),SQL Server 2005,2.6.4 BC范式BCNF(BoyceCodd Normal Form),定义:所有属性都不传递依赖每个候选关键字,记作:RBCNF。 由于关系规范化理论较深,此处不再赘述,读者可以根据实际设计加以体会。,SQL Server 2005,2.7 小结,1 关系数据库与关系模型概述 关系数据库用关系模型来组织数据。 关系模型由关系数据结构、关系操作集合和关系完整性规则三部分组成。 2 关系模型 (1) 数据结构 基本定义:二维表 基本术语:关系,关系名,关系型,关系值,元组,属性名,属性值,主码,外码 (2) 操作集合 传统的集合运算:

28、并,交,差,笛卡尔积。 专门的关系运算:A(R)投影,F(t)(R)选择,R S 自然连接。 (3) 完整性规则 实体:主码,参照:外码,域:逻辑表达式或函数。,SQL Server 2005,2.7 小结,3 E-R模型到关系模型的转换 实体关系:实体的属性就是关系的属性 联系关系: 1对1:联系与任意端实体所对应的关系模式合并,加入另一端实体的码和联系的属性。 1对n:联系与n端实体所对应的关系模式合并,加入1端实体的码和联系的属性。 n对m:联系转换成一个关系模式,该联系相连的各实体的码和联系本身的属性转换为关系的属性。 4 关系规范化 1NF:原子属性,2NF:不存在部分函数依赖,3NF:不存在传递函数依赖。,Thank You !,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1