POWERPOINT 演示文稿 - 数据库设计.ppt
《POWERPOINT 演示文稿 - 数据库设计.ppt》由会员分享,可在线阅读,更多相关《POWERPOINT 演示文稿 - 数据库设计.ppt(132页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 数据库设计本章主要内容本章主要内容u 6.1 数据库设计概述 u 6.2 需求分析 u 6.3 概念设计 u 6.4 逻辑设计 u 6.5 模式求精 u 6.6 物理设计 u 6.7 数据库实施 u 6.8 数据库运行和维护 12/24/20221何谓数据库设计?何谓数据库设计?何谓数据库设计?何谓数据库设计?数据库设计是指对于一个给定的应用环境,构造(设计)数据库设计是指对于一个给定的应用环境,构造(设计)出某种数据库管理系统所支持的优化的数据库逻辑模式和物出某种数据库管理系统所支持的优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地理结构,并据此建立数据库
2、及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据处理要求。要求和数据处理要求。数据库已经成为现代信息系统的基础和核心部分,而数数据库已经成为现代信息系统的基础和核心部分,而数据库设计的好坏直接影响到整个系统的效率和质量。据库设计的好坏直接影响到整个系统的效率和质量。12/24/20222 数据库设计有别于其他软件系统的设计,有其独特的特点以数据为中心。由于DBMS和前台开发技术进步,数据的表现形式可以比较容易的实现。设计人员把注意力放在数据的组织结构和数据处理过程中的流向问题。12/24/20223第
3、6章 数据库设计u 6.1 数据库设计概述 u 6.2 需求分析 u 6.3 概念设计 u 6.4 逻辑设计 u 6.5 模式求精 12/24/20224数据库设计的任务和目标数据库设计的任务和目标 一个成功的管理系统=50%的业务+50%的软件50%的成功软件=25%的数据库设计+25%的程序 数据库设计的任务数据库设计的任务 狭义上讲,就是对某个给定的应用领域,设计优化的数据库逻辑结构和物理结构,并建立数据库。广义地讲是数据库及其应用系统的设计,即设计整个广义地讲是数据库及其应用系统的设计,即设计整个的数据库应用系统。的数据库应用系统。12/24/20225 数据库设计的目标数据库设计的目
4、标 创建一个完整的、尽可能规范化的和完全集成的概念、逻辑和物理数据库模型。具体要达到以下要求:减少有害的数据冗余,提高程序共享性;保证数据的独立性,可修改,可扩充;访问数据库的时间要短;数据库的存储空间要小;要保证数据的安全性和保密性;易于维护。12/24/20226数据库设计的特点数据库设计的特点 三分技术,七分管理,十二分数据三分技术,七分管理,十二分数据 数据库的建设中不仅涉及数据库的设计和开发等技术,也涉及管理问题。这里的管理不仅仅包括项目管理,也包括与该项目关联的企业的业务管理。基础数据的收集、整理是非常繁琐吃力的事情。12/24/20227 数据库结构设计和对数据的处理设计密切结合
5、数据库结构设计和对数据的处理设计密切结合 结构设计:就是设计各级数据库模式,决定数据库系统的信息内容。行为设计:它决定数据库系统的功能,是事务处理等应用程序的设计。12/24/20228现实世界现实世界数据分析数据分析功能分析功能分析概念模型设计概念模型设计逻辑模型设计逻辑模型设计物理数据库设计物理数据库设计子模式设计子模式设计建立数据库建立数据库功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试结构与行为设计分离示意图结构与行为设计分离示意图结构结构设计设计行为行为设计设计12/24/20229数据分析数据分析功能分析功能分析概念
6、模型设计概念模型设计逻辑模型设计逻辑模型设计物理数据库设计物理数据库设计子模式设计子模式设计建立数据库建立数据库数据库数据库功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序调试程序调试程序运行程序运行结构与行为设计结合示意图结构与行为设计结合示意图现实世界现实世界12/24/202210数据库设计方法数据库设计方法 直观设计法直观设计法(手工试凑法手工试凑法)数据库设计只是一种经验的反复实施,而不能称为是一门科学,缺乏科学分析理论基础和工程手段的支持,所以设计质量很难保证。规范设计法规范设计法 (新奥尔良法新奥尔良法)新奥尔良法将数据库设计分成需求分
7、析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。12/24/202211常用的规范设计方法 基于ER模型的数据库设计方法;P.P.S.chen于1976年提出 基于3NF的数据库设计方法;SAtre提出 ODL(Object Definition Language)方法;语义对象模型(Semantic Object)方法。12/24/202212 计算机辅助设计法计算机辅助设计法 计算机辅助设计法是指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分。Oracle 公司开发的 Des
8、igner Sybase公司开发的 PowerDesigner 这些软件简称为CASE(Computer Aided Software Engineering)工具。自动化设计法自动化设计法 12/24/202213数据库设计的步骤数据库设计的步骤 按规范设计法可将数据库设计分为四个阶段:系统需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理设计阶段。而一个完整的数据库系统的开发过程还需增加数据库实施和数据库运行与维护两个阶段。12/24/202214不满意不满意不满意不满意需求收集和分析需求收集和分析应用需求应用需求(数据、处理数据、处理)设计概念结构设计概念结构设计逻辑结构设计逻辑结构
9、数据模型优化数据模型优化设计物理结构设计物理结构评价设计评价设计,性能预测性能预测物理实现物理实现试验性运行试验性运行使用维护数据库使用维护数据库需求分析阶段需求分析阶段概念设计阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段物理设计阶段数据库实施数据库实施数据库运行和维护数据库运行和维护转转 换换 规规 则则、DBMS功功 能能、优化方法优化方法应应用用要要求求、DBMS详详细细特征特征数据库数据库设计设计12/24/202215设计阶设计阶段段设计设计描述描述数据数据处处理理需求分析需求分析数据字典、数据数据字典、数据项项、数据流、数据流、数据存数据存储储的描述的描述数据流数据流图图和
10、判定和判定树树、数据字、数据字典中典中处处理理过过程的描述程的描述概念概念结结构构设计设计概念模型概念模型(ER(ER图图)、数据字典、数据字典系系统说统说明明书书 (系系统统要求、方要求、方案、概案、概图图、数据流、数据流图图)逻辑结逻辑结构构设计设计某种数据模型某种数据模型(如关系如关系)系系统结统结构构图图(模模块结块结构构)物理物理设计设计存存储储安排、方法安排、方法选择选择、存取、存取路径建立路径建立模模块设计块设计实实施施阶阶段段编编写模式、装入数据、数据写模式、装入数据、数据库试库试运行运行程序程序编码编码、编译联结编译联结、测试测试运行运行维护维护性能性能监测监测、转储转储/恢
11、复、数据恢复、数据库库重重组组和重构和重构新旧系新旧系统转换统转换、运行、运行、维护维护12/24/202216第6章 数据库设计u 6.1 数据库设计概述 u 6.2 需求分析 u 6.3 概念设计 u 6.4 逻辑设计 u 6.5 模式求精 12/24/202217需求分析的任务需求分析的任务 对现实世界要处理的对象(组织、部门、企业等)进行详细的调查,通过对原系统的了解,收集支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。调查分析用户的活动调查分析用户的活动 调查组织机构情况,调查各部门的业务活动情况。收集和分析需求数据,确定系统边界收集和分析需求数据,确定系统边界 信息
12、需求;处理需求;安全性;完整性的需求 12/24/202218编写需求分析说明书编写需求分析说明书 (系统分析报告)(1)系统概况,系统的目标、范围、背景、历史和现状;(2)系统的原理和技术,对原系统的改善;(3)系统总体结构与子系统结构说明;(4)系统功能说明;(5)数据处理概要、工程体制和设计阶段划分;(6)系统方案及技术、经济、功能和操作上的可行性 12/24/202219随系统分析报告要提供下列附件:(1)系统的硬件、软件支持环境的选择及规格要求(所选择的数据库管理系统、操作系统、汉字平台、计算机型号及其网络环境等)。(2)组织机构图、组织之间联系图及各机构功能业务一览图。(3)数据流
13、程图、功能模块图和数据字典等图表。12/24/202220需求分析的方法 主要方法有自顶向下和自底向上两种。(a)自顶向下的需求分析(b)自底向上的需求分析需求需求需求需求需求需求需求需求需求需求需求需求需求需求 需求分析的方法需求分析的方法12/24/202221自顶向下的分析方法(Structured Analysis,简称SA方法)是最简单实用的方法。SA方法从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图(Data Flow Diagram,DFD)和数据字典(Data Dictionary,DD)描述。12/24/202222 数据流图表达了数据和处理过程
14、的关系。在数据流图中,用命名的箭头表示数据流,用圆圈表示处理,用矩形或其他形状表示数据的存储。数据流数据流数据存储数据来源处理数据输出处理需求信息需求数据流图数据流图12/24/202223读者读者借书登记借书登记资格核查资格核查借书单借书单书籍书籍一个简单的系统可用一张数据流图来表示。当系统比较复杂时,为了便于理解,控制其复杂性,可以采用分层描述的方法。一般用第一层描述系统的全貌,第二层分别描述各子系统的结构。12/24/202224 数据字典是对系统中数据的详细描述,是各类数据结构和属性的清单。它与数据流图互为注释。数据字典贯穿于数据库需求分析直到数据库运行的全过程,在不同的阶段其内容和用
15、途各有区别。在需求分析阶段,数据字典通常包含以下五部分内容:在需求分析阶段,数据字典通常包含以下五部分内容:数据项数据项 数据项是数据的最小单位,其具体内容包括:数据项名、含义说明、别名、类型、长度、取值范围、与其他数据项的关系。12/24/202225数据结构数据结构 数据结构是数据项有意义的集合。内容包括:数据结构名、含义说明,这些内容组成数据项名。数据流数据流 数据流可以是数据项,也可以是数据结构,它表示某一处理过程中数据在系统内传输的路径。内容包括:数据流名、说明、流出过程、流入过程,这些内容组成数据项或数据结构。12/24/202226数据存储数据存储 处理过程中数据的存放场所,也是
16、数据流的来源和去向之一。可以是手工凭证,手工文档或计算机文件。处理过程处理过程 处理过程的处理逻辑通常用判定表或判定树来描述,数据字典只用来描述处理过程的说明性信息。12/24/202227 需求分析得到的DFD图集和数据字典中的内容必须返回用户,并且用非专业术语与用户交流。在反馈时,设计者与用户一起检查与修改那些没有如实反映现实世界的错误或遗漏。修改DFD图、补充数据字典的过程可能需要反复多次,最终取得用户的认可。最终形成的数据流图和数据字典为“需求分析说明书”的主要内容,这是下一步进行概念设计的基础。也是将来系统维护的基础。12/24/202228需求分析过程中要注意的点:需求分析过程中要
17、注意的点:第一,应用部门的业务人员常常缺少计算机的专业知识,而数据库设计人员又常常缺乏应用领域的业务知识,因此相互的沟通往往比较困难。第二,不少业务人员往往对开发计算机系统有不同程度的抵触情绪。有的认为需求调查影响了他们的工作,给他们造成了负担,特别是新系统的建设常常伴随企业管理的改革,这会遇到不同部门不同程度的抵触。12/24/202229 第三,应用需求常常在不断改变,使系统设计也常常要进行调整甚至要有重大改变。面对这些困难,设计人员特别应该注意:1用户参与的重要性 2用原型法来帮助用户确定他们的需求 3预测系统的未来改变12/24/202230第6章 数据库设计u 6.1 数据库设计概述
18、 u 6.2 需求分析 u 6.3 概念设计 u 6.4 逻辑设计 u 6.5 模式求精 12/24/202231 概念设计就是将需求分析得到的用户需求抽象为信息结构,即概念(语义)数据模型(简称概念模型)。概念模型作为概念设计的表达工具,为数据库提供一个说明性结构,是设计数据库逻辑结构(逻辑模型)的基础。概念模型必须具备以下特点:语义表达能力丰富;易于交流和理解;易于修改和扩充;易于向各种数据模型转换。12/24/202232人们提出了许多概念模型,如语义对象模型(Semantic Object Model,简称SOM)、实体关系(Entity-Relationship,简称ER)模型等。目
19、前应用最普遍的是实体关系模型,它将现实世界的信息结构统一用属性、实体以及它们之间的联系来描述。12/24/202233实体关系模型12/24/202234基本概念基本概念实体实体 (Entity)(Entity)。客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。属性属性 (Attribute)(Attribute)。属性为实体的某一方面特征的抽象表示。如教师实体可由教师编号、姓名、年龄、性别、职称等属性来刻画。域域 (Domain)(Domain)。属性的取值范围称为属性的域。如:教师实体中,属性性别的域为男和女。12/24/202235主码主码 (P
20、rimary Key)(Primary Key)。码也称关键字,它是能够唯一标识一个实体的属性集。如:教师实体的主码为教师编号。联系联系 (Relationship)(Relationship)。现实世界的事物总是存在着这样或那样的联系,这种联系必然要在信息世界中得到反映。事物之间的联系可分为两类:一类是实体内部的联系,如组成实体的各属性之间的关系;另一类是实体之间的联系,即不同实体之间的联系。12/24/202236两个实体集之间的联系两个实体集之间的联系 1:1 1:1 联系:联系:如果对于A中的一个实体,B中至多有一个实体与其发生联系,反之,B中的每一实体至多对应A中一个实体,则称A与B
21、是1:1联系。1:n 1:n 联系:联系:如果对于A中的每一实体,实体B中有一个以上实体与之发生联系,反之,B中的每一实体至多只能对应于A中的一个实体,则称A与B是1:n联系。m:nm:n 联系:联系:如果A中至少有一实体对应于B中一个以上实体,反之,B中也至少有一个实体对应于A中一个以上实体,则称A与B为m:n联系。12/24/202237两个实体集之间的类联系12/24/202238联系的强度联系的强度 联系的强度反应的是联系框架内的存在依赖性。如果一个实体的存在依赖于一个或更多的实体,就称作存在依赖。否则就称作存在独立,由此联系有弱联系和强联系之分。弱联系(非标识联系):相关实体是存在独
22、立的,即相关实体的主码不包含父实体主码的组成部分 。例如:课程(课程编号,课程名,开课系别,学分)班级(班级编号,课程编号,开课学期,学时)12/24/202239 强联系(可标识联系):相关实体是存在依赖的.即相关实体的主码包含父实体的主码组成部分。例如:课程(课程编号,课程名,开课系别,学分)班级(班级编号,课程编号,开课学期,学时)主码主码12/24/202240实体关系模型的表示方法实体关系模型的表示方法 ER图是直观表示概念模型的工具,ER图的基本思想就是分别用矩形框、椭圆形框和菱形框表示实体、属性和联系,使用无向边将属性与其相应的实体连接起来,并将联系分别和有关实体相连接,注明联系
23、类型。班级班长管理11班级学生拥有1n学生课程选课mn12/24/202241概念设计方法概念设计方法设计概念结构的ER模型可采用自顶向下、自底向上、逐步扩张和混合策略四种方法。其中最常用的方法是自底向上。自底向上方法是先定义各局部应用的概念结构ER模型,然后将它们集成,得到全局概念结构ER模型。12/24/202242 例例6.16.1 在简单的教务管理系统中,有如下语义约束:一个学生可选修多门课程,一门课程可被多个学生选修。因此学生和课程之间是多对多的联系;一个教师可讲授多门课程,一门课程可以由多个教师讲授。因此教师和课程之间也是多对多的联系;一个系可有多个教师,一个教师只能属于一个系。因
24、此系和教师是之间一对多的联系,同样系和学生之间也是一对多的联系。12/24/202243nm名称名称系系开课开课拥有拥有m学生学生m选修选修课程课程教师号教师号课程名课程名成绩成绩性别性别年龄年龄平均成绩平均成绩课程号课程号学号学号姓名姓名学生选课局部学生选课局部ERER图图12/24/202244教师任课局部教师任课局部E-RE-R图图1m教师教师号号姓名姓名性别性别职称职称课程课程号号教师教师讲讲授授课程课程n属属于于单位单位单位单位名名电话电话m12/24/202245 例例6.26.2 以例6.1中教务管理系统的两个局部ER图为例,来说明如何消除各局部ER图之间的冲突,进行局部ER模型
25、的合并,从而生成初步ER图。首先,这两个局部ER图中存在着命名冲突,学生选课局部ER图中的系实体与教师任课局部ER图中的单位实体,都是指“系”,即所谓的异名同义,合并后统一改为“系”,这样属性“名称”和“单位名”即可统一为“系名”。12/24/202246其次,还存在着结构冲突,实体“系”和实体“课程”在两个不同应用中的属性组成不同,合并后这两个实体的属性组成为原来局部ER图中的同名实体属性的并集。解决上述冲突后,合并两个局部ER图,生成如下图所示的初步的全局ER图。12/24/202247mn1系系属于属于教师教师拥有拥有学生学生开课开课讲授讲授选修选修课程课程mmnm1m1学号学号姓名姓名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- POWERPOINT 演示文稿 数据库设计 演示 文稿 数据库 设计
限制150内