数据库逻辑设计_第1页
数据库逻辑设计_第2页
数据库逻辑设计_第3页
数据库逻辑设计_第4页
数据库逻辑设计_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、周慧周慧MicrosoftMicrosoftSQL Server 2008SQL Server 2008单元单元3_1 数据库的逻辑设计数据库的逻辑设计 (案例案例1)数据库应用技术数据库应用技术(SQL Server 2008 R2)MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分数据库开发与维护数据库开发与维护-数据库逻辑设计数据库逻辑设计MicrosoftMicrosoftSQL Server 2008

2、SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分工作任务工作任务将概念设计中所设计的将概念设计中所设计的ER模型转换为关系模型模型转换为关系模型根据需求分析的要求进行数据库的完整性设计和规根据需求分析的要求进行数据库的完整性设计和规范化处理范化处理教务管理信息系统数据库的逻辑设计教务管理信息系统数据库的逻辑设计MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2

3、版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分单元目标单元目标v 能力目标能力目标1.能够运用关系数据模型的基本知识将概念模型转换为关系模型。能够运用关系数据模型的基本知识将概念模型转换为关系模型。2.能够根据完整性规则对关系模型进行实体完整性、参照完整性和用户定义能够根据完整性规则对关系模型进行实体完整性、参照完整性和用户定义完整性的设计。完整性的设计。3.能够应用关系规范化方法对关系模型进行规范化和优化。4.培养用英文单词或英文缩写描述和识别属性的习惯。培养用英文单词或英文缩写描述和识别属性的习惯。v 知识目标知识目标1.关系数据模型的组成要素和特点。关系数据模型的

4、组成要素和特点。2.关系数据结构关系数据结构3.关系的集合运算(并、交、差和笛卡尔积)。关系的集合运算(并、交、差和笛卡尔积)。4.关系的专门运算(投影、选择和连接)与应用。关系的专门运算(投影、选择和连接)与应用。5.关系数据实体完整性、参照完整性、用户定义完整性的概念及应用。关系数据实体完整性、参照完整性、用户定义完整性的概念及应用。6.概念模型(联系方式概念模型(联系方式1:1,1:n,n:m)到关系模型转换的基本方法。)到关系模型转换的基本方法。7.关系规范化的基本概念和关系规范化的基本方法。8.数据库逻辑设计有关英文术语。数据库逻辑设计有关英文术语。v 素质目标素质目标1.培养严谨的

5、工作态度和工作作风。培养严谨的工作态度和工作作风。2.培养较强的逻辑思维和抽象思维能力。培养较强的逻辑思维和抽象思维能力。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分学习内容知识框架学习内容知识框架MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 20

6、22年5月11日3时01分一、一、 关系模型组成要素关系模型组成要素1关系模型的特点关系模型的特点2MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)关系模型组成要素(一)关系模型组成要素关系对象类型集合关系对象类型集合系统静态特征系统静态特征DDL实现数据定义实现数据定义关系对象操作集合关系对象操作集合系统动态特征系统动态特征DML实现数据操作实现数据操作实体完整性约束实体完整性约束域完整性约束域完整性

7、约束参照完整性约束参照完整性约束用户定义完整性约束用户定义完整性约束DDL/DCL实现约束实现约束检查检查三个组成要素三个组成要素MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)关系模型的特点(二)关系模型的特点实体用关系表示实体用关系表示实体之间的联系用关系表示实体之间的联系用关系表示关系的定义用关系表示关系的定义用关系表示关系的运算对象是关系关系的运算对象是关系关系的运算结果是关系关系的运算结果是关

8、系概念单一概念单一只需告诉系统只需告诉系统“做什么做什么”不需告诉系统不需告诉系统“怎么做怎么做”程序和数据各自独立程序和数据各自独立数据独立数据独立关系是元组的集合关系是元组的集合关系的运算是集合运算关系的运算是集合运算关系的运算对象是集合关系的运算对象是集合关系的运算结果是集合关系的运算结果是集合集合运算集合运算集合论集合论数理逻辑数理逻辑严格定义、运算、规范化严格定义、运算、规范化理论支持理论支持MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民

