5.3概念结构设计 课件(共42张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源下载
  1. 二一教育资源

5.3概念结构设计 课件(共42张PPT)-《数据库应用技术-SQL Server》同步教学(人民邮电版)

资源简介

(共42张PPT)
数据库系统设计
第5章
目录
01
数据库系统
设计概述
02
需求分析
03
概念结构设计
04
逻辑结构设计
05
物理结构设计
06
数据库实施
07
数据库运行
和维护
本章主要内容
本章主要介绍数据库系统设计的整体过程及具体设计过程中使用的相关方法和技术。从数据库设计的概念出发,引出了数据库系统设计的内容、特点、使用的方法、基本过程和步骤;重点介绍需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等阶段的具体设计内容和步骤,并详细介绍需求分析、概念结构设计、逻辑结构设计的模型设计方法和模型创建步骤。
准备知识
模型是对事物、对象、过程等客观系统中人们感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。
数据模型也是一种模型,是计算机世界对现实世界数据特征的抽象、表示和处理的工具。
数据库不仅要反映数据本身内容,而且要反映数据之间的联系,而这种模拟是通过数据模型实现的。
数据模型是数据库的框架,是数据库的核心和基础。
概念结构设计
第5章
03
5.3.1 概念结构设计的特点
(1)概念模型是现实世界真实模型的一个抽象表示,应客观真实、完整细致地表示现实世界,以满足用户对数据的处理要求。
(2)概念模型应易于理解。
(3)概念模型应易于修改和扩充。
(4)概念模型应易于向数据模型转换。
5.3.2 概念结构设计使用的方法
概念结构设计通常有自顶向下、自底向上、由里向外逐步扩张和混合策略4种设计方法。
(1)自顶向下:首先定义总体概念结构框架,然后逐步细化,直至形成完整的总体概念结构模型。
(2)自底向上:首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构模型。
(3)有里向外逐步扩张:首先定义核心业务的概念结构,然后逐步向外扩展,生成其他业务的概念结构,直至完成总体概念结构设计。
(4)混合策略:它采用自顶向下与自底向上相结合的方法,首先用自顶向下策略设计一个总体概念结构框架,然后以它为骨架,通过自底向上策略设计各个局部应用的概念结构。
5.3.2 概念结构设计使用的方法
概念结构设计自顶向下、自底向上示意图:
5.3.3 概念结构设计的步骤
采用自底向上的设计方法,获得概念结构的步骤如下:
(1)根据需求分析阶段得到的数据流图和数据字典,进行数据抽象并设计局部视图(E-R图)。
(2)集成局部视图,得到全局概念结构。
(3)对全局概念结构进行优化,直到用户满意为止。
概念结构设计的步骤如右图所示。
5.3.4 局部E-R图设计
E-R图(Entity-Relationship Diagram):又称实体联系图或实体关联图,它由实体、实体间的联系和属性3个基本成分组成,用于描述系统的数据及数据间的联系。
(1)实体是数据项(也就是属性)的集合,通常用矩形框表示,框内标注实体名称。
(2)属性是定义实体的性质,通常用椭圆或圆角矩形框表示,框内标注属性名称。
(3)联系是指实体之间相互连接的方式,它确定了实体间逻辑上和数量上的联系,也称为关系、关联。通常用菱形框表示联系,并用直线连接有联系的实体。
联系有3种类型:一对一联系(1∶1)、一对多联系(1∶n)和多对多联系(m∶n)。
说明:联系也可以有属性。
5.3.4 局部E-R图设计
数据抽象:总结现实世界中具有共同特性实体的特征,忽略非本质的细节,并把这些共同特性用各种概念精确地加以描述,形成某种模型。
数据抽象有3种基本方法:
(1)分类:抽象了具体数据对象和类之间的“成员”语义,它针对现实世界中具有某些共同特性和行为的一组对象,定义类型概念模型,用共同特性作为该类的属性,行为作为该类与其他类发生的联系。在E-R图中,实体集就是这种抽象。
(2)聚集:抽象了对象所属类型和对象内部“组成成分”的语义,用于定义某一类型的组成成分(即属性),若干属性的聚集组成了实体型。
(3)概括:抽象了类型之间的“所属”的语义,它定义了类型之间的父子联系。在E-R图中用双竖边的矩形框表示子类,用直线加小圆圈表示父类—子类的联系。
5.3.4 局部E-R图设计
【例5.1】用分类方法设计教务管理系统中的教师实体。
5.3.4 局部E-R图设计
【例5.2】用聚集方法设计教师实体的详细属性。
【例5.3】用聚集方法设计部门实体的详细属性。
5.3.4 局部E-R图设计
【例5.4】用概括方法设计“教师”实体与“教辅人员”“实验员”和“行政管理人员”等实体间的联系。
5.3.4 局部E-R图设计
局部E-R图的设计步骤:
(1)选择适当层次的数据流图,确定设计局部E-R图的范围。
(2)逐步设计局部E-R图。
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
(1)选择适当层次的数据流图,确定设计局部E-R图的范围。本例中,选择第2层数据流图,以学生选课模块为核心进行局部E-R图设计,并根据数据字典确定局部E-R图的边界。
(2)识别实体、属性,确定实体间的联系。
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
(1)以学生选课模块为核心进行局部E-R图设计,该局部E-R图涉及的实体有:学生、课程和教师。
(2)各实体包含的属性:学生实体有学号、姓名、性别、年龄和系编号5个属性;课程实体有课程号、课程名称、课程类别、学时和学分5个属性;教师实体有教工号、姓名、性别、入职日期、职称和系别号6个属性。
(3)实体间的联系:学生与课程实体间的选修联系(n∶m)、教师与课程实体间的讲授联系(m∶n)、......
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
院系-专业-班级局部E-R图
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
院系-教师-职称局部E-R图
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
班级-学生-课程局部E-R图
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
学生-课程-教师局部E-R图
5.3.4 局部E-R图设计
【例5.5】根据教务管理系统数据流图设计局部E-R图。
学生-课程-教师局部E-R图
5.3.4 局部E-R图设计
实体设计遵从以下原则:
(1)实体要尽可能少。
(2)只考虑系统范围内的属性。
属性设计遵从以下原则:
(1)属性必须是不可再分的,它不能再包含其他的属性;
(2)属性不能和其他任何实体发生联系。
5.3.4 局部E-R图设计
实体设计遵从以下原则:
(1)实体要尽可能少。
(2)只考虑系统范围内的属性。
属性设计遵从以下原则:
(1)属性必须是不可再分的,它不能再包含其他的属性;
(2)属性不能和其他任何实体发生联系。
5.3.4 局部E-R图设计
【例5.6】将教师实体中的职称属性转换为职称实体。
职称属性转换为职称实体
5.3.4 局部E-R图设计
【例5.7】将病人实体的病房属性转换为病房实体。
病房属性转换为病房实体
5.3.5 总体E-R图设计
集成局部E-R图,设计总体E-R图时的步骤如下:
(1)合并分E-R图,解决冲突问题,生成初步E-R图。
(2)重构初步E-R图,消除冗余,得到总体E-R图
1.合并分E-R图时的冲突及其解决方法
合并分E-R图时的冲突:各局部E-R图存在许多不一致的地方。
冲突主要有3种类型:
(1)属性冲突
(2)命名冲突
(3)结构冲突
属性冲突
属性冲突主要包括以下两种类型:
① 属性域冲突。属性域冲突又分为同一属性的类型、取值范围和取值集合3种情况。
② 属性取值单位冲突。
例如:学生的学号,有的部门定义为整型,而有的部门定义为字符串类型,这就是类型冲突。
命名冲突
命名冲突主要包括以下两种类型:
① 同名异义冲突
② 异名同义冲突。
结构冲突
结构冲突主要以下3种类型。
① 同一对象在不同的E-R图中具有不同的抽象,有的图中将其作为属性,有的图中将其作为实体。
② 同一实体在不同的E-R图中其属性的个数和排列顺序不完全一样。
③ 两个实体在不同的局部E-R图中具有不同的联系类型。
举例
将例5.5中教务管理系统的各局部E-R图合并生成全局E-R图。
(1)将院系-专业-班级局部E-R图与院系-教师-职称局部E-R图合并。
举例
将例5.5中教务管理系统的各局部E-R图合并生成全局E-R图。
(2)将班级-学生-课程局部E-R图和合并后的院系-专业-班级-教师-职称局部E-R图合并。
举例
将例5.5中教务管理系统的各局部E-R图合并生成全局E-R图。
(3)将学生-课程-教师局部E-R图和合并后的院系-专业-班级-教师-职称-学生-课程局部E-R图合并。
【例5.8】
将在线点餐系统的各局部E-R图合并生成全局E-R图。
在线点餐系统的各局部E-R图包括区域-餐厅-菜品、顾客-菜品和送餐员-派送单3个局部E-R图,参见教材图5.29~图5.31。
【例5.8】
在线点餐系统全局E-R图的设计步骤如下。
(1)将区域-餐厅-菜品局部E-R图与顾客-菜品局部E-R图合并。其中涉及将订单由属性改为实体。
(2)将图5.33所示的E-R图继续与送餐员-派送单局部E-R图进行合并。其中需要处理命名冲突和结构冲突两个问题。
2.总体E-R图的优化
优化总体E-R图的目的:尽量避免冗余信息
冗余:是指冗余数据或实体间的冗余联系。
(1)冗余数据是指可由基本数据导出的数据
(2)冗余联系是指可由其他联系导出的联系。
消除冗余的方法:
(1)合并相关实体
(2)消除冗余属性
(3)消除冗余联系
合并相关实体
合并实体时一般选择具有相同主码,或者是具有一对一联系的两个实体合并。
并不是所有的类似情况都一定要进行合并,而是要根据具体情况衡量。
例如:病人和病历实体
消除冗余属性
冗余属性的出现有以下两种情况:
(1)相同的非主属性出现在了几个不同实体中。
(2)一个属性虽然和其他属性没有重复,但是它的值可以通过其他属性值计算或推导得出。
例如:学生实体的出生日期属性和年龄属性
消除冗余联系
冗余联系的出现有以下两种情况。
(1)不同的联系出现在了两个有关联的实体中。
(2)在3个及3个以上有关联实体的E-R图中,2个实体间的联系可以通过其他属性值计算推导得出冗余属性,此时的联系就是冗余联系。
【例5.9】
消除图5.35所示的职工-部门E-R图中存在的冗余联系。
【例5.10】
消除仓库-材料-零件-产品E-R图中存在的冗余联系。

展开更多......

收起↑

资源预览