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

下载本文档

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

文档简介

数据库原理与SQL Server教程 第九章 数据库设计方法与步骤 本资料由-大学生创业|创业|创业网/提供资料 在线代理|网页代理|代理网页| 减肥药排行榜|淘宝最好的减肥药|什么减肥药效果最好|减肥瘦身药| 第九章 数据库设计方法与步骤 t9.1 数据库设计的目的、意义及内容 t9.2 数据库系统设计方法及步骤 t实训9 数据库设计 DateC+面向对象程序设计SQL Server教程 9.1 数据库设计的目的、意义及内容 t1.结构特性设计 t2.行为特性设计 DateC+面向对象程序设计SQL Server教程 1.结构特性设计 结构特性设计是指数据库模式或数 据库结构设计,应该具有最小冗余的、 能满足不同用户数据需求的、能实现数 据共享的系统。数据库结构特性是静态 的,数据库结构设计完成后,一般不再 变动,但由于客户需求变更的必须然性 ,在设计时应考虑数据库变更的扩充余 地,确保系统的成功。 9.1 数据库设计的目的、意义及内容 DateC+面向对象程序设计SQL Server教程 9.1 数据库设计的目的、意义及内容 2.行为特性设计 行为特性设计是指应用程序、事物 处理的设计。用户通过应用程序访问和 操作数据库,用户的行为和数据库结构 紧密相关。 DateC+面向对象程序设计SQL Server教程 t9.2.1 需求分析 t9.2.2 概念结构设计 t9.2.3 逻辑结构设计 t9.2.4 物理结构设计 t9.2.5 数据库实施 t9.2.6 数据库运行维护 9.2 数据库系统设计方法及步骤 DateC+面向对象程序设计SQL Server教程 9.2.1 需求分析 需求分析的目标是准确了解系统的 应用环境,了解并分析用户对数据及数 据处理的需求,是整个数据库设计过程 中最重要步骤之一,是其余各阶段的基 础。在需求分析阶段,要求从各方面对 整个组织进行调研,收集和分析各项应 用对信息和处理两方面的需求。 DateC+面向对象程序设计SQL Server教程 1收集需求信息 需求分析阶段,主要了解和分析的内 容包括: u信息需求:用户需要从数据库中获得信息 的内容与性质。 u处理需求:用户要求软件系统完成的功能 ,并说明对系统处理完成功能的时间、处 理方式的要求。 u安全性与完整性要求:用户对系统信息的 安全性要求等级以及信息完整性的具体要 求。 9.2.1 需求分析 DateC+面向对象程序设计SQL Server教程 2分析整理 分析的过程是对所收集到的数据进行抽象 的过程。软件开发是以用户的日常工作为基础 ,在收集需求信息时,用户也是从日常工作角 度对软件功能和处理的信息进行描述,这些信 息不利于软件的设计和实现,为便于设计人员 和用户之间进行交流,同时方便软件的设计和 实现,设计人员要对收集到的用户需求信息进 行分析和整理,把功能进行分类和合并,把整 个系统分解成若干个功能模块。 9.2.1 需求分析 DateC+面向对象程序设计SQL Server教程 2分析整理(示例) 在图书销售管理系统中,以下是分析得到的用户需求: (1)新书信息录入,以添加系统中所销售图书的信息。 (2)新书列表,以方便用户得到新进图书的信息。 (3)书目分类,以便于用户查看对应分类中相关图书信息。 (4)图书搜索功能,以方便用户按书名、ISBN、主题或作者 搜索相应图书信息。 (5)用户注册功能,以方便保存用户信息,并在相应功能中 快速应用用户信息。 (6)用户登录功能,以方便用户选购图书,并进行结算和配 送。 (7)订单管理功能,以方便对图书的销售情况进行统计、分 析和配送。 (8)系统管理员登录功能。 9.2.1 需求分析 DateC+面向对象程序设计SQL Server教程 9.2.1 需求分析 3数据流图 数据库设计过程中采用数据流图(Data Flow Diagram, DFD)来描述系统的功能。数据 流图可以形象地描述事务处理与所需数据的关 联,便于用结构化系统方法,自顶向下,逐层 分解,步步细化,并且便于用户和设计人员进 行交流。 DateC+面向对象程序设计SQL Server教程 9.2.1 需求分析 3数据流图 数据及其流动方向数据处理 数据流的终点或源点文件和数据存储 数据流图元素 DateC+面向对象程序设计SQL Server教程 9.2.1 需求分析 3数据流图 (示例) 图书销售管理系统的数据流图 用户 注册 用户信息库 图书信息库 注册信息 订购信息 订购 销售信息库 登录信息 登录 查询 查询信息 图书信息 销售信息 管理员 用户信息 用户信息 登录 用户信息 登录信息 配送 图书信息 销售信息 查询信息 入库 图书信息 图书信息 DateC+面向对象程序设计SQL Server教程 9.2.1 需求分析 4数据字典 数据字典(Data Dictionary, DD)是关于数据 库中数据的一种描述,而不是数据库中的数据;数据 字典用于记载系统中的各种数据、数据元素以及它们 的名字、性质、意义及各类约束条件。 组成: (1)数据流 (2)数据项 (3)数据存储 (4)数据处理 DateC+面向对象程序设计SQL Server教程 9.2.2 概念结构设计 概念设计阶段的目标是把需求分析阶段 得到的用户需求抽象为数据库的概念结构, 即概念模式。设计关系型数据库的过程中, 描述概念结构的有力工具是E-R图,概念结构 设计分为局部E-R图和总体E-R图。总体E-R图 由局部E-R图组成,设计时,一般先从局部E- R图开始设计,以减小设计的复杂度,最后由 局部E-R图综合形成总体E-R图。E-R图的相关 知识参见第一章相关内容。 DateC+面向对象程序设计SQL Server教程 9.2.2 概念结构设计 局部E-R图的设计从数据流图出发确定数据流图中的实体 和相关属性,并根据数据流图中表示的对数据的处理,确定 实体之间的联系。 在设计E-R图的过程中,需要注意以下问题: (1)用属性还是实体表示某个对象更恰当。 (2)用实体还是联系能更准确地描述需要表达的概念。 (3)用强实体还是弱实体更恰当。 (4)使用三元联系还是一对二元联系能更好的表达实体之 间的联系。 DateC+面向对象程序设计SQL Server教程 9.2.2 概念结构设计 Customer name Email Password ID Order Item OrderID ItemID UnitPriceQuantity Order OrderDateStatus ShipToNameShipToAddr Addr Mobile Number 订购图书的局部E-R图 DateC+面向对象程序设计SQL Server教程 9.2.2 概念结构设计 Customer name Email Password ID Order Item OrderID ItemID UnitPriceQuantity Order OrderDateStatus ShipToNameShipToAddr Addr Mobile Number Item PKID Name Category BookAuthor Description UnitCost UnitPrice CategoryID Description AuthorID Name Addr Email Mobile Number ISBN Name Publisher Subjec Checkin Classify Publish Description Write 图书相关的局部E-R图 DateC+面向对象程序设计SQL Server教程 概念设计的结果得到的是与计算机软硬 件具体性能无关的全局概念模式,概念结构 无法在计算机中直接应用,需要把概念结构 转换成特定的DBMS所支持的数据模型,逻辑 设计就是把上述概念模型转换成为某个具体 的DBMS所支持的数据模型并进行优化。 逻辑结构设计一般分为三部分:概念转 换成DBMS所支持的数据模型、模型优化以及 设计用户子模式。 9.2.3 逻辑结构设计 DateC+面向对象程序设计SQL Server教程 逻辑结构设计一般分为三部分: 1概念结构向关系模型的转换 2关系模型的优化 3设计用户子模式 9.2.3 逻辑结构设计 DateC+面向对象程序设计SQL Server教程 1.概念结构向关系模型的转换 在概念结构向关系模型转换需要有一定的原 则和方法指导,一般而言原则如下: (1)每个实体都有表与之对应,实体的属性转换成 表的属性,实体的主键转换成表的主键。 (2)联的系转换 9.2.3 逻辑结构设计 DateC+面向对象程序设计SQL Server教程 9.2.3 逻辑结构设计 联系转换的具体类型: 1两实体间的一对一联系 2两实体间一对多联系 3同一实体间的一对多联系 4. 两实体间的多对多联系 5. 同一实体间的多对多联系 6. 两个以上实体间多对多联系 DateC+面向对象程序设计SQL Server教程 9.2.3 逻辑结构设计 2.关系模型的优化 对概念结构转换具体步骤: (1)确定每个关系模式内部各个属性之间的数据依赖以及 不同关系模式属性之间的数据依赖。 (2)对各个关系模式之间的数据依赖进行最小化处理,消 除冗余的联系。 (3)确定各关系模式的范式等级。 (4)按照需求分析阶段得到的处理要求,确定要对哪些模 式进行合并或分解。 (5)为了提高数据操作的效率和存储空间的利用率,对上 述产生的关系模式进行适当地修改、调整和重构。 DateC+面向对象程序设计SQL Server教程 9.2.3 逻辑结构设计 3设计用户子模式 子模式设计时应注意考虑用户的习惯和方便,主要 包括: t使用更符合用户习惯的别名。 t可以为不同的用户定义不同的视图,以保证系统 的安全性。 t可将经常使用的复杂的查询定义为视图,简化用 户操作。 DateC+面向对象程序设计SQL Server教程 9.2.4 物理结构设计 数据库的物理设计是指对数据库的逻 辑结构在指定的DBMS上建立起适合应用环 境的物理结构。 物理设计通常分为两步: 1确定数据库的物理结构 2对物理结构进行评价 DateC+面向对象程序设计SQL Server教程 9.2.5 数据库实施 数据库完成设计之后,需要进行实施,以建 立真实的数据库。 实施阶段的工作主要有: u建立数据库结构 u数据载入 u应用程序的开发 u数据库试运行 DateC+面向对象程序设计SQL Server教程 9.2.6 数据库运行维护 数据库经常性的维护工作包括: (1)数据库的转储和恢复。 (2)数据库的安全性、完整性控制。 (3)DBA应根据实际情况对数据库进行调整。 (4)数据库性能的监督、分析和改造。 (5)对监测数据进行分析,不断保证或改进系 统的性能。 (6)数据库的重组织与重构造。 DateC+面向对象程序设计SQL Server教程 本章小结 t数据库设计包括结构设计和行为特性设计两方面内容。 t数据库设计过程可分为需求分析、概念结构设计、逻辑结 构设计、物理设计、数据库实施以及数据库运行维护多个 阶段,需求分析的主要工具是数据流图和数据字典;概念 设计的主要工具是E-R图。 t在需求分析阶段,要特别注意和客户进行充分即时的交流 和沟通,以减少需求分析的不正确和不准确性,使其余后 继的设计有较成熟而稳定的设计基线。 t概念设计是设计过程中难度较大的过程,需要有一定的设 计经验才能迅速的设计出合理的E-R模型。在设计时,要 特别注意用属性还是用实体来表达一个对象更合适。 DateC+面向对象程序设计SQL Server教程 本章小结 t逻辑设计主要是把概念设计的结果转化为逻辑表达,其中 主要包括:概念转换成DBMS所支持的数据模型、模型优化 以及设计用户子模式三部分。 t数据库运行时期,要特别注意数据库的转储和恢复以及数 据库的安全性、完整性控制。 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 目标 准备工作 场景 练习1 需求分析 练习2 设计数据流图 练习3 设计数据字典 练习4 概念设计 练习5 逻辑结构设计 练习6 实施数据库 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 目标 完成本实验后,将掌握以下内容: (1)分析需求 (2)设计数据流图 (3)设计数据字典 (4)进行概念设计 (5)完成概念结构向逻辑结构的转化 (6)实施数据库 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 准备工作 在进行本实验前,必须学习完成本章的 全部内容。 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 场景 根据公司的组织结构和工作要求,该人事管理系统的主要 功能为管理员工资料、员工考勤、评定员工业绩和自动计算 员工薪资。 人事部 公司 财务部办公室技术部销售部公关部 宏文软件股份有限公司组织机构 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 人 员 类 型权 限 描 述 普通员工查看员薪资料、请假、加班、考勤、薪资等信息,填写业绩报 告 部门经 理除普通员工的权限外,还可审批请假、加班和业绩报 告的信息 人事助理修改员薪资料,登记考勤信息,核实加班请假信息并计算月薪资 人事经理除人事助理的权限外,还有指定员工起薪等权限 场景 公司的人员各种角色权限定义 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习1 需求分析 本练习中,将在给定场景下进行数据库系统的需求分析, 为后继设计提供设计基线。 实验步骤: (1)和小组内成员以及指导教师进行交流,讨论一个公司的员 工信息管理系统要完成预定的任务,需要实现什么功能,把 找到的功能全部列出并填表。 (2)根据上一步讨论的结果,把需要实现的功能,按功能之间 相互关系的紧密程度进行分组。 功 能 需 求所 需 数 据 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习2 设计数据流图 本练习中,将在练习1的基础上,分析员工信息的管理功能,并设计 其数据流图。 实验步骤: (1)分析新员工入职时的信息流动过程,分析新员工入职时,其相关信息所 包括的内容,信息入库时相关的角色、操作过程以及相关的信息库。 (2)把分析结果组织成数据流图,使其准确的反映新员工入职进行信息入库 的完整流程和信息流动过程。 (3)分析员工入职后相关信息的查询功能,分析信息流动过程,确定查询功 能完成过程中所涉及的相关信息内容、参与此过程的角色以及相关信息库 ,并把相关内容添加到数据流图。 (4)分析员工信息的修改功能,分析信息修改过程,确定修改信息过程中所 涉及的相关信息内容、参与此过程的角色以及相关信息库,并把相关内容 添加到数据流图。 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习3 设计数据字典 本练习中,将在练习2的基础上,根据数据流图中所涉及的 信息,并对信息进行的分析,确定出所有数据项的描述内容 ,其中主要分数据项名称、类型、长度以及值范围,并填写 如下表格。 数据项名称类 型长度(字节)范 围 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习4 概念设计 本练习中,将在练习3的基础上,把数据流图中所涉及的数 据项抽象为数据库的概念结构,并用E-R图描述出来。由于设 计时预先确定采用SQL Server 2000数据库管理系统,所以概 念设计时直接针对关系型数据库进行,并采用E-R图描述设计 结果。 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习4 概念设计 实验步骤: (1)确定员工信息应包括的内容即数据项,把员工直接包括的数据项设计为员工的属性,如: 员工的员工编号、员工姓名、员工的入职日期、员工的身份证号、员工登录密码等,并以E- R图的形式描述出来。 (2)把员工非直接包括的数据项列出,如:员工所属的部门名称、部门主管姓名、起薪、每月 的成绩评定。 (3)把员工非直接数据项和员工联系起来,确定这些数据项与员工之间的关系,如果数据项应 该是其余实体的属性的,设计新的对应实体,并进一步确定新实体与员工之间的关系,非直 接数据项应放置在哪个实体中或者应属于它们之间的关系的属性。如:员工所属的部门,一 个部门的相关数据项不应属于员工自身的属性,但是员工入职后就应该归属到一个部门,所 以设计新的实体“部门”,员工和部门之间的关系是“属于”,指定员工所属的部门编号即 可确定员工所属的部门。 (4)确定所有的关系,是否准确、完整地得到描述。 (5)对所设计的局部E-R图进行检查,确定设计的正确的完整性,并对E-R图进行调整,以优化 数据库的概念结构。 DateC+面向对象程序设计SQL Server教程 实训9 数据库设计 练习5 逻辑结构设计 本练习中,将在练习4的基础上完成逻辑结

温馨提示

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

评论

0/150

提交评论