Download presentation
Presentation is loading. Please wait.
1
MMS2实训 数据库设计
2
学习内容 6.1 数据库设计概述 6.1 数据库设计概述 6.2 概念数据库设计 6.3 逻辑数据库设计 6.4 物理数据库设计
6.5 数据库实施 6.6 数据库运行和维护 6.1 数据库设计概述
3
6.1 数据库设计概述 数据库设计的任务 数据库设计是指根据用户需求研制数据库结构的过程,具体地说,是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能有效的存储数据,满足用户的信息要求和处理要求。 也就是把现实世界中的数据,根据各种应用处理的要求,加以合理地组织,满足硬件和操作系统的特性,利用已有的DBMS来建立能够实现系统目标的数据库。
4
6.1 数据库设计概述 数据库设计的内容:结构设计+行为设计 数据库的结构设计 数据库的行为设计
根据给定的应用环境,进行数据库的模式/子模式的设计。 它包括数据库的概念设计、逻辑设计和物理设计。 数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计 数据库的行为设计 是指确定数据库用户的行为和动作。而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。 用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计
5
6.1 数据库设计概述 数据库设计的特点: 硬件、软件与干件(技术与管理的界面)相结合 结构设计与行为设计相结合 反复设计、逐步求精 多解性
6
6.1 数据库设计概述 数据库设计的方法: 数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。
直观设计法也叫手工试凑法。 1978年10月,来自三十多个国家的数据库专家在美国新奥尔良(New Orleans)市专门讨论了数据库设计问题,他们运用软件工程的思想和方法,提出了数据库设计的规范,这就是著名的新奥尔良法,它是目前公认的比较完整和权威的一种规范设计法。新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。
7
6.1 数据库设计概述 基于E-R模型的数据库设计方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体—联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。 基于3NF的数据库设计方法是由S·Atre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。
8
6.1 数据库设计概述 基于视图的数据库设计方法:此方法先从分析各个应用的数据着手,其基本思想是为每个应用建立自己的视图,然后再把这些视图汇总起来合并成整个数据库的概念模式。 除了以上三种方法外,规范化设计方法还有实体分析法、属性分析法和基于抽象语义的设计方法等。 规范设计法从本质上来说仍然是手工设计方法,其基本思想是过程迭代和逐步求精。
9
6.1 数据库设计概述 计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。 目前许多计算机辅助软件工程(Computer Aided Software Engineering,CASE)工具可以自动或辅助设计人员完成数据库设计过程中的很多任务.比如SYSBASE公司的PowerDesigner和Oracle公司的Design 2000。
10
6.1 数据库设计概述 数据库设计的步骤 “数据库设计的生存期” 按规范设计法可将数据库设计分为六个阶段: 系统需求分析阶段
概念结构设计阶段 逻辑结构设计阶段 物理设计阶段 数据库实施阶段 数据库运行与维护阶段
11
确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等 将概念模型所描述的数据映射为某个特定的DBMS模式数据
6.1 数据库设计概述 确定存储哪些数据,建立哪些应用,常用的操作及对象有哪些等 需求分析 ER模型 对需求分析所得到数据的更高层的抽象描述 概念数据库设计 将概念模型所描述的数据映射为某个特定的DBMS模式数据 逻辑数据库设计 物理数据库设计
12
6.1 数据库设计概述 需求分析是整个数据库设计过程的基础,要收集数据库所有用户的信息内容和处理要求,并加以规格化和分析。这是最费时、最复杂的一步,但也是最重要的一步,相当于待构建的数据库大厦的地基,它决定了以后各步设计的速度与质量。需求分析做得不好,可能会导致整个数据库设计返工重做。在分析用户需求时,要确保用户目标的一致性。 概念设计是把用户的信息要求统一到一个整体逻辑结构中,此结构能够表达用户的要求,是一个独立于任何DBMS软件和硬件的概念模型。 逻辑设计是将上一步所得到的概念模型转换为某个DBMS所支持的数据模型,并对其进行优化。
13
6.1 数据库设计概述 物理设计是为逻辑数据模型建立一个完整的能实现的数据库结构,包括存储结构和存取方法。
在实施阶段,根据物理设计的结果把原始数据装入数据库,建立一个具体的数据库并编写和调试相应的应用程序。应用程序的开发目标是开发一个可依赖的有效的数据库存取程序,来满足用户的处理要求。 运行和维护阶段:这一阶段主要是收集和记录实际系统运行的数据,数据库运行的记录用来提高用户要求的有效信息,用来评价数据库系统的性能,进一步调整和修改数据库。在运行中,必须保持数据库的完整性,并能有效地处理数据库故障和进行数据库恢复。在运行和维护阶段,可能要对数据库结构进行修改或扩充。
14
6.1 数据库设计概述 设计阶段 设 计 描 述 数据 处理 需求分析 数据字典、全系统中数据项、 数据流、数据存储的描述
数据流图和定表(判定树) 数据字典中处理过程的描述 概念结构设 计 概念模型(E-R图) 数据字典 系统说明书。包括: (1) 新系统要求、方案和概图 (2) 反映新系统信息的数据流图 逻辑结构设 计 某种数据模型 关系模型 系统结构图 非关系模型(模块结构图) 物理设计 存储安排 存取方法选择 存取路径建立 模块设计 IPO表 实施阶段 编写模式 装入数据 数据库试运行 程序编码 编译联结 测试 运行维护 性能测试,转储/恢复数据库 重组和重构 新旧系统转换、运行、维护(修正性、适应性、改善性维护)
15
第6章 数据库设计 6.1 数据库设计概述 6.2 需求分析 6.2 需求分析 6.3 概念数据库设计 6.4 逻辑数据库设计
6.5 物理数据库设计 6.6 数据库实施 6.7 数据库运行和维护 6.2 需求分析
16
6.2 需求分析 需求分析是数据库设计的起点,为以后的具体设计作准备。
需求分析的结果是否准确的反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。 经验证明,由于设计要求的不正确或误解,直到系统测试阶段才发现许多错误,则纠正起来要付出很大代价。
17
6.2 需求分析 需求分析的任务 需求分析的方法 需求分析的步骤 需求分析阶段文档
18
6.2 需求分析 需求分析的任务 需求分析就是从系统数据处理加工的工程中抽象并描述出系统的概念模型,为系统的实现做准备。
了解系统数据来源、流向、处理过程、处理结果均是需求分析阶段必须完成的工作。 功能需求 信息需求 完整性、安全性需求 提交需求说明文档
19
6.2 需求分析
20
6.2 需求分析 功能需求: 系统维护子系统 身份认证管理 模块代码维护 用户管理 角色管理 角色分配 操作日志管理 权限管理 用户密码管理
21
6.2 需求分析 功能与信息: 管理员 角色管理 模块代码维护 用户管理 角色分配 角色登记表 模块登记表 用户与角色对照表 用 户 文 件
权限登记表 密码管理 认证管理 权限管理 操作日志管理 管理员 日 志 文 件
22
6.2 需求分析 需求分析的方法 1. 方法分类 面向数据的方法 着眼于数据对现实世界的描述作用。 面向过程的方法
着眼于数据在各项功能活动中被加工变换的流程。 2. 结构化分析(SA)方法简介 工具:数据流程图、数据字典
23
6.2 需求分析 数据流程图 处理过程 数据流 数据流的终点或源点 存储池
24
6.2 需求分析 数据流 数据存储 数据来源 处理 数据输出 处理需求 信息需求
25
6.2 需求分析 报销登记 付款凭证 报销单 报销人 审查分录
26
6.2 需求分析 数据字典:是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。
数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用途各有区别。 在需求分析阶段,它通常包含以下五部分内容。 (1) 数据项 数据项是数据的最小单位,其具体内容包括:数据顶名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。 其中,取值范围、与其他数据项的关系这两项内容定义了完整性约束条件,是设计数据检验功能的依据。 (2) 数据结构 数据结构是数据项有意义的集合。内容包括:数据结构名、含义说明,这些内容组成数据项名。
27
6.2 需求分析 (3) 数据流 (4) 数据存储 数据流可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。
内容包括:数据流名、说明、流出过程、流入过程,这些内容组成数据项或数据结构。 其中,流出过程说明该数据流由什么过程而来;流入过程说明该数据流到什么过程。 (4) 数据存储 处理过程中数据的存放场所,也是数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。 包括{数据存储名,说明,输入数据流,输出数据流,组成:{数据项或数据结构},数据量,存取频度,存取方式}。 存取方法:批处理/联机处理;检索/更新
28
6.2 需求分析 (5) 处理过程 处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。
处理过程包括{处理过程名,说明,输入:{数据流},输出:{数据流},处理,{简要说明}}。 简要说明:说明处理过程的功能及处理要求。 功能是指该处理过程用来做什么(不是怎么做),处理要求指该处理频度要求,如单位时间里处理多少事务、多少数据量、响应时间要求等,这些处理要求是后面物理设计的输入及性能评价的标准。
29
6.2 需求分析 需求分析的步骤 调查组织结构 ===〉系统的管理模式 ===〉各部门功能 调查各部门业务活动 、职责 ===〉信息流程
调查组织结构 ===〉系统的管理模式 ===〉各部门功能 调查各部门业务活动 、职责 ===〉信息流程 收集各种静态信息 ====〉原系统的信息存储 新系统的功能 新系统的边界
30
6.2 需求分析 常用的需求分析调查方法 跟班作业 开调查座谈会 请用户介绍 提问 设计调查问卷请用户填写 查阅历史纪录
在实际操作中往往是若干种方式同时进行
31
6.2 需求分析 需求分析阶段结束时,应提供的文档包括: 系统组织结构图; 数据流图; 数据字典; 数据处理流程图等 需求规格说明书
32
6.2 需求分析 需求分析小结 概念设计 需求分析 调查组织机构 熟悉业务活动 确定系统边界 明确用户要求 用户 系统分析员 DFD DD
用户 系统分析员 DFD DD 。。。
33
MMS2实训--数据库设计 6.1 数据库设计概述 6.2 需求分析 6.3 概念结构设计 6.4 逻辑结构设计 6.5 物理设计
6.6 数据库实施 6.7 数据库运行和维护 6.3 概念结构设计
34
6.3 概念结构设计 概述 概念数据库设计方法与步骤 数据抽象与局部ER图设计 视图集成
35
6.3 概念结构设计 概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念模型。 概念模型的特点:
(1) 语义表达能力丰富。 (2) 易于交流和理解。概念模型是DBA、应用开发人员和用户之间的主要界面,因此,概念模型要表达自然、直观和容易理解,以便和不熟悉计算机的用户交换意见,用户的积极参与是保证数据库设计和成功的关键。 (3) 易于修改和扩充。概念模型要能灵活地加以改变,以反映用户需求和现实环境的变化。 (4) 易于向各种数据模型转换。概念模型独立于特定的DBMS,因而更加稳定,能方便地向关系模型、网状模型或层次模型等各种数据模型转换。 E-R模型:它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。
36
6.3 概念结构设计 概念结构设计的方法 设计概念结构的E-R模型可采用四种方法。
(2) 自底向上。先定义各局部应用的概念结构E-R模型,然后将它们集成,得到全局概念结构E-R模型。 (3) 逐步扩张。先定义最重要的核心概念E-R模型,然后向外扩充,以滚雪球的方式逐步生成其他概念结构E-R模型。 (4) 混合策略。该方法采用自顶向下和自底向上相结合的方法,先自顶向下定义全局框架,再以它为骨架集成自底向上方法中设计的各个局部概念结构。 其中最常用的方法是自底向上。即自顶向下地进行需求分析,再自底向上地设计概念结构。
37
6.3 概念结构设计 核心需求 需求 核心 概念结构 非核心 结构 全局概念 总需求 全局概念模式 概念模式 …
38
6.3 概念结构设计 … 子需求 概念模式 全局概念模式
39
6.3 概念结构设计 自底向上方法的设计步骤 DFD、DD 需求分析 数据抽象、 局部视图设计 局部E-R图 征求用户意见 视图集成
逻辑结构设计 自底向上方法的设计步骤
40
6.3 概念结构设计 概念结构设计的步骤: 自底向上的设计方法可分为两步: (1) 进行数据抽象,设计局部E-R模型,即设计用户视图。
(2) 集成各局部E-R模型,形成全局E-R模型,即视图的集成。
41
6.3 概念结构设计 (1) 数据抽象 在系统需求分析阶段,最后得到了多层数据流图、数据字典和系统分析报告。建立局部E-R模型,就是根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点,让这组图中毎一部分对应一个局部应用。在前面选好的某一层次的数据流图中,每个局部应用都对应了一组数据流图,局部应用所涉及的数据存储在数据字典中。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,确定每个局部应用包含哪些实体,这些实体又包含哪些属性,以及实体之间的联系及其类型。 一般有两种数据抽象:分类和聚集。
42
6.3 概念结构设计 ①分类(Classification) ②聚集(Aggregation)
分类定义某一类概念作为现实世界中一组对象的类型,将一组具有某些共同特性和行为的对象抽象为一个实体。对象和实体之间是“is member of”的关系。 例如,在教学管理中,“赵亦”是一名学生,表示“赵亦”是学生中的一员,她具有学生们共同的特性和行为。 ②聚集(Aggregation) 聚集定义某一类型的组成成份,将对象类型的组成成份抽象为实体的属性。组成成份与对象类型之间是“is part of”的关系。 例如,学号、姓名、性别、年龄、系别等可以抽象为学生实体的属性,其中学号是标识学生实体的主键。
43
6.3 概念结构设计 概括/特殊化 特殊化用标记为ISA的三角形来表示,表示高层实体和低层实体之间的“父类-子类”联系 姓名 学号
本科生 研究生 学生 ISA 硕士 博士 姓名 学号 Dissertation Papers 军训
44
6.3 概念结构设计 (2) 局部E-R模型设计 数据抽象后得到了实体和属性,实际上实体和属性是相对而言的,往往要根据实际情况进行必要的调整。在调整中要遵循两条原则: ①实体具有描述信息,而属性没有。即属性必须是不可分的数据项,不能再由另一些属性组成。 ②属性不能与其他实体具有联系,联系只能发生在实体之间。 例如:学生(学号、姓名、性别、年龄、系别) ,系别只表示学生属于哪个系,不涉及系的具体情况,换句话说,没有需要进一步描述的特性,即是不可分的数据项,则根据原则①可以作为学生实体的属性。但如果考虑一个系的系主任、学生人数、教师人数、办公地点等,则系别应看作一个实体。 又如,“职称”为教师实体的属性,但在涉及住房分配时,由于分房与职称有关,即职称与住房实体之间有联系,则根据原则②,职称应作为一个实体。
45
6.3 概念结构设计 系别作为一个属性或实体 学生 n 学生 系别 属于 1 m 姓名 性别 年龄 学号 系主任 学生人数 教师人数
学生 学生 系别 属于 n 1 m 姓名 性别 年龄 学号 系主任 学生人数 教师人数 办公地点 系别作为一个属性或实体
46
6.3 概念结构设计 聘任 教师 n 1 职称 分配 住房 姓名 性别 职称作为一个属性或实体
47
6.3 概念结构设计 ER图设计要点复习 1. 实体集,属性 职工 姓名 电话 适于一个员工只有一部电话的情况 职工 电话 联系 姓名 号码
地址 适于多个员工共有一部电话,一个员工多个电话,电话本身具有多个属性的情况
48
6.3 概念结构设计 实体有多方面性质,属性没有 项目 名称 城市 项目 城市 位于 名称 面积 人口
49
6.3 概念结构设计 2. 实体集,属性一般的区分原则 实体一般都有描述信息,而属性不一定 多值的对象类可考虑作为实体
一个对象类的某一个描述项如果和另一个对象类存在多对一的关系,那么即使它本身没有描述信息,也宜将这个描述项作为实体 使用组合标识的对象类,如果组成这个标识的成分都是其他对象类的标识,一般应定义为联系,但如果不是,则可根据情况定义为实体
50
6.3 概念结构设计 3. 实体集 Vs. 联系 存在性联系 系有学生,学生有课程,课程有成绩 功能性联系 教师教学生,工程师参与工程
事件联系 顾客发出订单,学生借书
51
6.3 概念结构设计 4. 联系的确定 ① 1:1时:取任何一方的KEY为联系的KEY ② 1:m时:取“m”方KEY为联系实体的KEY
③ m:n时:取“双方”KEY为联系实体的KEY
52
6.3 概念结构设计 局部ER图设计总结 需求分析结果 确定局部结构范围 实体定义 联系定义 属性分配 全局E-R模式设计
53
6.3 概念结构设计 4.全局E-R模型设计:视图的集成 ①多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。
②二元集成法,首先集成两个重要的局部视图,以后用累加的方法逐步将一个新的视图集成进来。在实际应用中,可以根据系统复杂性选择这两种方案。一般采用逐步集成的方法,如果局部视图比较简单,可以采用多元集成法。一般情况下,采用二元集成法,即每次只综合两个视图,这样可降低难度。无论使用哪一种方法,视图集成均分成两个步骤: 合并.消除各局部E-R图之间的冲突,生成初步E-R图。 优化.消除不必要的冗余,生成基本E-R图。
54
6.3 概念结构设计 … (a) 多元集成法 局部E-R图1 局部E-R图2 局部E-R图n 初步E-R图 基本E-R图 合并E-R图12
(b) 二元集成法
55
6.3 概念结构设计 基本E-R图 局部E-R图 集成视图 合并 修改与重构(消除不必要的冗余) (消除冲突) 规范化理论 分析
初步E-R图
Similar presentations