数据库设计方法与步骤课件_第1页
数据库设计方法与步骤课件_第2页
数据库设计方法与步骤课件_第3页
数据库设计方法与步骤课件_第4页
数据库设计方法与步骤课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第九章数据库设计方法与步骤9.1

数据库设计的目的、意义及内容

9.2

数据库系统设计方法及步骤实训9数据库设计2023/8/14C++面向对象程序设计SQLServer教程第九章数据库设计方法与步骤9.1数据库设计的目的、意19.1数据库设计的目的、意义及内容1.结构特性设计2.行为特性设计2023/8/14C++面向对象程序设计SQLServer教程9.1数据库设计的目的、意义及内容1.结构特性设计2021.结构特性设计结构特性设计是指数据库模式或数据库结构设计,应该具有最小冗余的、能满足不同用户数据需求的、能实现数据共享的系统。数据库结构特性是静态的,数据库结构设计完成后,一般不再变动,但由于客户需求变更的必须然性,在设计时应考虑数据库变更的扩充余地,确保系统的成功。9.1数据库设计的目的、意义及内容2023/8/14C++面向对象程序设计SQLServer教程1.结构特性设计9.1数据库设计的目的、意义及内容20239.1数据库设计的目的、意义及内容2.行为特性设计行为特性设计是指应用程序、事物处理的设计。用户通过应用程序访问和操作数据库,用户的行为和数据库结构紧密相关。2023/8/14C++面向对象程序设计SQLServer教程9.1数据库设计的目的、意义及内容2.行为特性设计2049.2.1需求分析

9.2.2概念结构设计

9.2.3逻辑结构设计

9.2.4物理结构设计

9.2.5数据库实施9.2.6数据库运行维护

9.2数据库系统设计方法及步骤2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析9.2数据库系统设计方法及步骤259.2.1需求分析需求分析的目标是准确了解系统的应用环境,了解并分析用户对数据及数据处理的需求,是整个数据库设计过程中最重要步骤之一,是其余各阶段的基础。在需求分析阶段,要求从各方面对整个组织进行调研,收集和分析各项应用对信息和处理两方面的需求。2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析需求分析的目标是准确了解系61.收集需求信息需求分析阶段,主要了解和分析的内容包括:信息需求:用户需要从数据库中获得信息的内容与性质。处理需求:用户要求软件系统完成的功能,并说明对系统处理完成功能的时间、处理方式的要求。安全性与完整性要求:用户对系统信息的安全性要求等级以及信息完整性的具体要求。9.2.1需求分析2023/8/14C++面向对象程序设计SQLServer教程1.收集需求信息9.2.1需求分析2023/8/1C++72.分析整理分析的过程是对所收集到的数据进行抽象的过程。软件开发是以用户的日常工作为基础,在收集需求信息时,用户也是从日常工作角度对软件功能和处理的信息进行描述,这些信息不利于软件的设计和实现,为便于设计人员和用户之间进行交流,同时方便软件的设计和实现,设计人员要对收集到的用户需求信息进行分析和整理,把功能进行分类和合并,把整个系统分解成若干个功能模块。9.2.1需求分析2023/8/14C++面向对象程序设计SQLServer教程2.分析整理9.2.1需求分析2023/8/1C++面向82.分析整理(示例)在图书销售管理系统中,以下是分析得到的用户需求:(1)新书信息录入,以添加系统中所销售图书的信息。(2)新书列表,以方便用户得到新进图书的信息。(3)书目分类,以便于用户查看对应分类中相关图书信息。(4)图书搜索功能,以方便用户按书名、ISBN、主题或作者搜索相应图书信息。(5)用户注册功能,以方便保存用户信息,并在相应功能中快速应用用户信息。(6)用户登录功能,以方便用户选购图书,并进行结算和配送。(7)订单管理功能,以方便对图书的销售情况进行统计、分析和配送。(8)系统管理员登录功能。

9.2.1需求分析2023/8/14C++面向对象程序设计SQLServer教程2.分析整理(示例)9.2.1需求分析2023/8/1C9

9.2.1需求分析3.数据流图

数据库设计过程中采用数据流图(DataFlowDiagram,DFD)来描述系统的功能。数据流图可以形象地描述事务处理与所需数据的关联,便于用结构化系统方法,自顶向下,逐层分解,步步细化,并且便于用户和设计人员进行交流。2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析3.数据流图2023/8/1C++10