9、邮电出版社 2022年5月11日3时01分关关系的定系的定义义1关关系的系的术语术语2MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)关系的定义(一)关系的定义关系(关系(Relation)是满足一定条件的)是满足一定条件的二维表二维表,在关系模型中,无论,在关系模型中,无论概念世界中的实体还是实体之间的联系均由关系(二维表)来表示,概念世界中的实体还是实体之间的联系均由关系(二维表)来表示,并且满足以

10、下特性:并且满足以下特性:关系(二维表)的每一元组(行)定义实体集的一个实体,每关系(二维表)的每一元组(行)定义实体集的一个实体,每一列定义实体的一个属性。一列定义实体的一个属性。每一列表示一个属性,且列名不能重复。每一列表示一个属性,且列名不能重复。关系必须有一个主键(关键字),用来唯一标识一个元组关系必须有一个主键(关键字),用来唯一标识一个元组(行),即实体。(行),即实体。列的每个值必须与对应属性的类型相同。列的每个值必须与对应属性的类型相同。列是不可分割的最小数据项。列是不可分割的最小数据项。行、列的顺序无关紧要行、列的顺序无关紧要关系的基本定义关系的基本定义MicrosoftMi

11、crosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)关系的定义(一)关系的定义学生实体关系Student (学生情况表)SIDSIDSnameSnameSexSexBirthdayBirthdaySpecialtySpecialty2011216001赵成刚男1992年5月计算机应用技术2011216002李敬女1992年1月计算机应用技术2011216003郭洪亮男1992年4月计算机应用技术2011216004吕珊珊女199

12、3年10月计算机信息管理2011216005高全英女1993年7月计算机信息管理2011216006郝莎女1991年8月计算机信息管理2011216007张峰男1992年9月软件技术2011216111吴秋娟女1992年8月软件技术MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)关系的定义(一)关系的定义课程实体关系Course(课程情况表)CIDCIDCnameCnameCreditCredit160

13、20010微机组装与维护2.016020011操作系统安装与使用2.016020012软件文档编辑与制作3.5MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)关系的定义(一)关系的定义学生选课关系SC(学生选课表) SIDCIDGrade20112160011602001096.020112160011602001180.020112160011602001296.0201121600216020010

14、67.020112160021602001190.020112160021602001288.0MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分关关系的系的术语术语1关关系的定系的定义义2MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11

15、日3时01分(二)关系的术语(二)关系的术语 关系:每个二维表称为一个关系关系:每个二维表称为一个关系,每个关系有一个关系名每个关系有一个关系名 例如:学生情况表例如:学生情况表Student 关系型:表的所有列标题,描述实体或联系的型关系型:表的所有列标题,描述实体或联系的型 例如:例如:(SID,Sname,Sex,Birthday,Specialty) 关系值:表的所有列对应的数据,描述实体或联系的值关系值:表的所有列对应的数据,描述实体或联系的值 例如:例如:2011216003 ,郭洪亮,男,郭洪亮,男,1992年年4月,月,计算机应用技术计算机应用技术 2011216004 ,吕珊

16、珊,女,吕珊珊,女,1993年年10月,月,计算机信息管理计算机信息管理 元组:表中的一行,描述一个实体或联系元组:表中的一行,描述一个实体或联系 例如:例如:201216004,吕珊珊,女,吕珊珊,女,1987年年10月,计算机网络月,计算机网络MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)关系的术语(二)关系的术语 属性:表中各列的标题,每一个属性起一个名字,即属性名属性:表中各列的标题,每一个属

17、性起一个名字,即属性名 例如:例如:SID,Sname 属性值:表中各列对应的数据,描述实体或联系的特征属性值:表中各列对应的数据,描述实体或联系的特征 例如:例如:2011216003,郭洪亮,郭洪亮 域:属性的取值范围域:属性的取值范围 例如:属性例如:属性SID的取值范围是的取值范围是10个长度的字符个长度的字符 属性属性Birthday的取值是合法的日期的取值是合法的日期MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5

