文档详情

数据库技术及应用第9章数据库设计

小萌新****ao
实名认证
店铺
PPT
680KB
约63页
文档ID:366268154
数据库技术及应用第9章数据库设计_第1页
1/63

9.1.1 数据库设计在软件开发中的地位和作用数据库设计在软件开发中的地位和作用数据库设计是信息系统设计中最为关键的一项任务一个数据库设计是信息系统设计中最为关键的一项任务一个优优秀的数据库设计秀的数据库设计无疑能够帮助程序员减少业务逻辑操作,减无疑能够帮助程序员减少业务逻辑操作,减少出错的可能性,甚至有助于提高软件的性能;少出错的可能性,甚至有助于提高软件的性能;而一个糟糕而一个糟糕的数据库设计的数据库设计会在需要添加功能的时候无从扩展,或是大量会在需要添加功能的时候无从扩展,或是大量的冗余造成性能的瓶颈的冗余造成性能的瓶颈数据库设计的一般定义数据库设计的一般定义:数据库设计是针对一个特定的应用:数据库设计是针对一个特定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求足各种用户的应用需求,包括信息管理要求和数据操作要求用户需求在设计过程中扮演一个中心角色用户需求在设计过程中扮演一个中心角色,数据库设计必须,数据库设计必须与需求相对应,各种功能需求都要在数据库中予以体现。

与需求相对应,各种功能需求都要在数据库中予以体现9.1.2 数据库设计的基本步骤数据库设计的基本步骤依照规范设计的方法依照规范设计的方法,考虑到数据库及其应用系统开发全过,考虑到数据库及其应用系统开发全过程,将数据库设计分为以下程,将数据库设计分为以下5个阶段:个阶段:(1)需求收集与分析需求收集与分析阶段需要就系统功能、数据需求、数据完整阶段需要就系统功能、数据需求、数据完整性和安全性等诸多方面与应用领域专家和用户展开多种方式性和安全性等诸多方面与应用领域专家和用户展开多种方式的沟通,同时综合不同用户的应用需求虽然存在图形方式的沟通,同时综合不同用户的应用需求虽然存在图形方式的用户需求表示,但是在本章中仅限于采用文字方式描述的用户需求表示,但是在本章中仅限于采用文字方式描述2)概念结构设计概念结构设计阶段是将用户需求以概念模型的方式表达出来,阶段是将用户需求以概念模型的方式表达出来,独立于具体独立于具体DBMS产品,用以和用户沟通并确认需求检查产品,用以和用户沟通并确认需求检查概念模型,看该模型是不是包含了所有的数据;能不能满足概念模型,看该模型是不是包含了所有的数据;能不能满足对数据的各种操作(如查询和增删改等)。

概念结构设计是对数据的各种操作(如查询和增删改等)概念结构设计是整个数据库设计的关键基于整个数据库设计的关键基于E-R图的实体图的实体-联系模型(联系模型(E-R模型)是目前最为广泛使用的概念模型模型)是目前最为广泛使用的概念模型9.1.2 数据库设计的基本步骤数据库设计的基本步骤(3)逻辑结构设计逻辑结构设计阶段将概念模型转换成具体的数据库产品支持阶段将概念模型转换成具体的数据库产品支持的逻辑模型(比如关系数据库模型),形成数据库的逻辑模的逻辑模型(比如关系数据库模型),形成数据库的逻辑模式并对它进行优化然后根据用户处理的要求、安全性的考式并对它进行优化然后根据用户处理的要求、安全性的考虑,在全局逻辑结构的基础上再建立必要的视图,形成数据虑,在全局逻辑结构的基础上再建立必要的视图,形成数据的外模式的外模式4)物理结构设计物理结构设计阶段为逻辑模型选取一个最合适应用环境的物阶段为逻辑模型选取一个最合适应用环境的物理结构,包括物理存储安排和索引结构的选择等,形成数据理结构,包括物理存储安排和索引结构的选择等,形成数据库内模式库内模式5)实施、运行和维护实施、运行和维护阶段将组织数据入库,并进行试运行,之阶段将组织数据入库,并进行试运行,之后可投入正式运行,在数据库系统运行过程中必须不断地对后可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