9.2.1需求分析3.数据流图

数据及其流动方向数据处理数据流的终点或源点文件和数据存储数据流图元素2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析3.数据流图数据及其流动方向数据处11

9.2.1需求分析3.数据流图(示例)图书销售管理系统的数据流图

用户注册用户信息库图书信息库注册信息订购信息订购销售信息库登录信息登录查询查询信息图书信息销售信息管理员用户信息用户信息登录用户信息登录信息配送图书信息销售信息查询信息入库图书信息图书信息2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析3.数据流图(示例)用户注册用户信129.2.1需求分析4.数据字典数据字典(DataDictionary,DD)是关于数据库中数据的一种描述,而不是数据库中的数据;数据字典用于记载系统中的各种数据、数据元素以及它们的名字、性质、意义及各类约束条件。组成:(1)数据流(2)数据项(3)数据存储(4)数据处理

2023/8/14C++面向对象程序设计SQLServer教程9.2.1需求分析4.数据字典2023/8/1C++面139.2.2概念结构设计概念设计阶段的目标是把需求分析阶段得到的用户需求抽象为数据库的概念结构,即概念模式。设计关系型数据库的过程中,描述概念结构的有力工具是E-R图,概念结构设计分为局部E-R图和总体E-R图。总体E-R图由局部E-R图组成,设计时,一般先从局部E-R图开始设计,以减小设计的复杂度,最后由局部E-R图综合形成总体E-R图。E-R图的相关知识参见第一章相关内容。2023/8/14C++面向对象程序设计SQLServer教程9.2.2概念结构设计概念设计阶段的目标是149.2.2概念结构设计局部E-R图的设计从数据流图出发确定数据流图中的实体和相关属性,并根据数据流图中表示的对数据的处理,确定实体之间的联系。在设计E-R图的过程中,需要注意以下问题:(1)用属性还是实体表示某个对象更恰当。(2)用实体还是联系能更准确地描述需要表达的概念。(3)用强实体还是弱实体更恰当。(4)使用三元联系还是一对二元联系能更好的表达实体之间的联系。

2023/8/14C++面向对象程序设计SQLServer教程9.2.2概念结构设计局部E-R图的设计从159.2.2概念结构设计CustomernameEmailPasswordIDOrderItemOrderIDItemIDUnitPriceQuantityOrderOrderDateStatusShipToNameShipToAddrAddrMobileNumber订购图书的局部E-R图2023/8/14C++面向对象程序设计SQLServer教程9.2.2概念结构设计CustomernameEmai169.2.2概念结构设计CustomernameEmailPasswordIDOrderItemOrderIDItemIDUnitPriceQuantityOrderOrderDateStatusShipToNameShipToAddrAddrMobileNumberItemPKIDNameCategoryBookAuthorDescriptionUnitCostUnitPriceCategoryIDDescriptionAuthorIDNameAddrEmailMobileNumberISBNNamePublisherSubjecCheckinClassifyPublishDescriptionWrite图书相关的局部E-R图

2023/8/14C++面向对象程序设计SQLServer教程9.2.2概念结构设计CustomernameEmai17概念设计的结果得到的是与计算机软硬件具体性能无关的全局概念模式,概念结构无法在计算机中直接应用,需要把概念结构转换成特定的DBMS所支持的数据模型,逻辑设计就是把上述概念模型转换成为某个具体的DBMS所支持的数据模型并进行优化。逻辑结构设计一般分为三部分:概念转换成DBMS所支持的数据模型、模型优化以及设计用户子模式。9.2.3逻辑结构设计2023/8/14C++面向对象程序设计SQLServer教程概念设计的结果得到的是与计算机软硬件具体性能无关18逻辑结构设计一般分为三部分:1.概念结构向关系模型的转换2.关系模型的优化3.设计用户子模式9.2.3逻辑结构设计2023/8/14C++面向对象程序设计SQLServer教程逻辑结构设计一般分为三部分:9.2.3逻辑结构设计20191.概念结构向关系模型的转换在概念结构向关系模型转换需要有一定的原则和方法指导,一般而言原则如下:(1)每个实体都有表与之对应,实体的属性转换成表的属性,实体的主键转换成表的主键。(2)联的系转换