18、月11日3时01分(二)关系的术语(二)关系的术语 候选候选键键(Candidate Key):若关系中的某一属性或属性组的值能唯一):若关系中的某一属性或属性组的值能唯一的标识一个元组,则称该属性或属性组为候选键,候选键可以有多个。的标识一个元组,则称该属性或属性组为候选键,候选键可以有多个。 例如:关系例如:关系Student中的属性中的属性SID,若再增加一个属性身份证号码,若再增加一个属性身份证号码IDNumber,则属性则属性SID和属性和属性IDNumber都是候选键。都是候选键。 主键(主键(Primary Key,PK) :关系中的某个属性或属性组,能唯一确定:关系中的某个属性

19、或属性组,能唯一确定一个元组,即确定一个实体,一个关系中的主键只能有一个,主键也被称一个元组,即确定一个实体,一个关系中的主键只能有一个,主键也被称为码或关键字。为码或关键字。 例如:例如:SID,关系,关系SC中的属性组(中的属性组(SID,CID),关系),关系Course中的中的CID。 外键(外键(Foreign Key,FK):一个关系中的属性或属性组不是本关系的主键,):一个关系中的属性或属性组不是本关系的主键,而是另一关系的主键,则称该属性或属性组是该关系的外键,也称为外关键字。而是另一关系的主键,则称该属性或属性组是该关系的外键,也称为外关键字。 例如:关系例如:关系SC中的属

20、性中的属性SID和和CIDMicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)关系术语(二)关系术语 主属性:能作为候选键的属性。主属性:能作为候选键的属性。 例如:关系例如:关系Student中的属性中的属性SID 和和IDNumber ,关系,关系SC中的属性中的属性SID和和CID 非主属性:除了主属性的其他属性。非主属性:除了主属性的其他属性。 例如:关系例如:关系Student中的属性中的属性Sn