其进行评价、调整与修改9.1.2 数据库设计的基本步骤数据库设计的基本步骤应用要求应用要求应用应用2应用应用1应用应用1应用应用2应用应用3综合综合转换转换映像映像映像映像内模式内模式外模式外模式应用应用3 概念概念 模式模式 逻辑逻辑 模式模式数据库数据库应用系统应用系统应用要求应用要求应用要求应用要求外模式外模式外模式外模式需求收集与分析需求收集与分析 概念结构设计概念结构设计 逻辑结构设计逻辑结构设计 物理结构设计物理结构设计 实施运行维护实施运行维护 9.2.1 实体与用户需求实体与用户需求对现实世界做需求分析得到用户需求,将它抽象为信息世界对现实世界做需求分析得到用户需求,将它抽象为信息世界即概念模型的过程就是即概念模型的过程就是概念结构设计概念结构设计它是整个数据库设计是整个数据库设计的关键的关键Peter Chen 1976年提出的年提出的E-R模型是用模型是用E-R图来描述现实世图来描述现实世界的概念模型界的概念模型,Chen氏模型中使用的图形符号见表氏模型中使用的图形符号见表9.1本章中谈到的实体,没特别说明的话都是指实体型本章中谈到的实体,没特别说明的话都是指实体型。

实体可以是具体的实体可以是具体的人、事、物,例如学生、教师、课程等,人、事、物,例如学生、教师、课程等,也可以是抽象的概念或联系也可以是抽象的概念或联系,如时间段、考试安排等实体,如时间段、考试安排等实体由实体名和属性名集合组成由实体名和属性名集合组成在实际开发中,实体的属性集在实际开发中,实体的属性集是由用户的实际需求决定的是由用户的实际需求决定的学生学生(学号,姓名,性别,入学年月,出生日期,年龄,学生来源,籍贯,学号,姓名,性别,入学年月,出生日期,年龄,学生来源,籍贯,民族,宗教信仰,健康状况,户籍地址,居住地址,号码,学籍状民族,宗教信仰,健康状况,户籍地址,居住地址,号码,学籍状态,特长态,特长)时间段时间段(节次,开始时间,结束时间,适用部门节次,开始时间,结束时间,适用部门)9.2.2 属性及其分类属性及其分类属性是实体所具有的某一特性属性是实体所具有的某一特性,每个实体在每个属性上都有,每个实体在每个属性上都有各自的属性值,属性值有可取值的范围,称为各自的属性值,属性值有可取值的范围,称为属性的域属性的域依照具体信息系统中的不同需求,依照具体信息系统中的不同需求,E-R图中的属性可以按照属图中的属性可以按照属性类型进行多种划分,下面分别介绍。

性类型进行多种划分,下面分别介绍1)简单属性简单属性:该属性是:该属性是不能再进行分割不能再进行分割的最小单位如前面学生实体中的学的最小单位如前面学生实体中的学号、性别、学生来源、年龄、籍贯等都是简单属性用椭圆节点表示号、性别、学生来源、年龄、籍贯等都是简单属性用椭圆节点表示2)复合属性复合属性:可以再分割可以再分割为更小部分的属性复合属性可以是有层次结构的,为更小部分的属性复合属性可以是有层次结构的,此时用树状的简单属性图形符号来表示上下层次关系此时用树状的简单属性图形符号来表示上下层次关系那么复合属性到底在什么场合下使用呢那么复合属性到底在什么场合下使用呢?如果一个用户希望在一些场景中?如果一个用户希望在一些场景中引用完整的属性,而在另外的场景中仅引用属性的一部分,这时候使用复引用完整的属性,而在另外的场景中仅引用属性的一部分,这时候使用复合属性是一个好的选择合属性是一个好的选择复合属性居住地址可以用树状层次化表示,如下图所示复合属性居住地址可以用树状层次化表示,如下图所示邮编邮编区名区名街道街道路名门牌路名门牌居住地址居住地址 9.2.2 属性及其分类属性及其分类(3)单值属性单值属性:对一个特定实体,一个属性只有单独的一个值,:对一个特定实体,一个属性只有单独的一个值,如学号、姓名、籍贯等。