9.2.3逻辑结构设计2023/8/14C++面向对象程序设计SQLServer教程1.概念结构向关系模型的转换9.2.3逻辑结构设计2020

9.2.3逻辑结构设计联系转换的具体类型:1.两实体间的一对一联系

2.两实体间一对多联系

3.同一实体间的一对多联系

4.两实体间的多对多联系

5.同一实体间的多对多联系

6.两个以上实体间多对多联系

2023/8/14C++面向对象程序设计SQLServer教程9.2.3逻辑结构设计联系转换的具体类型:2023/21

9.2.3逻辑结构设计2.关系模型的优化对概念结构转换具体步骤:(1)确定每个关系模式内部各个属性之间的数据依赖以及不同关系模式属性之间的数据依赖。(2)对各个关系模式之间的数据依赖进行最小化处理,消除冗余的联系。(3)确定各关系模式的范式等级。(4)按照需求分析阶段得到的处理要求,确定要对哪些模式进行合并或分解。(5)为了提高数据操作的效率和存储空间的利用率,对上述产生的关系模式进行适当地修改、调整和重构。2023/8/14C++面向对象程序设计SQLServer教程9.2.3逻辑结构设计2.关系模型的优化2023/22

9.2.3逻辑结构设计3.设计用户子模式子模式设计时应注意考虑用户的习惯和方便,主要包括:使用更符合用户习惯的别名。可以为不同的用户定义不同的视图,以保证系统的安全性。可将经常使用的复杂的查询定义为视图,简化用户操作。

2023/8/14C++面向对象程序设计SQLServer教程9.2.3逻辑结构设计3.设计用户子模式2023/23

9.2.4物理结构设计数据库的物理设计是指对数据库的逻辑结构在指定的DBMS上建立起适合应用环境的物理结构。物理设计通常分为两步:1.确定数据库的物理结构2.对物理结构进行评价2023/8/14C++面向对象程序设计SQLServer教程9.2.4物理结构设计数据库的物理设计是24

9.2.5数据库实施数据库完成设计之后,需要进行实施,以建立真实的数据库。实施阶段的工作主要有:建立数据库结构数据载入应用程序的开发数据库试运行2023/8/14C++面向对象程序设计SQLServer教程9.2.5数据库实施数据库完成设计之后,需要进行实施25

9.2.6数据库运行维护数据库经常性的维护工作包括:(1)数据库的转储和恢复。(2)数据库的安全性、完整性控制。(3)DBA应根据实际情况对数据库进行调整。(4)数据库性能的监督、分析和改造。(5)对监测数据进行分析,不断保证或改进系统的性能。(6)数据库的重组织与重构造。2023/8/14C++面向对象程序设计SQLServer教程9.2.6数据库运行维护数据库经常性的维护工作包括:26本章小结数据库设计包括结构设计和行为特性设计两方面内容。数据库设计过程可分为需求分析、概念结构设计、逻辑结构设计、物理设计、数据库实施以及数据库运行维护多个阶段,需求分析的主要工具是数据流图和数据字典;概念设计的主要工具是E-R图。在需求分析阶段,要特别注意和客户进行充分即时的交流和沟通,以减少需求分析的不正确和不准确性,使其余后继的设计有较成熟而稳定的设计基线。概念设计是设计过程中难度较大的过程,需要有一定的设计经验才能迅速的设计出合理的E-R模型。在设计时,要特别注意用属性还是用实体来表达一个对象更合适。

2023/8/14C++面向对象程序设计SQLServer教程本章小结数据库设计包括结构设计和行为特性设计两方面内容。227本章小结逻辑设计主要是把概念设计的结果转化为逻辑表达,其中主要包括:概念转换成DBMS所支持的数据模型、模型优化以及设计用户子模式三部分。数据库运行时期,要特别注意数据库的转储和恢复以及数据库的安全性、完整性控制。2023/8/14C++面向对象程序设计SQLServer教程本章小结逻辑设计主要是把概念设计的结果转化为逻辑表达,其中28实训9数据库设计目标准备工作场景练习1需求分析练习2设计数据流图练习3设计数据字典练习4概念设计练习5逻辑结构设计练习6实施数据库2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计目标2023/8/1C++面向对象程序29实训9数据库设计目标完成本实验后,将掌握以下内容:(1)分析需求(2)设计数据流图(3)设计数据字典(4)进行概念设计(5)完成概念结构向逻辑结构的转化(6)实施数据库2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计目标2023/8/1C++面向对象程序30实训9数据库设计准备工作在进行本实验前,必须学习完成本章的全部内容。2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计准备工作2023/8/1C++面向对象31实训9数据库设计场景根据公司的组织结构和工作要求,该人事管理系统的主要功能为管理员工资料、员工考勤、评定员工业绩和自动计算员工薪资。