21、ame ,Sex,Birthday,Specialty,关系,关系SC中中的属性的属性Grade,关系,关系Course中的属性中的属性Cname和和Credit。 关系模式:关系名(属性关系模式:关系名(属性1,属性,属性2, 属性属性n) 例如:例如:Student(SID,Sname,Sex,Birthday,Specialty) PK:SID Course(CID, Cname,Credit) PK:CID SC( SID, CID ,Grade) PK:SID,CID FK:SID和和CID 注:注:PK代表主键,代表主键,FK代表外键代表外键MicrosoftMicrosoftSQ

22、L Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分三、三、传统传统的集合的集合运运算(算(并、交、差、笛卡尔积)1专门的关系运算(专门的关系运算(投影、选择、连接投影、选择、连接)23综合运算综合运算MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运

23、算(一)传统的集合运算 假设有两个关系假设有两个关系R和和S,具有相同的结构,具有相同的结构,t是元组变量,关系是元组变量,关系R为喜欢跳舞的学生,关系为喜欢跳舞的学生,关系S为喜欢唱歌的学生。为喜欢唱歌的学生。表表1 1 喜欢跳舞的学生关系喜欢跳舞的学生关系R R Sname Sex 李敬李敬 女女 高全英高全英 女女 吴秋娟吴秋娟 女女 穆金华穆金华 男男 张欣欣张欣欣 女女 王婷王婷 女女表表2 2 喜欢唱歌的学生关系喜欢唱歌的学生关系S S Sname Sex 赵成刚赵成刚 男男 张峰张峰 男男 吴秋娟吴秋娟 女女 穆金华穆金华 男男 孙政先孙政先 男男 王婷王婷 女女 吕文昆吕文昆

24、男男 孙炜孙炜 女女MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运算(一)传统的集合运算v 并(并(Union) 公式:公式:RS=ttR t S 语义:语义:t 元组属于元组属于R或者属于或者属于S。 例1:喜欢跳舞或喜欢唱歌的学生, RS的关系如表3所示。表表3 RSSnameSex李敬李敬女女高全英高全英女女吴秋娟吴秋娟女女穆金华穆金华男男张欣欣张欣欣女女王婷王婷女女赵成刚赵成刚男男

25、张峰张峰男男孙政先孙政先男男吕文昆吕文昆男男孙炜孙炜女女MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运算(一)传统的集合运算v 差(差(Difference) 公式:公式:RS=ttR t S 语义:语义:t 元组属于元组属于R,但不属于,但不属于S。例2:喜欢跳舞但是不喜欢唱歌的学生,RS的关系如表4所示。 表表4 R-SSnameSex李敬李敬女女高全英高全英女女张欣欣张欣欣女女Mic

26、rosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运算(一)传统的集合运算v交(交(Intersection) 公式:公式:RS=ttR t S RS=ttR t S 语义:语义:t t 元组属于元组属于R R并且属于并且属于S S。例3:既喜欢跳舞也喜欢唱歌的学生,RS的关系如表5所示。 表表5 RSSnameSex吴秋娟吴秋娟女女穆金华穆金华男男王婷王婷女女MicrosoftMicrosoftSQ

27、L Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运算(一)传统的集合运算v 笛卡尔积(笛卡尔积(Cartesian Product)设:关系设:关系R R为为m m列(列( m m 个属性),个属性),k k1 1行(行(k k1 1个元组);个元组);关系关系S S为为n n列(列(n n个属性),个属性),k k2 2行(行(k k2 2个元组)。个元组)。 公式:公式:R RS=S=tRtS tR R tS S 语义:笛卡尔积

28、仍是一个关系,该关系的结构是语义:笛卡尔积仍是一个关系,该关系的结构是R R和和S S结构之结构之连接,即前连接,即前m m 个属性来自个属性来自R R,后,后n n个属性来自个属性来自S S,该关系的值,该关系的值是由是由R R中的每个元组连接中的每个元组连接S S中的每个元组所构成元组的集合。中的每个元组所构成元组的集合。 注意:新关系的属性个数等于注意:新关系的属性个数等于m m+ +n n ,元组个数等于,元组个数等于k k1 1* *k k2 2。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL

29、Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)传统的集合运算(一)传统的集合运算例4 :设关系R和S如表6和表7所示,RS如表8所示。 表表6 6 学生关系学生关系R RSIDSname201216001201216001赵成刚赵成刚20112160022011216002李敬李敬 表表7 7 选课关系选课关系S SSIDCIDScores201121600116020010902011216001160200118520112160021602001085表表8 8 笛卡尔积笛卡尔积 R RS SSIDSnameSIDCIDScore

30、s20112160012011216001赵成刚赵成刚201121600120112160011602001016020010909020112160012011216001赵成刚赵成刚201121600120112160011602001116020011858520112160012011216001赵成刚赵成刚201121600220112160021602001016020010858520112160022011216002李敬李敬201121600120112160011602001016020010909020112160022011216002李敬李敬2011216001201

31、12160011602001116020011858520112160022011216002李敬李敬2011216002201121600216020010160200108585MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分三、三、专门专门的的关关系系运运算算(投影、选择、连接投影、选择、连接)1传统传统的集合运算(的集合运算(并、交、差、笛卡尔积并、交、差、笛卡尔积)23综合运算综合运算Microso

32、ftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的关系运算(二)专门的关系运算v 投影(投影(Projection)设:设:t是关系是关系R中的一个元组,中的一个元组,A是要从是要从R中投影出中投影出的属性子集。的属性子集。 公式:公式:A(R)= t.At R 语义:从关系语义:从关系R中按所需顺序选取若干个属性构中按所需顺序选取若干个属性构成新关系。成新关系。 注意:新关系的元组数小于等于原关系的元组注意:新

33、关系的元组数小于等于原关系的元组数数,新关系的属性数不多于原关系中的属性数。新关系的属性数不多于原关系中的属性数。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的集合运算(二)专门的集合运算表表9 关系关系RSIDSnameSexBirthdaySpecialty2011216001赵成刚赵成刚男男1992年年5月月计算机应用计算机应用2011216002李敬李敬女女1992年年1月月软件技术软件

34、技术2011216003郭洪亮郭洪亮男男1992年年4月月计算机应用技术计算机应用技术2011216004吕珊珊吕珊珊女女1993年年10月月计算机信息管理计算机信息管理2011216005高全英高全英女女1993年年7月月计算机信息管理计算机信息管理2011216006郝莎郝莎女女1991年年8月月计算机信息管理计算机信息管理2011216007张峰张峰男男1992年年9月月软件技术软件技术2011216111吴秋娟吴秋娟女女1992年年8月月软件技术软件技术表表10 Sname,Sex (R)SnameSex赵成刚赵成刚男男李敬李敬女女郭洪亮郭洪亮男男吕珊珊吕珊珊女女高全英高全英女女郝莎郝

35、莎女女张峰张峰男男吴秋娟吴秋娟女女例例5:列出学生情况表:列出学生情况表R(表(表9)的学生姓名和性别的情况,投影运算结果)的学生姓名和性别的情况,投影运算结果如表如表10所示。所示。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的集合运算(二)专门的集合运算表表11 Sex=男男(R)SIDSnameSexBirthdaySpecialty2011216001赵成刚赵成刚男男1992年年5月月计

36、算机应用计算机应用2011216003郭洪亮郭洪亮男男1992年年4月月计算机应用技术计算机应用技术2011216007张峰张峰男男1992年年9月月软件技术软件技术v 选择(选择(Selection)设:设:t是关系是关系R中的一个元组,中的一个元组,F(t)为元组逻辑表达式。为元组逻辑表达式。公式公式:F(t)(R)= ttR F(t)=true语义:从关系中找出满足条件的那些元组称为选择。语义:从关系中找出满足条件的那些元组称为选择。注意:运算结果的元组数不多于原关系中的元组数。注意:运算结果的元组数不多于原关系中的元组数。例6:在学生情况表9 R中选择出男生,如表11所示。Micros

37、oftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的集合运算(二)专门的集合运算v 连接(连接(Join)设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。公式:语义:两个关系R和S按相应属性值的比较条件连接起来,生成一个新关系,也称为连接。等值连接 RS选择(为)按照两关系中对应属性值相等的条件所进行的连接自然连接 等值连接去重复属性记作:R SR S=R.AS.B ( RS) R.AS.B Mic

38、rosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的集合运算(二)专门的集合运算例7:设学生、选课和课程表如表12、表13、表14所示,学生选课的情况为S SC C的结果,如表15所示。 表表1212S SSIDSname20112161112011216111吴秋娟吴秋娟20112161122011216112穆金华穆金华20112161152011216115张欣欣张欣欣表表1313 SC SCSIDC

39、ID201121611116020010201121611116020013201121611216020014201121611216020010201121611516020011201121611516020014表表1414 C CCIDCname16020010微机组装与维护微机组装与维护16020011操作系统安装与使用操作系统安装与使用16020012软件文档编辑与制作软件文档编辑与制作16020013面向过程程序设计面向过程程序设计16020014数据库开发与维护数据库开发与维护16020015面向对象程序设计面向对象程序设计16020016数字媒体采集与处理数字媒体采集与处理

40、16020017静态网页设计与制作静态网页设计与制作16020018Web标准设计标准设计MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)专门的集合运算(二)专门的集合运算 自然连接结果如下:表表15 15 S SC CS SC C SIDSnameCIDCname2011216111吴秋娟吴秋娟16020010微机组装与维护微机组装与维护2011216111吴秋娟吴秋娟16020013面向过程程序设计

41、面向过程程序设计2011216112穆金华穆金华16020014数据库开发与维护数据库开发与维护2011216112穆金华穆金华16020010微机组装与维护微机组装与维护2011216115张欣欣张欣欣16020011操作系统安装与使用操作系统安装与使用2011216115张欣欣张欣欣16020014数据库开发与维护数据库开发与维护MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分三、三、综合运算综合运算1传

42、统传统的集合运算(的集合运算(并、交、差、笛卡尔积)23专门专门的的关关系系运运算(算(投影、选择、连接投影、选择、连接)MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)综合运算(三)综合运算 例例8 8:运算运算出赵成刚的学号、出赵成刚的学号、姓名、所选课程号和成绩姓名、所选课程号和成绩。 SID,Sname,CID,Scores(Sname= 赵成刚赵成刚 (S SC) 运算结果如下表所示运算结果如

43、下表所示: SIDSnameCIDScores2011216001赵成刚赵成刚1602001096.02011216001赵成刚赵成刚1602001180.02011216001赵成刚赵成刚1602001296.0注意:按照选择注意:按照选择 投影投影 连接的运算顺序可以减少运算时间,避免增加时间复杂性。连接的运算顺序可以减少运算时间,避免增加时间复杂性。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)

44、综合运算(三)综合运算例例9 9:运算运算出学号为出学号为20112160022011216002的学生的学号、姓名、所选课程名及成绩。的学生的学号、姓名、所选课程名及成绩。SID,Sname,Cname,Scores( SID =2011216002 (S SC C)运算结果如下表所示运算结果如下表所示: SIDSnameCnameGrade2011216002李敬李敬微机组装与维护微机组装与维护67.02011216002李敬李敬操作系统安装与使用操作系统安装与使用90.02011216002李敬李敬软件文档编辑与制作软件文档编辑与制作88.0注意:按照选择注意:按照选择 投影投影 连接的

45、运算顺序可以减少运算时间,避免增加时间复性。连接的运算顺序可以减少运算时间,避免增加时间复性。MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分四、关系完整性约束四、关系完整性约束规则:规则:PK检查:检查: DBMS规则:类型、规则:类型、默认值、是否允默认值、是否允许空等许空等检查:检查:DBMS规则:自定义约束、规则:自定义约束、存储过程、函数等存储过程、函数等检查:检查: DBMS三个方面三个方面+用户

46、自定义用户自定义规则:规则:FK检查:检查:DBMSMicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(一)实体完整性约束(一)实体完整性约束 (Entity Integrity) 规则:规则:关系的主键不能取空值,或者说任何关系中每个元组的主键不能为空。关系的主键不能取空值,或者说任何关系中每个元组的主键不能为空。 检查:检查:用户只要标明一个关系的主键,在输入或更新数据时,用户只要标明一个关系的主键,在输入

47、或更新数据时,DBMS将自动对该关系将自动对该关系中的每个元组的主键进行检查,若发现主键值为空或已有相同主键值存在,将给出错中的每个元组的主键进行检查,若发现主键值为空或已有相同主键值存在,将给出错误信息并要求用户纠正以保证数据的完整性。误信息并要求用户纠正以保证数据的完整性。 例如:建立一个课程情况表例如:建立一个课程情况表Course,属性学号,属性学号CID为主键,唯一且不能为空为主键,唯一且不能为空值。值。 CREATE TABLE Course ( CID char(8) NOT NULL PRIMARY KEY, -实体完整性约束实体完整性约束 Cname nchar(30) NU

48、LL,Credit decimal(3,1) NULL ) MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(二)域完整性约束(二)域完整性约束 ( Domain Integrity) 规则:规则:关系的列的值域必须满足某种特定数据类型或某种约束,如数据类型、格式关系的列的值域必须满足某种特定数据类型或某种约束,如数据类型、格式、值域范围、默认值、是否允许空值等。、值域范围、默认值、是否允许空值等。 检查:检

49、查:用户只要定义了一个关系的各属性的域完整性约束,在输入或更新某属性值用户只要定义了一个关系的各属性的域完整性约束,在输入或更新某属性值时,时,DBMS将自动对该属性值进行检查,若属性值不符合域完整性约束规定的取值将自动对该属性值进行检查,若属性值不符合域完整性约束规定的取值范围,将给出错误信息并要求用户纠正以保证数据的有效性。范围,将给出错误信息并要求用户纠正以保证数据的有效性。 例如:建立一个表例如:建立一个表“Student”(学生关系)。(学生关系)。 CREATE TABLE Student (SID char(10) PRIMARY KEY, -10个长度的字符类型,域完整性约束个

50、长度的字符类型,域完整性约束 Sname char(8) NOT NULL, -8个长度的字符类型和不允许空,域完整性约束个长度的字符类型和不允许空,域完整性约束 Sex nchar(1) NULL, -1个长度的双字节字符类型,域完整性约束个长度的双字节字符类型,域完整性约束 Birthday date NULL, -日期类型和允许空,域完整性约束日期类型和允许空,域完整性约束 Specialty varchar(26) NULL) -26个长度的字符类型和允许空,域完整性约束个长度的字符类型和允许空,域完整性约束MicrosoftMicrosoftSQL Server 2008SQL Se

51、rver 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)参照完整性约束(三)参照完整性约束(Reference Integrity) 规则:规则:参照关系(子关系)的外键取值不能超出被参照关系(父关系)的主键取值参照关系(子关系)的外键取值不能超出被参照关系(父关系)的主键取值 检查:检查:用户只要给出一对参照关系和被参照关系,并给出参照关系中的外键,则用户只要给出一对参照关系和被参照关系,并给出参照关系中的外键,则DBMS会自动进行参照完整性规则的检查,当发现违反该规则的外键取值时将显

52、示会自动进行参照完整性规则的检查,当发现违反该规则的外键取值时将显示错误信息,要求用户予以纠正。错误信息,要求用户予以纠正。 例如:建立一个学生选课表(例如:建立一个学生选课表(SC)。)。SC是参照关系,是参照关系, Course是被参照关是被参照关系,系,SC中外键中外键CID的值或者为空或者等于的值或者为空或者等于Course中主键中主键CID的值。的值。 CREATE TABLE SC (SID char(10) NOT NULL, CID char(8) NOT NULL, Scores decimal(4,1) NULL, PRIMARY KEY(SID,CID), FOREIGN

53、 KEY(CID) REFERENCES Course(CID) -定义外键,参照完整性约束定义外键,参照完整性约束 )MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)参照完整性约束(三)参照完整性约束检查检查为了维护数据库中数据的完整性,在对关系数据库执行插入、删除为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,要检查是否满足完整性规则。和修改操作时,要检查是否满足完整性规则。

54、 向参照关系向参照关系(子子)插入,检查外插入,检查外键键属性上的值属性上的值是否在被参照关系是否在被参照关系(父父)的主的主键键属性值中存在。属性值中存在。若存在,可以执行插入操作,否则不能执行插若存在,可以执行插入操作,否则不能执行插入操作。入操作。有其父才能有其子!有其父才能有其子!MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)参照完整性约束(三)参照完整性约束检查检查删除删除(父父)删除被参照

55、关系删除被参照关系(父父)中的中的元组时元组时,检查其主,检查其主键键是否被参是否被参照关系照关系(子子)的外的外键键引用引用?若没被引用:删除若没被引用:删除若被引用:若被引用:拒绝删除拒绝删除 空值删除(外空值删除(外键键改为空值)改为空值) 级联删除(参照关系中的相应级联删除(参照关系中的相应元组元组一起删除)一起删除)更新更新等价:先删除等价:先删除元组元组,后插入,后插入元组元组(以上两种情况的综合)(以上两种情况的综合) 删父要看有没有子!删父要看有没有子!MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技

56、术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)参照完整性约束(三)参照完整性约束检查检查关系关系Course(课程情况表)(课程情况表)CIDCname16020010微机组装与维护微机组装与维护16020011操作系统安装与使用操作系统安装与使用16020012软件文档编辑与制作软件文档编辑与制作关系关系SC(学生选课表)(学生选课表)SIDCID(外键)(外键)Grade20112160011602001096.020112160011602001185.020112160011602001296.02011216002

57、1602001067.020112160021602001190.020112160021602001288.0关系关系SC(学生选课表)(学生选课表)SIDCID(外键)(外键)Grade20112160011602001096.0201121600185.020112160011602001296.020112160021602001067.0201121600290.020112160021602001288.016020011操作系统安装与使用操作系统安装与使用空值删除:空值删除:删除被参照关系中的行(删除被参照关系中的行(操作系统安装与使操作系统安装与使用用),检查其主),检查其主键

58、键是否被参照关系的外是否被参照关系的外键键引用,若被引用:引用,若被引用:外外键键(CID)改为空值)改为空值MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时01分(三)参照完整性约束(三)参照完整性约束检查检查关系关系Course(课程情况表)(课程情况表)CIDCname16020010C语言程序设计语言程序设计16020011操作系统安装与使用操作系统安装与使用16020012网页设计网页设计关系关系SC(学

59、生选课表)(学生选课表)SIDCID(外键)(外键)Grade20112160011602001096.020112160011602001180.020112160011602001296.020112160021602001067.020112160021602001190.020112160021602001288.0关系关系SC(学生选课表)(学生选课表)SIDCID(外键)(外键)Grade20112160011602001096.020112160011602001180.020112160011602001296.020112160021602001067.02011216002

60、1602001190.02005216002160200128816020011操作系统安装与使用操作系统安装与使用级联删除:级联删除:删除被参照关系中的行(删除被参照关系中的行(操作系统安装与使操作系统安装与使用用),检查其主),检查其主键键是否被参照关系的外是否被参照关系的外键键引用,若被引用:引用,若被引用:参照关系中的相应行一起删除参照关系中的相应行一起删除MicrosoftMicrosoftSQL Server 2008SQL Server 2008 数据库应用技术(数据库应用技术(SQL Server 2008 R2版)版) 人民邮电出版社人民邮电出版社 2022年5月11日3时0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论