如学号、姓名、籍贯等4)多值属性多值属性:对一个特定实体,一个属性可能对应一组值用:对一个特定实体,一个属性可能对应一组值用双线椭圆节点表示双线椭圆节点表示5)派生属性派生属性:由其它属性计算得出的属性,使用虚线椭圆节点:由其它属性计算得出的属性,使用虚线椭圆节点表示派生属性会造成数据冗余派生属性会造成数据冗余6)码属性码属性:如果属性是实体型中用来唯一标识实体的属性称为:如果属性是实体型中用来唯一标识实体的属性称为码属性码属性在属性名的下面划一条线表示学生实体中码属性码属性在属性名的下面划一条线表示学生实体中学号是码属性学号是码属性各种属性的学生实体各种属性的学生实体E-R图表示图表示年龄年龄 学号学号 号码号码 学生学生出生日期出生日期年龄年龄居住地址居住地址宗教信仰宗教信仰学生来源学生来源号码号码学籍状态学籍状态区名区名邮编邮编街道街道路名门牌路名门牌学号学号说明说明:由于属性较多,在此只标:由于属性较多,在此只标出几个需要特别关注的属性出几个需要特别关注的属性9.2.3 联系及其分类联系及其分类在现实世界中,事物内部以及事物之间是有联系的,在现实世界中,事物内部以及事物之间是有联系的,这些联这些联系在信息世界中反映为实体内部的联系和实体之间的联系系在信息世界中反映为实体内部的联系和实体之间的联系。

实体内部的联系通常是指组成实体的各属性之间的联系;实实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系体之间的联系通常是指不同实体集之间的联系实体内部和实体之间实体内部和实体之间联系类型的不同联系类型的不同,将直接导致数据库不将直接导致数据库不同的逻辑结构设计同的逻辑结构设计,最后影响到用户功能的实现最后影响到用户功能的实现所以区分所以区分联系类型是一项非常重要的工作联系类型是一项非常重要的工作1、两个实体型之间的联系(、两个实体型之间的联系(二元联系二元联系)(1)一对一联系(一对一联系(1:1)(2)一对多联系(一对多联系(1:n)(3)多对多联系(多对多联系(m:n)联系也是可以有属性的联系也是可以有属性的教师教师班级班级11负责负责员工员工房间房间1n负责负责职务职务教师教师mn任职开始时间任职开始时间任职结束时间任职结束时间任职任职 9.2.3 联系及其分类联系及其分类2、两个以上实体型之间的联系(、两个以上实体型之间的联系(多元联系多元联系)3、单个、单个实体型内部实体型内部的联系的联系4、两个实体型之间的、两个实体型之间的多种联系多种联系5、参与约束参与约束班级班级教师教师pn课程课程m学期学期学年学年任课任课学生学生n管理管理1员工员工房间房间1n1n办公办公负责负责员工员工房间房间1n负责负责 9.2.4 弱实体类型弱实体类型在现实世界中,有时某些实体对于另一些实体有很强的依赖在现实世界中,有时某些实体对于另一些实体有很强的依赖关系,即关系,即一个实体的存在必须以另一实体的存在为前提一个实体的存在必须以另一实体的存在为前提,该,该实体主码的全部或者部分从依赖的实体获得。

前者称为实体主码的全部或者部分从依赖的实体获得前者称为弱实弱实体体类型(简称弱实体),后者称为类型(简称弱实体),后者称为强实体强实体类型或类型或常规实体常规实体类类型(简称强实体或实体)型(简称强实体或实体)弱实体类型一定需要关联到一个强实体类型,以便识别其身弱实体类型一定需要关联到一个强实体类型,以便识别其身份,该强实体类型称为份,该强实体类型称为“标识实体标识实体类型类型”,使用的联系类型,使用的联系类型称为称为“标识联系类型标识联系类型”,以双框菱形图形符号来表示,弱实,以双框菱形图形符号来表示,弱实体类型是使用双线矩形符号来表示体类型是使用双线矩形符号来表示弱实体必然是全部参与弱实体必然是全部参与联系联系如下图所示如下图所示学生学生 简历简历拥有拥有起始日期起始日期所在学校所在学校终止。

下载提示
相似文档
正为您匹配相似的精品文档