人事部公司财务部办公室技术部销售部公关部宏文软件股份有限公司组织机构2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计场景人事部公司财务部办公室技术部销售32实训9数据库设计人

型权

述普通员工查看员薪资料、请假、加班、考勤、薪资等信息,填写业绩报告部门经理除普通员工的权限外,还可审批请假、加班和业绩报告的信息人事助理修改员薪资料,登记考勤信息,核实加班请假信息并计算月薪资人事经理除人事助理的权限外,还有指定员工起薪等权限场景

公司的人员各种角色权限定义2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计人员类型权限33实训9数据库设计练习1需求分析本练习中,将在给定场景下进行数据库系统的需求分析,为后继设计提供设计基线。实验步骤:(1)和小组内成员以及指导教师进行交流,讨论一个公司的员工信息管理系统要完成预定的任务,需要实现什么功能,把找到的功能全部列出并填表。(2)根据上一步讨论的结果,把需要实现的功能,按功能之间相互关系的紧密程度进行分组。功

求所

据2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计练习1需求分析功能需求34实训9数据库设计练习2设计数据流图本练习中,将在练习1的基础上,分析员工信息的管理功能,并设计其数据流图。实验步骤:(1)分析新员工入职时的信息流动过程,分析新员工入职时,其相关信息所包括的内容,信息入库时相关的角色、操作过程以及相关的信息库。(2)把分析结果组织成数据流图,使其准确的反映新员工入职进行信息入库的完整流程和信息流动过程。(3)分析员工入职后相关信息的查询功能,分析信息流动过程,确定查询功能完成过程中所涉及的相关信息内容、参与此过程的角色以及相关信息库,并把相关内容添加到数据流图。(4)分析员工信息的修改功能,分析信息修改过程,确定修改信息过程中所涉及的相关信息内容、参与此过程的角色以及相关信息库,并把相关内容添加到数据流图。2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计练习2设计数据流图2023/8/35实训9数据库设计练习3设计数据字典本练习中,将在练习2的基础上,根据数据流图中所涉及的信息,并对信息进行的分析,确定出所有数据项的描述内容,其中主要分数据项名称、类型、长度以及值范围,并填写如下表格。数据项名称类

型长度(字节)范

围2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计练习3设计数据字典数据项名称类36实训9数据库设计练习4概念设计本练习中,将在练习3的基础上,把数据流图中所涉及的数据项抽象为数据库的概念结构,并用E-R图描述出来。由于设计时预先确定采用SQLServer2000数据库管理系统,所以概念设计时直接针对关系型数据库进行,并采用E-R图描述设计结果。2023/8/14C++面向对象程序设计SQLServer教程实训9数据库设计练习4概念设计2023/8/1C+37实训9数据库设计练习4概念设计实验步骤:(1)确定员工信息应包括的内容即数据项,把员工直接包括的数据项设计为员工的属性,如:员工的员工编号、员工姓名、员工的入职日期、员工的身份证号、员工登录密码等,并以E-R图的形式描述出来。(2)把员工非直接包括的数据项列出,如:员工所属的部门名称、部门主管姓名、起薪、每月的成绩评定。(3)把员工非直接数据项和员工联系起来,确定这些数据项与员工之间的关系,如果数据项应该是其余实体的属性的,设计新的对应实体,并进一步确定新实体与员工之间的关系,非直接数据项应放置在哪个实体中或者应属于它们之间的关系的属性。如:员工所属的部门,一个部门的相关数据项不应属于员工自身的属性,但是员工入职后就应该归属到一个部门,所以设计新的实体“部门”,员工和部门之间的关系是“属于”,指定员工所属的部门编号即可确定员工所属的部门。(4)确定所有的关系,是否准确、完整地得到描述。(5)对所设计的局部E-R图进行检查,确定设计的正确的完整性,并对E-R图进行调整,以优化数据库的概念结构。

2023/8/14C++面向对象程序设计SQLServer教程实训9

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论