db-chapter07数据库设计.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《db-chapter07数据库设计.ppt》由用户(hwpkd79526)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- db_chapter07 数据库 设计
- 资源描述:
-
1、2023年4月29日星期六数据库系统原理1主讲:张中军主讲:张中军河南周口师范学院计算机科学系河南周口师范学院计算机科学系 第七章第七章 数据库设计数据库设计数据库系统概论数据库系统概论An Introduction to Database System2023年4月29日星期六数据库系统原理2第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3 概念结构设计概念结构设计7.4 逻辑结构设计逻辑结构设计7.5 数据库的物理设计数据库的物理设计7.6 数据库实施和维护数据库实施和维护2023年4月29日星期六数据库系统原理37.1 数据库设计概述数
2、据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式2023年4月29日星期六数据库系统原理4数据库设计概述数据库设计概述n数据库数据库是长期存储在计算机内的有组织、可共享的数据集是长期存储在计算机内的有组织、可共享的数据集合,是现代信息系统等计算机应用系统的核心和基础。合,是现代信息系统等计算机应用系统的核心和基础。n数据库应用系统数据库应用系统是根据是根据DBMS所支持的数据模型将数据组织所支持的数据模型将数据组织起来,为用户提供数
3、据存储、维护、检索的功能,并能使起来,为用户提供数据存储、维护、检索的功能,并能使用户方便、及时、准确地从数据库获得所需要的数据和信用户方便、及时、准确地从数据库获得所需要的数据和信息,息,n数据库设计的好坏则直接影响着整个数据库系统的效率和数据库设计的好坏则直接影响着整个数据库系统的效率和质量质量。2023年4月29日星期六数据库系统原理5数据库设计概述数据库设计概述(续续)n什么是数据库设计什么是数据库设计n数据库设计数据库设计:指对于一个给定的应用环境,构造(设计)指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及优化的数据库逻辑模式和物理结构,并据
4、此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。用户的应用需求,包括信息管理要求和数据操作要求。n信息需求信息需求:表示用户所需要的数据及其结构,包括实体、表示用户所需要的数据及其结构,包括实体、属性、数据之间的联系,是静态要求;属性、数据之间的联系,是静态要求;n处理需求处理需求:表示用户经常需要进行的数据处理表示用户经常需要进行的数据处理(含对数据含对数据库将要进行的数据处理,操作的优先次序、操作执行库将要进行的数据处理,操作的优先次序、操作执行的频率和场合,操作与数据之间的联
5、系等,如报表生的频率和场合,操作与数据之间的联系等,如报表生成、月汇总等成、月汇总等),是动态要求。,是动态要求。2023年4月29日星期六数据库系统原理6数据库设计概述数据库设计概述(续续)n数据库设计的成果包括两个方面数据库设计的成果包括两个方面n数据模式数据模式n以数据库为基础的典型应用程序以数据库为基础的典型应用程序n最基本的成果是数据模式。数据模式的设计必须反映数最基本的成果是数据模式。数据模式的设计必须反映数据处理的需求,以保证常用的、大多数据处理的需求,以保证常用的、大多数的数据处理能使的数据处理能使用方便,性能满意用方便,性能满意n数据库设计的数据库设计的目标目标n为用户和各种
6、应用系统提供一个信息基础设施和高效的为用户和各种应用系统提供一个信息基础设施和高效的运行环境运行环境.(即即存取效率存取效率高、存储空间的高、存储空间的利用率利用率高高,数据库数据库系统系统运行管理效率运行管理效率高高)2023年4月29日星期六数据库系统原理7数据库设计概述数据库设计概述(续续)n为什么说数据库设计在应用系统开发中起着重要的作用?为什么说数据库设计在应用系统开发中起着重要的作用?n不合适数据库设计,检索某些类型的信息是困难的或可不合适数据库设计,检索某些类型的信息是困难的或可能得到不正确的检索信息。能得到不正确的检索信息。n不合适的数据库设计导致不正确的信息,不正确的信息不合
7、适的数据库设计导致不正确的信息,不正确的信息会影响一个单位正常的使用这些数据会影响一个单位正常的使用这些数据 n数据库中的数据应该具有数据库中的数据应该具有一致性一致性、完整性完整性和和正确性正确性2023年4月29日星期六数据库系统原理8数据库设计概述数据库设计概述(续续)n数据库设计与应用程序设计不同:数据库设计与应用程序设计不同:n数据库设计是程序设计的基础,数据库设计的好坏直接数据库设计是程序设计的基础,数据库设计的好坏直接影响着应用程序的性能影响着应用程序的性能n应用程序设计是针对某一特定的数据库应用进行设计的,应用程序设计是针对某一特定的数据库应用进行设计的,其基本任务是明确数据的
8、组织、绘制数据流程图、设计其基本任务是明确数据的组织、绘制数据流程图、设计用户界面以及应用程序的测试与审查等用户界面以及应用程序的测试与审查等n从事数据库设计的专业人员应该具备的技术和知识从事数据库设计的专业人员应该具备的技术和知识:n计算机科学基础知识和程序设计技术计算机科学基础知识和程序设计技术n数据库的基本知识和数据库设计技术数据库的基本知识和数据库设计技术n软件工程的原理和方法软件工程的原理和方法n应用领域的知识应用领域的知识2023年4月29日星期六数据库系统原理9数据库设计的特点数据库设计的特点n数据库设计的数据库设计的特点特点n反复性反复性n数据库的设计是一个反复数据库的设计是一
9、个反复推敲推敲、修改修改、逐步、逐步完善完善的过程的过程n通常,数据库设计分为多个阶段,前一阶段的设计是后通常,数据库设计分为多个阶段,前一阶段的设计是后一阶段设计的起点,而后一阶段设计也会要求修改前一一阶段设计的起点,而后一阶段设计也会要求修改前一阶段的设计,使设计趋于更加合理。阶段的设计,使设计趋于更加合理。n试探性试探性n受到用户需求、软硬件环境等方面的制约,不同的设计受到用户需求、软硬件环境等方面的制约,不同的设计人员对各种需求的重视程度不同,导致不同的设计结果人员对各种需求的重视程度不同,导致不同的设计结果n数据库设计的结果不是惟一的,哪一种设计能更好地满数据库设计的结果不是惟一的,
10、哪一种设计能更好地满足用户的需求,取决于设计人员的经验和试探的结果足用户的需求,取决于设计人员的经验和试探的结果2023年4月29日星期六数据库系统原理10数据库设计的特点数据库设计的特点(续续)n多阶段性多阶段性n数据库的设计常常由不同的人员分阶段完成数据库的设计常常由不同的人员分阶段完成n这样做的目的有两个这样做的目的有两个n一是技术上分工的需要一是技术上分工的需要n二是分阶段把关、逐级审查,保证设计质量和进度。二是分阶段把关、逐级审查,保证设计质量和进度。n多技术性多技术性n数据库的设计要充分考虑硬件、软件环境和用户需求数据库的设计要充分考虑硬件、软件环境和用户需求n数据库的设计也要和应
11、用系统的设计相结合,整个设计数据库的设计也要和应用系统的设计相结合,整个设计过程中要把过程中要把结构结构(数据)设计和(数据)设计和行为行为(处理)设计密切(处理)设计密切结合起来结合起来2023年4月29日星期六数据库系统原理11数据库设计的特点数据库设计的特点(续续)数据库建设的基本规律之一数据库建设的基本规律之一三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据管理内容:数据库建设的项目管理、企业的业务管理管理内容:数据库建设的项目管理、企业的业务管理数据库建设的基本规律之二数据库建设的基本规律之二数据库结构设计和数据处理设计密切结合数据库结构设计和数据处理设计密切结合
12、基础数据:基础数据:(1)系统初始状态数据的收集和入库)系统初始状态数据的收集和入库(2)系统运行过程中数据更新的维护)系统运行过程中数据更新的维护2023年4月29日星期六数据库系统原理12数据库设计的特点数据库设计的特点(续续)现实世界现实世界概念模型设计概念模型设计子模式设计子模式设计物理数据库设计物理数据库设计逻辑数据库设计逻辑数据库设计建立数据库建立数据库数据分析数据分析功能分析功能分析功能模型功能模型功能说明功能说明事务设计事务设计程序说明程序说明应用程序设计应用程序设计程序编码调试程序编码调试结构和行为分离结构和行为分离的设计模式的设计模式2023年4月29日星期六数据库系统原理
13、13数据库设计方法(续)数据库设计方法(续)n新奥尔良(新奥尔良(New Orleans)方法)方法将数据库设计分为若干阶段和步骤将数据库设计分为若干阶段和步骤 n基于基于E-R模型的数据库设计方法模型的数据库设计方法概念设计阶段广泛采用概念设计阶段广泛采用n3NF(第三范式)的设计方法(第三范式)的设计方法逻辑阶段可采用的有效方法逻辑阶段可采用的有效方法 nODL(Object Definition Language)方法)方法面向对象的数据库设计方法面向对象的数据库设计方法2023年4月29日星期六数据库系统原理14数据库设计方法(续)数据库设计方法(续)n计算机辅助设计计算机辅助设计nO
14、RACLE Designer 2000nSYBASE PowerDesigner2023年4月29日星期六数据库系统原理157.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式2023年4月29日星期六数据库系统原理167.1.3 数据库设计的基本步骤数据库设计的基本步骤n数据库设计分数据库设计分6个阶段个阶段n需求分析需求分析n概念结构设计概念结构设计n逻辑结构设计逻辑结构设计n物理结构设计物理结构设计n数据库
15、实施数据库实施n数据库运行和维护数据库运行和维护 n需求分析和概念设计独立于任何数据库管理系统需求分析和概念设计独立于任何数据库管理系统 n逻辑设计和物理设计与选用的逻辑设计和物理设计与选用的DBMS密切相关密切相关2023年4月29日星期六数据库系统原理17数据库设计的基本步骤(续)数据库设计的基本步骤(续)一、数据库设计的准备工作:一、数据库设计的准备工作:选定参加设计的人选定参加设计的人1.系统分析人员、数据库设计人员系统分析人员、数据库设计人员 n自始至终参与数据库设计自始至终参与数据库设计2.用户和数据库管理员用户和数据库管理员 n主要参加需求分析和数据库的运行维护主要参加需求分析和
16、数据库的运行维护3.应用开发人员(程序员和操作员)应用开发人员(程序员和操作员)n在系统实施阶段参与进来,负责编制程序和准备软硬件在系统实施阶段参与进来,负责编制程序和准备软硬件环境环境 2023年4月29日星期六数据库系统原理18数据库设计的步骤数据库设计的步骤n可行性分析可行性分析设计之前的工作设计之前的工作n是数据库设计的起点,它规定了数据库系统的功能、可是数据库设计的起点,它规定了数据库系统的功能、可以使用的软硬件资源等数据库设计的具体要求以使用的软硬件资源等数据库设计的具体要求 n可行性分析完成后,应写出详细的可行性分析报告,其可行性分析完成后,应写出详细的可行性分析报告,其内容包括
17、:信息范围、信息来源、人力资源、软硬件环内容包括:信息范围、信息来源、人力资源、软硬件环境、开发成本估算、开发进度计划、现行系统向新系统境、开发成本估算、开发进度计划、现行系统向新系统转换计划等转换计划等n可行性分析报告完成后,应送交决策部门的领导,由他可行性分析报告完成后,应送交决策部门的领导,由他们组织召开由数据库技术人员、信息部门负责人、应用们组织召开由数据库技术人员、信息部门负责人、应用部门负责人和技术人员以及行政领导参加的评审会,对部门负责人和技术人员以及行政领导参加的评审会,对可行性报告进行评价可行性报告进行评价2023年4月29日星期六数据库系统原理19数据库设计的步骤数据库设计
18、的步骤(续续)n需求分析阶段需求分析阶段n收集分析用户对系统的信息需求和处理需求,得到设计收集分析用户对系统的信息需求和处理需求,得到设计系统所必须系统所必须需求信息需求信息,建立系统说明文档,建立系统说明文档n需求分析是数据库设计过程中比较费时、困难、复杂的需求分析是数据库设计过程中比较费时、困难、复杂的一步,当然也是非常重要的一步一步,当然也是非常重要的一步n需求分析的好坏直接影响整个数据库的设计工作。需求分析的好坏直接影响整个数据库的设计工作。n概念结构设计概念结构设计n根据系统需求,用概念数据模型表示数据及数据之间的根据系统需求,用概念数据模型表示数据及数据之间的联系联系n这一过程中建
19、立的概念结构这一过程中建立的概念结构独立于具体独立于具体DBMS和计算机和计算机硬件,它应该完全表达用户的需求硬件,它应该完全表达用户的需求,面向现实世界且易,面向现实世界且易于用户理解的数据模型。一般使用于用户理解的数据模型。一般使用E-R图表示图表示2023年4月29日星期六数据库系统原理20数据库设计的步骤数据库设计的步骤(续续)n逻辑结构设计逻辑结构设计n在概念结构设计的基础上,按照一定原则将概念模式转在概念结构设计的基础上,按照一定原则将概念模式转换为某个具体换为某个具体DBMS支持的逻辑结构。支持的逻辑结构。n物理设计物理设计n物理设计的任务是根据逻辑设计出的逻辑模式、物理设计的任
20、务是根据逻辑设计出的逻辑模式、DBMS及计算机系统所提供的手段和施加的限制,设计数据库及计算机系统所提供的手段和施加的限制,设计数据库的内模式,即文件结构、各种存取路径、存储空间分配、的内模式,即文件结构、各种存取路径、存储空间分配、记录的存储格式等,为逻辑数据结构选取一个最适合应记录的存储格式等,为逻辑数据结构选取一个最适合应用环境的物理结构用环境的物理结构2023年4月29日星期六数据库系统原理21数据库设计的步骤数据库设计的步骤(续续)n数据库的实施数据库的实施n数据库设计完成后,设计人员要用数据库设计完成后,设计人员要用DBMS提供的数据提供的数据定义语言(定义语言(DDL)及宿主语言
21、及宿主语言和其他的实用程序将数和其他的实用程序将数据库逻辑结构设计和物理结构设计的结果描述出来,据库逻辑结构设计和物理结构设计的结果描述出来,成为成为DBMS可以接受的源代码,再经过调试产生目标可以接受的源代码,再经过调试产生目标模式,最后将数据装入数据库模式,最后将数据装入数据库建立数据库建立数据库编制与调试应用程序编制与调试应用程序组织数据入库组织数据入库进行试运行进行试运行2023年4月29日星期六数据库系统原理22数据库设计的基本步骤(续)数据库设计的基本步骤(续)数据库运行和维护阶段数据库运行和维护阶段n数据库应用系统经过试运行后即可投入数据库应用系统经过试运行后即可投入正式运行正式
22、运行n经过上面经过上面5个阶段之后,进入运行和维护时期。在这一时个阶段之后,进入运行和维护时期。在这一时期,根据数据库运行的情况对数据库的期,根据数据库运行的情况对数据库的性能进行评价性能进行评价,在保持数据库完整性的前提下,有效地在保持数据库完整性的前提下,有效地处理数据故障处理数据故障和和进行进行数据库恢复数据库恢复,并,并改善数据库系统的性能改善数据库系统的性能,必要时,必要时,可以对数据库进行可以对数据库进行重组和重构重组和重构。2023年4月29日星期六数据库系统原理23数据库设计的步骤数据库设计的步骤(续续)n说明:说明:n目前很多目前很多DBMS和一些独立的开发商都提供了一些辅助
23、和一些独立的开发商都提供了一些辅助工具(工具(CASE工具),用于数据库设计的各个阶段。工具),用于数据库设计的各个阶段。n例如,例如,ORACLE DESIGNER 2000可以帮助设计者绘可以帮助设计者绘制制E-R图,将图,将E-R图转换为关系数据模型,生成数据图转换为关系数据模型,生成数据库结构库结构n为加快数据库设计速度,设计人员可根据需要选用这为加快数据库设计速度,设计人员可根据需要选用这些些CASE工具。但是,利用工具。但是,利用CASE工具生成的仅仅是工具生成的仅仅是数据库应用系统比较粗糙,需要进一步修改、完善数据库应用系统比较粗糙,需要进一步修改、完善2023年4月29日星期六
24、数据库系统原理24数据库设计的基本步骤(续)数据库设计的基本步骤(续)设计一个完善的数据库应用系统往往是上述六个阶段的不断设计一个完善的数据库应用系统往往是上述六个阶段的不断反复反复(P202图图7.2)n把数据库设计和对数据库中数据处理的设计紧密结合起来把数据库设计和对数据库中数据处理的设计紧密结合起来n将这两个方面的需求分析、抽象、设计、实现在各个阶段将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计同时进行,相互参照,相互补充,以完善两方面的设计2023年4月29日星期六数据库系统原理25数据库设计各个阶段的设计描述2023年4月29日星期
25、六数据库系统原理267.1 数据库设计概述数据库设计概述7.1.1 数据库设计的特点数据库设计的特点7.1.2 数据库设计方法数据库设计方法7.1.3 数据库设计的基本步骤数据库设计的基本步骤7.1.4 数据库设计过程中的各级模式数据库设计过程中的各级模式2023年4月29日星期六数据库系统原理277.1.4数据库设计过程中的各级模式数据库设计过程中的各级模式数据库设计不同阶段形成的数据库各级模式数据库设计不同阶段形成的数据库各级模式数据库的各级模式 2023年4月29日星期六数据库系统原理28第七章第七章 数据库设计数据库设计7.1 数据库设计概述数据库设计概述7.2 需求分析需求分析7.3
展开阅读全文