周慧MicrosoftSQLServer2008单元3_1数据库的逻辑设计(案例1)数据库技术及应用(SQLServer2008R2)MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分数据库开发与维护-数据库逻辑设计数据库系统数据模型数据库设计创建数据库关系模型分析报告概念模型概念模型转为关系模型关系规范化创建基本表创建索引数据查询创建视图程序设计系统维护数据库开发与维护建模方法SQLServer资源管理器查询编辑器数据库安全数据库恢复数据库传输析分求需计设念概计设理物发开用应计设辑逻2MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分工作任务将概念设计中所设计的ER模型转换为关系模型根据需求分析的要求进行完整性设计和规范化处理教务管理信息系统数据库的逻辑设计3MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分单元目标能力目标1.能够运用关系数据模型的基本知识将概念模型转换为关系模型。2.能够根据完整性规则对关系模型进行实体完整性、参照完整性和用户定义完整性的设计。3.能够应用关系规范化方法对关系模型进行规范化和优化。4.培养用英文单词或英文缩写描述和识别属性的习惯。知识目标1.关系数据模型的组成要素和特点。2.关系数据结构3.关系的集合运算(并、交、差和笛卡儿积)。4.关系的专门运算(投影、选择和连接)与应用。5.关系数据实体完整性、参照完整性、用户定义完整性的概念及应用。6.概念模型(联系方式1:1,1:n,n:m)到关系模型转换的方法。7.关系规范化的基本概念和关系规范化的基本方法。8.数据库逻辑设计有关英文术语。素质目标1.培养严谨的工作态度和工作作风。2.培养较强的逻辑思维和抽象思维能力。4MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分学习内容知识框架5关系,元组,属性,候选键,主键,外键主属性,非主属性,关系模式关系模型数据操作数据完整性传统:并、交、差、笛卡儿积实体完整性约束专门:投影、选择、连接域完整性约束参照完整性约束数据结构关系规范化1NF:属性不可再分,2NF:取消部分函数依赖,3NF:取消传递函数依赖用户定义完整性约束客观世界事物及联系需求分析↓分析报告概念设计↓概念模型逻辑设计↓关系模型实体转关系:属性→属性,主键→主键联系转关系:一对一:联系并入任意端,加另一端主键一对多:联系并入多端,加另一端主键多对多:联系转为关系,加两端主键内模式—DATABASE模式—TABLE外模式—VIEWRDBMicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分一、关系模型概述关系模型组成要素1关系模型的特点26MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)关系模型组成要素关系对象类型集合系统静态特征DDL实现数据定义关系对象操作集合系统动态特征DML实现数据操作实体完整性约束域完整性约束参照完整性约束用户定义完整性约束DDL/DCL实现约束检查三个组成要素7MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(二)关系模型的特点实体用关系表示实体之间的联系用关系表示关系的定义用关系表示关系的运算对象是关系关系的运算结果是关系概念单一只需告诉系统“做什么”不需告诉系统“怎么做”程序和数据各自独立数据独立关系是元组的集合关系的运算是集合运算关系的运算对象是集合关系的运算结果是集合集合运算集合论数理逻辑严格定义、运算、规范化理论支持8MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分二、关系数据结构关系的定义1关系的术语29MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)关系的定义关系(Relation)是满足一定条件的二维表,在关系模型中,无论概念世界中的实体还是实体之间的联系均由关系(二维表)来表示,并且满足以下特性:关系(二维表)的每一元组(行)定义实体集的一个实体,每一列定义实体的一个属性。每一列表示一个属性,且列名不能重复。关系必须有一个主键(关键字),用来唯一标识一个元组(行),即实体。列的每个值必须与对应属性的类型相同。列是不可分割的最小数据项。行、列的顺序无关紧要关系的基本定义10MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)关系的定义学生实体→关系Student(学生情况表)SIDSnameSexBirthdateSpecialty2011216001赵成刚男1992-05-05计算机应用技术2011216002李敬女1992-01-06计算机应用技术2011216003郭洪亮男1992-04-12计算机应用技术2011216004吕珊珊女1993-10-11计算机信息管理2011216005高全英女1993-07-05计算机信息管理2011216006郝莎女1991-08-03计算机信息管理2011216007张峰男1992-09-03软件技术2011216111吴秋娟女1992-08-05软件技术11MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)关系的定义课程实体→关系Course(课程情况表)CIDCnameCredit16020010微机组装与维护2.016020011操作系统安装与使用2.016020012软件文档编辑与制作3.5MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)关系的定义学生选课→关系SC(学生选课表)SIDCIDScores20112160011602001096.020112160011602001180.020112160011602001296.020112160021602001067.020112160021602001190.020112160021602001288.013MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分二、关系数据结构关系的术语1关系的定义214MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(二)关系的术语关系:每个二维表称为一个关系,每个关系有一个关系名例如:学生情况表Student关系型:表的所有列标题,描述实体或联系的型例如:(SID,Sname,Sex,Birthdate,Specialty)关系值:表的所有列对应的数据,描述实体或联系的值例如:2011216003,郭洪亮,男,1992年4月,计算机应用技术2011216004,吕珊珊,女,1993年10月,计算机信息管理元组:表中的一行,描述一个实体或联系例如:201216004,吕珊珊,女,1987年10月,计算机网络15MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(二)关系的术语属性:表中各列的标题,每一个属性起一个名字,即属性名例如:SID,Sname属性值:表中各列对应的数据,描述实体或联系的特征例如:2011216003,郭洪亮域:属性的取值范围例如:属性SID的取值范围是10个长度的字符属性Birthdate的取值是合法的日期16MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(二)关系的术语候选键(CandidateKey):若关系中的某一属性或属性组的值能唯一的标识一个元组,则称该属性或属性组为候选键,候选键可以有多个。例如:关系Student中的属性SID,若再增加一个属性身份证号码IDNumber,则属性SID和属性IDNumber都是候选键。主键(PrimaryKey,PK):关系中的某个属性或属性组,能唯一确定一个元组,即确定一个实体,一个关系中的主键只能有一个,主键也被称为码或关键字。例如:SID,关系SC中的属性组(SID,CID),关系Course中的CID。外键(ForeignKey,FK):一个关系中的属性或属性组不是本关系的主键,而是另一关系的主键,则称该属性或属性组是该关系的外键,也称为外关键字。例如:关系SC中的属性SID和CID17MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(二)关系术语主属性:能作为候选键的属性。例如:关系Student中的属性SID和IDNumber,关系SC中的属性SID和CID非主属性:除了主属性的其他属性。例如:关系Student中的属性Sname,Sex,Birthdate,Specialty,关系SC中的属性Scores,关系Course中的属性Cname和Credit。关系模式:关系名(属性1,属性2,…属性n)例如:教务管理系统学生选课部分的三个关系模式Student(SID,Sname,Sex,Birthdate,Specialty)PK:SIDCourse(CID,Cname,Credit)PK:CIDSC(SID,CID,Scores)PK:SID,CIDFK:SID和CID注:PK代表主键,FK代表外键18MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分三、关系数据操作传统的集合运算(并、交、差、笛卡儿积)1专门的关系运算(投影、选择、连接)23综合运算19MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)传统的集合运算假设有两个关系R和S,具有相同的结构,t是元组变量,关系R为喜欢跳舞的学生,关系S为喜欢唱歌的学生。表1喜欢跳舞的学生关系RSnameSex李敬女高全英女吴秋娟女穆金华男张欣欣女王婷女表2喜欢唱歌的学生关系SSnameSex赵成刚男张峰男吴秋娟女穆金华男孙政先男王婷女吕文昆男孙炜女MicrosoftSQLServer2008《SQLServer2008R2数据库技术及应用(第3版)》人民邮电出版社2019年12月25日12时8分(一)传统的集合运算并(Union)公式:R∪S={t│t∈R∨t∈S}语义:t元组属于R或者属于S。例1:喜欢跳舞或喜欢唱歌的学生,R∪S的关系如表3所示。表3R∪SSnameSex李敬女高全英女吴秋娟女穆金华男张欣欣女王婷女赵成刚男张峰男孙政先男吕文昆男孙炜女21M