数据基础与应用 7_第1页
数据基础与应用 7_第2页
数据基础与应用 7_第3页
数据基础与应用 7_第4页
数据基础与应用 7_第5页
已阅读5页,还剩193页未读, 继续免费阅读

下载本文档

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

文档简介

数据库设计第4章2026数据库原理与应用教材第42—89页为什么识别了对象仍不能马上建表?第4章导入教材第42—43页002/198课堂问题外卖系统已经识别用户、商家、食品和订单,为什么仍然不能马上建表?先保留问题:本章将用完整设计过程回答。本章最终产物:从需求走向SQL脚本第4章导入教材第42—43页003/198数据库设计最终要形成一组连续、可验证的产物需求说明业务、数据与约束DFD与数据字典处理流程与数据定义局部/全局E-R概念结构关系模式逻辑结构物理模型存储结构与存取方法SQL脚本面向DBMS实施每一步都以前一步为输入,并为下一步提供依据。本章学习成果第4章导入教材第42—43页004/198完成本章后,你应该能够能够调查识别信息、处理和约束要求能够画图绘制DFD与E-R图能够转换把E-R模型转换为关系模式能够判断识别冲突、冗余和操作异常能够操作使用PowerDesigner完成CDM、PDM与SQL本章知识地图第4章导入教材第42—43页005/198第四章围绕“从需求到实施”展开4.1设计概述4.2需求分析4.3概念结构4.4逻辑结构4.5物理设计4.6实施4.7PowerDesigner4.8外卖案例理论、工具与案例沿同一设计链条推进。本章在课程中的位置第4章导入教材第42—43页006/198本章承前启后第3章关系如何表示与运算第4章数据库如何设计第5章关系模式如何规范化第6章如何用SQL实施第四章把数据模型知识转化为完整的设计过程。4.1数据库设计概述4.1.1任务、内容和特点教材第42页007/1984.1数据库设计概述任务与内容设计方法基本步骤设计质量直接影响数据库应用系统质量。数据库设计的定义4.1.1任务、内容和特点教材第43页008/198教材定义数据库设计的定义:对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效存储数据,满足用户的应用要求,包括信息管理要求和数据操作要求。给定应用环境最优数据库模式满足信息管理与数据操作要求数据库设计的目标4.1.1任务、内容和特点教材第42—43页009/198数据库设计追求三方面效率存取效率方便、及时、准确地获得信息空间利用率合理利用存储空间运行管理效率便于维护、扩充与管理设计目标必须同时考虑功能与性能。数据库设计的任务4.1.1任务、内容和特点教材第43页010/198从用户需求研制可被DBMS接受的数据库结构三类设计内容总览4.1.1任务、内容和特点教材第43页011/198数据库设计包含三类相互关联的内容结构特性设计概念结构与逻辑结构是数据库设计的关键行为特性设计数据操作、频度与实时性是辅助设计物理模式设计存储结构与存取方法依赖DBMS和硬件结构特性设计4.1.1任务、内容和特点教材第43页012/198现实世界→分E-R图→概念模型→逻辑模型行为特性设计4.1.1任务、内容和特点教材第43页013/198DFD1数据字典2操作对象3方法4频度和实时性要求物理模式设计4.1.1任务、内容和特点教材第43页014/198在选定DBMS环境下实现逻辑模型1形成存储模式和存取方法图4-1:结构和行为设计相结合的数据库设计过程4.1.1任务、内容和特点教材第44页015/198教材图4-1结构和行为设计相结合的数据库设计过程直接使用“结构和行为设计相结合的数据库设计过程”原图,解释同步进行设计人员需要的知识与角色4.1.1任务、内容和特点教材第44页016/198数据库设计需要多类知识与多角色协作知识基础数据库、程序设计、软件工程、应用领域分析与设计系统分析人员、数据库设计人员、用户实施与运行DBA、应用程序员四类数据库设计方法总览4.1.2数据库设计方法教材第44—45页017/198教材归纳四类数据库设计方法手工试凑依赖经验规范设计工程化方法计算机辅助CASE工具支持自动化设计提高自动化程度手工试凑法4.1.2数据库设计方法教材第45页018/198方法特征•手工与经验相结合•设计质量直接依赖设计人员的经验和水平主要局限•缺乏科学理论和工程方法支持•质量难以保证,运行后常发现问题•增加系统维护代价手工试凑法使数据库设计更像“艺术”,而不是工程技术。规范设计法与NewOrleans方法4.1.2数据库设计方法教材第45—48页019/198NewOrleans方法把数据库设计规范为四个阶段需求分析分析用户要求概念设计信息分析和定义逻辑设计设计实现物理设计物理数据库设计采用自顶向下、分层实现、逐步求精的设计原则。基于E-R模型和基于3NF的方法4.1.2数据库设计方法教材第45—48页020/198基于E-R模型•在需求分析基础上构造E-R图•反映现实世界实体之间的联系•转换为特定DBMS可接受的模式基于3NF•确定全部属性及属性间依赖•组织为单一关系模式•投影分解为若干3NF关系模式本页只定位两种方法;3NF的完整理论在第五章学习。基于视图的方法4.1.2数据库设计方法教材第45—48页021/198基于视图的方法先局部、后全局局部视图为每个应用建立自己的视图消除冲突消除命名冲突消除冗余消除冗余实体和联系模式重构调整为满足完整性约束的全局视图计算机辅助设计与自动化设计4.1.2数据库设计方法教材第45—48页022/198计算机辅助设计•模拟规范化设计过程•以人的知识和经验为主导•通过人机交互完成部分设计自动化设计•数据库设计完全由计算机完成•减轻设计人员工作量•提高设计效率CASE工具用于辅助设计,不替代设计人员的判断。图4-2:数据库设计的基本步骤4.1.3基本步骤教材第45—48页023/198教材图4-2数据库设计的基本步骤六个基本阶段,,逐项标出需求、概念、逻辑、物理、实施、运行维护图4-3:数据库设计阶段的内容4.1.3基本步骤教材第45—48页024/198教材图4-3数据库设计阶段的内容各阶段内容与前后反馈,;设置阶段—产物匹配练习4.2需求分析4.2.1任务、内容和方法教材第48页025/1984.2需求分析调查什么怎样调查怎样表达需求需求分析是最困难、最耗时且至关重要的一步。需求分析的定义4.2.1任务、内容和方法教材第48页026/198教材定义需求分析的定义:从调查用户单位着手,深入了解数据流程、使用情况、数量、流量、流向和数据性质,进行分析并按规范以文档形式给出数据需求说明书。调查与收集分析与表达形成需求说明书需求分析的任务4.2.1任务、内容和方法教材第48页027/198需求分析要形成数据库设计的需求说明1调查并分析用户的业务活动、信息要求、处理要求和各种约束条件2充分了解原系统的工作概况,明确用户的各种需求3在调查基础上确定新系统的功能4兼顾今后的扩充和改变,降低维护代价并延长生存周期三类调查内容4.2.1任务、内容和方法教材第48页028/198需求调查围绕三类内容展开信息要求需要哪些数据数据之间有何联系处理要求完成哪些操作频度与响应时间约束要求安全性、完整性未来扩充用户与设计者为什么容易互相误解4.2.1任务、内容和方法教材第48页029/198用户•熟悉业务•往往缺少计算机知识•需求会随认识深化而变化设计人员•熟悉技术•往往缺少业务知识•必须持续调查与沟通需求分析需要用户与设计人员反复交流。六种调查方法总览4.2.1任务、内容和方法教材第48页030/198教材给出六种需求调查方法跟班作业现场观察调查会集中讨论专人介绍业务人员讲解询问个别访谈调查表书面收集查阅记录单据、报表与档案调查方法(上)4.2.1任务、内容和方法教材第48页031/198教材给出的三种现场调查方法跟班作业亲身参加业务工作;理解较准确,但耗费时间和精力调查会与用户座谈;相互讨论、启发和补充专人介绍请业务专家或用户介绍重要环节;便于尽快熟悉业务调查方法(下)4.2.1任务、内容和方法教材第49页032/198教材给出的三种书面与个别调查方法询问针对调查中的具体问题找专人询问调查表预先设计业务活动及数据要求调查表,由用户思考后填写查阅记录查阅原系统的原始单据、账簿、报表等数据记录面向不同人员选择调查方法4.2.1任务、内容和方法教材第49页033/198不同类型人员宜采用不同调查方法高层负责人最好采用个别交谈方式中层管理人员座谈会、个别交谈、调查表、查阅记录基层操作人员主要采用调查表和个别交谈用户积极参与和配合是做好需求调查的关键。七个需求分析步骤总览,使用大字号编号形成课堂路线4.2.2具体步骤教材第49页034/198需求分析按七个步骤推进1调查组织机构2调查业务活动3明确系统要求4确定系统边界5分析系统功能6分析系统数据7编写分析报告步骤1—24.2.2具体步骤教材第49页035/198步骤1—2:从组织结构进入具体业务活动1调查组织的结构组成、部门职能、规模、职责、现状、分布及存在问题2绘制组织结构图,为分析信息流程做准备3调查各部门输入和使用哪些数据、怎样加工、输出什么信息及输出到哪里4收集原始单据、报表和文档等资料步骤3—44.2.2具体步骤教材第47页036/198步骤3:明确要求•信息要求•处理要求•安全性与完整性要求步骤4:确定边界•哪些功能由计算机完成•哪些活动仍由人工完成•明确新系统应实现的功能系统边界决定数据库应用系统的工作范围。步骤5—64.2.2具体步骤教材第49页037/198步骤5:分析功能•确定系统应具有的功能和任务•由设计人员与用户协商、确定并备案步骤6:分析数据•识别实体、属性和联系•分析基本数据与导出数据•明确响应时间、安全性和完整性要求•绘制DFD和数据字典功能分析与数据分析共同形成需求模型。步骤74.2.2具体步骤教材第49页038/198系统分析报告的内容及用户决策部门审核SA方法4.2.3数据流图和数据字典教材第50—51页039/198结构化分析(SA)采用自顶向下、逐层分解1从最上层系统组织机构入手2每一层使用数据流图描述处理3使用数据字典描述系统中的数据DFD回答“数据怎样流动”,数据字典回答“数据是什么”。数据流图的定义4.2.3数据流图和数据字典教材第50页040/198教材定义数据流图的定义:数据流图就是从数据的角度描述系统的组成及组成之间的联系,将业务工作流程以一种明确而又易于理解的形式表示出来。数据流加工数据存储外部实体图4-4:数据流图基本构成成分4.2.3数据流图和数据字典教材第49—51页041/198教材图4-4数据流图基本构成成分数据流、加工、数据存储和外部实体四个构成成分,图4-5:分层数据流图4.2.3数据流图和数据字典教材第50—51页042/198教材图4-5分层数据流图分层数据流图,解释DFD/L1、DFD/L2.1—L2.3、父图和子图顶层、中间层和底层DFD分别承担什么任务4.2.3数据流图和数据字典教材第49页043/198分层DFD由顶层、中间层和底层组成顶层确定系统边界中间层描述处理过程的分解底层无需继续分解的基本处理建立DFD的原则4.2.3数据流图和数据字典教材第51页044/198建立DFD遵循自顶向下、逐层分解的原则1先用顶层数据流图描述系统边界和主要数据流2逐层分解加工,形成中间层数据流图3一直分解到无需继续分解的基本处理父图与子图之间的数据流必须保持平衡。数据字典的定义4.2.3数据流图和数据字典教材第51页045/198教材定义数据字典的定义:系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据项数据结构数据流数据存储处理过程外部项数据字典六部分4.2.3数据流图和数据字典教材第51页046/198数据字典通常包括六个部分数据项不可再分的最小单位数据结构数据之间的组合关系数据流数据在系统内传输的路径数据存储数据停留或保存的地方处理过程对功能块的说明外部项系统外的数据来源或去向数据项描述4.2.3数据流图和数据字典教材第51页047/198名称1含义2别名3类型4长度;取值范围;取值含义和逻辑关系数据结构描述4.2.3数据流图和数据字典教材第51页048/198数据项•不可再分的最小数据单位•描述名称、含义、类型、长度和取值等数据结构•若干数据项有意义的组合•描述名称、含义和组成数据结构由数据项组成,但二者在数据字典中分别描述。数据流描述4.2.3数据流图和数据字典教材第51—52页049/198来源1去向2组成3平均流量和高峰期流量数据存储描述4.2.3数据流图和数据字典教材第52页050/198流入1流出2组成3数据量和存取方式处理过程与外部项描述4.2.3数据流图和数据字典教材第51—52页051/198输入1输出2处理功能3频度4响应时间和外部数据流图4-6:用户订餐的数据流图4.2.3数据流图和数据字典教材第52页052/198教材图4-6用户订餐的数据流图使用教材图4-6完整展示用户订餐DFD,先让学生识别四类符号例4.2数据项4.2.3数据流图和数据字典教材第53页053/198例4.2数据项:用户编号1类型:字符型;长度:8位2取值范围:00000000~999999993第1—2位省份,第3—4位地市,第5—6位区域,第7—8位顺序编号4与其他数据项的逻辑关系:无例4.2数据结构4.2.3数据流图和数据字典教材第53页054/198例4.2数据结构:用户1含义:外卖订餐系统的主体数据结构2组成:用户编号、密码、用户名称、用户性别、用户头像例4.2数据流4.2.3数据流图和数据字典教材第53页055/198例4.2数据流:订单信息1来源:用户通过订餐界面输入或选择的信息2去向:订单处理系统、餐厅厨房、支付系统等3组成:订单、用户、餐厅、菜品、地址、金额、时间与状态4平均流量与高峰期流量需要分别说明例4.2数据存储4.2.3数据流图和数据字典教材第53页056/198例4.2数据存储:订单存储1流入:订单处理系统产生的订单信息2流出:面向餐厅厨房、支付系统和用户账户的订单详情3支持按订单编号、用户编号、餐厅ID等方式检索4数据量随运营时间增长,需要备份和优化例4.2处理过程4.2.3数据流图和数据字典教材第53页057/198例4.2处理过程:订单处理1输入:用户提交的订单信息2输出:更新状态后的订单信息3验证订单完整性和有效性,检查库存并生成订单编号4根据支付、备餐、配送过程持续更新订单状态DFD—数据字典一致性检查4.2.3数据流图和数据字典教材第52—54页058/198一致性检查数据流图发生修改时,数据字典必须同步修改。同一数据对象在DFD与数据字典中的名称和含义应保持一致。4.3概念结构设计4.3.1概念结构概述教材第54页059/1984.3概念结构设计抽象现实世界设计局部E-R集成为全局E-R概念模型独立于硬件环境和具体DBMS。概念结构设计的定义4.3.1概念结构概述教材第54页060/198教材定义概念结构设计的定义:对现实世界进行抽象,抽取所关心的共同特性,忽略非本质细节,形成独立于具体硬件环境和DBMS的概念模型。面向现实世界独立于DBMS通常用E-R图描述四种设计方法总览4.3.1概念结构概述教材第54页061/198教材给出四种概念结构设计方法自顶向下先全局框架再逐层细化自底向上先局部结构再集成全局逐步扩张从核心向外扩充混合策略上下结合图4-7:自顶向下策略4.3.1概念结构概述教材第55页062/198教材图4-7自顶向下策略自顶向下策略,图4-8:自底向上策略4.3.1概念结构概述教材第55页063/198教材图4-8自底向上策略自底向上策略,逐步扩张与混合策略4.3.1概念结构概述教材第55页064/198逐步扩张法•先定义最重要的核心概念结构•以滚雪球方式向外扩充•直至完成全局概念模式混合策略•自顶向下设计全局概念结构框架•以该框架为基础•自底向上集成各局部概念结构两种方法都以形成完整的全局概念结构为目标。图4-9:概念结构设计主要步骤4.3.1概念结构概述教材第55—56页065/198教材图4-9概念结构设计主要步骤局部E-R→集成→全局概念结构图4-10:经典的概念结构设计方法4.3.1概念结构概述教材第55页066/198教材图4-10经典的概念结构设计方法需求分析自顶向下、概念设计自底向上的经典方法E-R模型与EER模型4.3.2E-R方法教材第56—59页067/198教材定义E-R模型的定义:面向问题的概念模型,用简单的图形方式描述现实世界中的数据,不涉及数据在数据库中的表示和存取方法。实体属性联系扩展模型EER表4-1:E-R图符号(上)4.3.2E-R方法教材第56—59页068/198教材表4-1(上):实体、属性、联系、弱实体与多值属性先识别图形,再说出其语义。表4-1:E-R图符号(下)4.3.2E-R方法教材第56—59页069/198教材表4-1(下):主键、派生、部分码、参与和联系基数主键用下划线;不同联系基数必须准确标注。E-R模型的三个基本元素4.3.2E-R方法教材第56—59页070/198E-R模型的三个基本元素实体矩形框内写实体名属性椭圆框内写属性名主键属性加下划线联系菱形框内写联系名简单属性与复合属性4.3.2E-R方法教材第56—59页071/198简单属性•不能再分为更小部分•教材例:性别、年龄复合属性•具有内部结构•地址→省份、城市、街道、邮编•街道→街道名、门牌号最终E-R图中的复合属性需要进一步处理。单值属性与多值属性4.3.2E-R方法教材第56—59页072/198单值属性•任何时候只有一个值多值属性•同一实体可能对应一组值•教材例:教师毕业院校多值属性在初始E-R图中用双线椭圆表示。派生属性与空值属性4.3.2E-R方法教材第56—59页073/198派生属性•可由其他属性计算•birthday→age•通常不需要存储空值属性•NULL表示未知或不存在•是否允许NULL取决于业务语义派生属性用虚线椭圆表示。最终E-R图中的属性处理4.3.2E-R方法教材第56—59页074/198最终E-R图中的多值属性和复合属性必须进一步处理方式一单值复合属性分解为若干简单属性方式二取值较少的多值简单属性可分解为若干单值属性方式三多值属性可转换为实体或弱实体;多值复合属性转换为实体弱实体集的定义4.3.2E-R方法教材第56—59页075/198教材定义弱实体集的定义:属性不足以形成码、必须依赖其他实体集的存在而存在的实体集。其依赖的强实体集称为标识实体集。标识实体集标识联系部分码弱实体限制与符号4.3.2E-R方法教材第56—59页076/198弱实体集必须满足两项限制1标识实体集与弱实体集之间必须是1:n联系2弱实体在标识联系集中全部参与3弱实体用双线矩形,标识联系用双线菱形4部分码使用虚下划线符号、参与约束和基数必须同时正确。超类、子类与继承4.3.2E-R方法教材第56—59页077/198超类与子类通过继承表达共同与特有属性超类保存全部实体共有的属性子类继承超类全部属性拥有自己的特有属性与超类具有相同实体码同类实体需要细分且细分后属性不同,可以使用子类。特化与泛化4.3.2E-R方法教材第56—59页078/198特化•先设计超类•再按属性差异分割为子类泛化•先设计各子类•再提取共同属性形成超类两个方向都要保持继承关系与实体码一致。不相交与重叠约束4.3.2E-R方法教材第56—59页079/198不相交(D)•子类互斥•一个超类实体至多属于一个子类重叠(O)•子类可以相交•一个实体可以同时属于多个子类D与O表示不相交约束。整体特化与部分特化4.3.2E-R方法教材第56—59页080/198整体特化•每个超类实体必须属于某个子类•超类与圆圈之间用双线部分特化•超类实体可以不属于任何子类•超类与圆圈之间用单线单线与双线表达完备性约束。超类/子类插入删除规则4.3.2E-R方法教材第56—59页081/198删除超类实体•删除超类中的实体•该实体在所有子类中的记录也随之删除插入超类实体•先在超类中插入实体•再按照不相交/重叠约束确定所属子类•整体特化时必须属于至少一个子类插入与删除必须同时满足继承、完备性和不相交约束。图4-11:弱实体示例4.3.2E-R方法教材第59页082/198教材图4-11弱实体示例订单—订单明细弱实体示例,图4-12:多值属性示例4.3.2E-R方法教材第59页083/198教材图4-12多值属性示例教师“毕业院校”多值属性原始模型图4-13:多值属性的变换—分解示例4.3.2E-R方法教材第59页084/198教材图4-13多值属性的变换—分解示例把多值属性分解为三个单值属性图4-14:多值属性的变换—增加弱实体示例4.3.2E-R方法教材第59—60页085/198教材图4-14多值属性的变换—增加弱实体示例增加弱实体处理多值属性,图4-15:复合属性的变换示例4.3.2E-R方法教材第60页086/198教材图4-15复合属性的变换示例复合属性的层次变换,图4-16:教师实体E-R图4.3.2E-R方法教材第60页087/198教材图4-16教师实体E-R图教师实体属性过多时的原始E-R图图4-17:教师实体分解后E-R图4.3.2E-R方法教材第60页088/198教材图4-17教师实体分解后E-R图教师基本信息与变动信息分解,局部视图设计的任务4.3.3局部视图设计教材第60—63页089/198局部视图设计是形成整体概念结构模型的第一步1抽象需求分析阶段收集到的数据2形成实体、属性和码3确定实体之间的联系及联系类型4针对每个局部应用生成分E-R图选择局部应用4.3.3局部视图设计教材第60—63页090/198选择局部应用在多层数据流图中选择适当层次作为设计分E-R图的出发点,通常优先采用能较好反映局部子系统组成的中层DFD。高层DFD只反映系统概貌;中层DFD更适合划分局部应用。从数据字典逐一设计分E-R图4.3.3局部视图设计教材第60—63页091/198参照DFD,从数据字典中逐一抽取并标定1实体2实体的属性3实体的码4实体之间的联系5联系类型:1:1、1:n、m:n实体与属性判断原则4.3.3局部视图设计教材第60—63页092/198实体与属性的确定依据三个基本原则1现实世界中能作为属性对待的,尽量作为属性对待2属性不能再具有需要描述的性质,必须是不可分的数据项3属性不能与其他实体发生联系;E-R图中的联系只发生在实体之间具体问题具体分析:既反映现实世界,又尽量简化E-R模型。全局概念结构设计的定义4.3.4全局概念结构设计教材第60—63页093/198教材定义全局概念结构设计的定义:将多个局部E-R模型集成,去掉冗余的实体集、实体属性和联系集,解决各种冲突,最终产生全局E-R模型。集成局部视图解决冲突消除不必要冗余总体集成与逐步集成4.3.4全局概念结构设计教材第60—63页094/198总体集成•一次把全部局部E-R图合并•适合局部视图较少的系统逐步集成•每次集成两个局部E-R图•逐步形成全局结构无论采用哪种方式,都要处理冲突与冗余。属性冲突4.3.4全局概念结构设计教材第60—63页095/198属性域冲突•属性值类型、取值范围或取值集合不同•教材例:年龄用整数或出生日期表示取值单位冲突•同一属性采用不同计量单位•教材例:身高用厘米或米表示通常由不同部门或设计人员讨论、协商解决。命名冲突4.3.4全局概念结构设计教材第60—63页096/198同名异义•不同意义的对象使用相同名称异名同义•同一含义的对象使用不同名称统一命名必须以业务语义为依据。结构冲突4.3.4全局概念结构设计教材第60—63页097/198结构冲突包含三种情况抽象不同同一对象在不同应用中分别作为实体或属性属性集合不同同一实体在不同局部视图中的属性不完全相同联系类型不同同一组实体在不同局部视图中呈现不同联系类型分别通过统一抽象、取属性并集和按语义调整联系解决。修改与重构4.3.4全局概念结构设计教材第60—63页098/198修改与重构要识别冗余数据和冗余联系1冗余数据是可以由基本数据导出的数据2冗余联系是可以由其他联系导出的联系3并非所有冗余都必须清除;有时为查询效率可有意保留4保留冗余时必须在数据字典中说明,并设置一致性约束局部视图集成的四项验证4.3.4全局概念结构设计教材第60—63页099/198局部视图集成后必须完成四项验证一致整体内部一致准确准确反映各局部视图完整满足全部需求评审提交用户确认例4.3任务4.3.4全局概念结构设计教材第62—66页100/198例4.3:用户下单子系统的六个实体及教材属性1用户:用户编号、密码、用户名称、用户性别、用户头像2订单:订单编号、订购日期、订单总价、订单状态3送货地址:送货地址编号、联系人姓名、联系人性别、联系人电话、送货地址4购物车:购物车编号、数量5食品:食品序号、食品名称、食品介绍、食品图片、食品价格6订单明细:订单明细编号、数量例4.3用户下单联系4.3.4全局概念结构设计教材第62—66页101/198例4.3:用户下单子系统的联系及基数用户—订单:1:n;每个订单只属于一个用户用户—购物车:1:n;每个购物车只属于一个用户用户—送货地址:1:n;每个地址只属于一个用户送货地址—订单:1:n;每个订单只属于一个地址订单—订单明细:1:n;每个明细只属于一个订单食品—订单明细:1:n;每个明细只展示一种食品购物车—食品:m:n;购物车可含多种食品图4-18:用户下单子系统各实体的E-R图4.3.4全局概念结构设计教材第62—66页102/198教材图4-18用户下单子系统各实体的E-R图用户下单子系统各实体E-R图图4-19:用户下单子系统的局部E-R图4.3.4全局概念结构设计教材第62—66页103/198教材图4-19用户下单子系统的局部E-R图用户下单子系统局部E-R图例4.3商家接单子系统4.3.4全局概念结构设计教材第62—66页104/198例4.3:商家接单子系统的四个实体及教材属性1商家:编号、名称、商家地址、商家简介、商家图片、起送费、配送费2食品:食品编号、食品名称、食品介绍、食品价格3订单:订单编号、订购日期、订单总价、订单状态、订单明细4购物车:购物车编号、购买数量商家—食品、商家—订单、商家—购物车均按教材语义建立联系。图4-20:商家接单子系统各实体的E-R图4.3.4全局概念结构设计教材第62—66页105/198教材图4-20商家接单子系统各实体的E-R图商家接单子系统各实体E-R图图4-21:商家接单子系统的局部E-R图4.3.4全局概念结构设计教材第62—66页106/198教材图4-21商家接单子系统的局部E-R图商家接单子系统局部E-R图例4.3冲突处理4.3.4全局概念结构设计教材第62—66页107/198例4.3:合并局部E-R图前先解决冲突命名冲突①食品序号/食品编号统一为“食品编号”命名冲突②数量/购买数量统一为“数量”结构冲突①订单明细由属性统一为实体结构冲突②食品实体属性取两个局部视图属性的并集图4-22:优化后的全局E-R图4.3.4全局概念结构设计教材第62—66页108/198教材图4-22优化后的全局E-R图优化后的全局E-R图,概念结构阶段检查4.3.4全局概念结构设计教材第62—66页109/198概念结构阶段形成一条完整链路需求模型DFD与数据字典局部视图实体、属性、码和联系视图集成处理属性、命名和结构冲突全局E-R消除不必要冗余并接受验证检查时应能对任意对象完成实体/属性/联系及冲突分类。逻辑结构设计的定义4.4逻辑结构设计教材第66页110/198教材定义逻辑结构设计的定义:将现实世界的概念结构模型变换为适应于特定数据库管理系统的逻辑数据模型。选择数据模型适配特定DBMS优化数据模型三个步骤4.4逻辑结构设计教材第66页111/198逻辑结构设计一般分三步一般模型概念结构→关系、网状或层次模型特定DBMS转换为目标DBMS支持的模型模型优化检查并优化逻辑结构E-R转关系模型的实质4.4逻辑结构设计教材第66页112/198转换实质实体、属性和实体之间的联系都要转化为关系模式,并确定关系模式的属性和码。转换规则的核心:关系如何表示实体与联系。实体转换原则与例4.44.4逻辑结构设计教材第66—67页113/198例4.4:实体转换为关系模式,实体标识符成为关系的码用户(用户编号,密码,用户名称,用户性别,用户头像)主码属性必须使用下划线标注。1:1联系转换规则4.4逻辑结构设计教材第66页114/198转换为独立关系•两端实体的码和联系自身属性成为关系属性•每个实体的码都是该联系的候选码并入任意一端•在被并入端加入另一端实体的码•同时加入联系自身的属性1:1联系有独立关系、并入左端、并入右端三种处理。例4.5方案一4.4逻辑结构设计教材第66—67页115/198例4.5方案一:1:1联系转换为独立关系骑手(骑手编号,骑手姓名,骑手联系方式)订单(订单编号,订购日期,订单总价,订单状态)派送A(骑手编号,订单编号)派送B(骑手编号,订单编号)1:1独立联系中,两端实体的码都可作为候选码。例4.5方案二、三4.4逻辑结构设计教材第66页116/198例4.5方案二、三:把1:1联系并入任意一端并入骑手(骑手编号,骑手姓名,骑手联系方式,订单编号)并入订单(订单编号,订购日期,订单总价,订单状态,骑手编号)并入哪一端,就在该端加入另一端的码。1:n联系转换规则4.4逻辑结构设计教材第66页117/198转换为独立关系•两端实体的码和联系自身属性成为关系属性•n端实体的码作为该联系的码并入n端关系•把1端实体的码加入n端关系•1端码作为外码,n端原有码仍为主码•同时加入联系自身属性1:n联系不能把n端码简单并入1端。例4.6方案一4.4逻辑结构设计教材第66—67页118/198例4.6方案一:1:n联系转换为独立关系用户(用户编号,密码,用户名称,用户性别,用户头像)订单(订单编号,订购日期,订单总价,订单状态)下单(订单编号,用户编号)独立联系的码取n端实体的码。例4.6方案二4.4逻辑结构设计教材第66—67页119/198例4.6方案二:把1端码并入n端关系用户(用户编号,密码,用户名称,用户性别,用户头像)订单(订单编号,订购日期,订单总价,订单状态,用户编号)用户编号放入n端“订单”,订单编号仍是主码。m:n联系转换规则4.4逻辑结构设计教材第67页120/198m:n转换规则m:n联系必须转换为一个独立关系:各实体的码和联系自身属性成为关系属性,各实体码的组合构成该联系关系的码。组合码中的每个实体码同时承担对原实体关系的引用。例4.74.4逻辑结构设计教材第67页121/198例4.7:m:n联系必须单独转换为关系购物车(购物车编号,数量)食品(食品编号,食品名称,食品介绍,食品图片,食品价格)包含(购物车编号,食品编号,数量)联系关系的码由两端实体码组合而成。三个及以上实体多元联系转换规则4.4逻辑结构设计教材第67页122/198多元联系转换规则三个或三个以上实体间的一个多元联系转换为一个关系:参与联系的各实体码和联系自身属性成为关系属性,各实体码的组合构成关系的码。多元联系的码由所有参与实体的码组合而成。例4.84.4逻辑结构设计教材第67页123/198例4.8:三个实体间的多元联系转换为一个关系评价(用户编号,餐厅编号,食品编号)多元联系关系的码由所有参与实体的码组合而成。自联系转换规则4.4逻辑结构设计教材第66—67页124/198同一实体内部的自联系仍按联系基数处理1:1自联系可独立成关系,或把角色码并入实体关系1:n自联系把1端角色码作为外码并入n端角色m:n自联系独立成关系,两个角色码组成关系码例4.94.4逻辑结构设计教材第67页125/198例4.9:1:n自联系并入实体关系餐厅管理员(管理员编号,姓名,性别,联系电话,职责,上级管理员编号)上级管理员编号与管理员编号属于同一个域。相同码关系模式合并4.4逻辑结构设计教材第67页126/198具有相同码的关系模式可以合并订单(订单编号,订购日期,订单总价,订单状态,用户编号)例4.6中“订单”和“下单”具有相同主码,可以合并以减少关系个数。不良关系模式S4.4逻辑结构设计教材第67页127/198先判断这个关系模式可能出现哪些问题S(学号,姓名,性别,学院名称,院长,课程号,课程名,成绩)一个关系同时混合学生、学院、课程和成绩信息。数据冗余与修改复杂4.4逻辑结构设计教材第67页128/198数据冗余•学生选修多门课程时•姓名、性别、学院、院长、课程名重复存储修改复杂•学生转学院时•学院名称和院长等信息需要同步修改•容易产生不一致问题来自关系模式中的不良依赖。插入异常与删除异常4.4逻辑结构设计教材第67—68页129/198插入异常•学生未选课时•课程号为空导致基本信息无法插入删除异常•删除唯一选课记录时•学生基本信息也随之丢失解决方向:合理分解并规范化关系模式。4.5数据库的物理设计4.5数据库的物理设计教材第68页130/198教材定义数据库物理设计的定义:在已确定的逻辑结构基础上,选取一个最适合应用环境的物理结构(存储结构与存取方法)的过程。依赖DBMS依赖硬件兼顾时间与空间效率两个步骤与三项权衡4.5数据库的物理设计教材第68页131/198物理设计依赖三方面信息DBMS特征存储结构与存取方法应用环境处理频率与响应时间外存设备设备特性与容量聚簇的作用与代价4.5数据库的物理设计教材第68页132/198聚簇的作用•把聚簇码值相同的记录集中存放•提高特定查询效率•聚簇码值只需成组存储,可节省部分空间聚簇的代价•建立和维护开销大•建立聚簇会移动记录并使原索引失效•聚簇码改变时需要移动记录聚簇只能提高某些特定应用的性能。适合建立聚簇的三类条件,列出4.5数据库的物理设计教材第68页133/198只有满足教材列出的条件时才考虑建立聚簇连接频繁经常一起进行连接操作的关系重复率高某些属性列上的值重复率很高等值比较频繁一组属性经常出现在相等比较条件中不满足这些条件时,聚簇可能适得其反。存取路径设计4.5数据库的物理设计教材第68页134/198时间效率•查询与更新速度•响应时间要求•合适的索引和存取路径空间效率•存储空间利用率•冗余与维护代价•物理结构占用评价物理结构时必须同时考虑时间与空间。数据存放位置4.5数据库的物理设计教材第67—69页135/198按应用特征安排数据存放位置按变化与频度分开易变/稳定、经常存取/低频存取分别存放按介质特性安排高频数据放高速存储器;备份和日志可考虑磁带按磁盘并行安排表与索引、日志与数据库对象分盘;大表可分盘系统配置4.5数据库的物理设计教材第69页136/198根据具体应用环境重新确定系统配置参数并发规模同时使用数据库的用户数对象规模同时打开的数据库对象数缓冲区缓冲区长度和个数调度时间片大小容量数据库大小存储装填因子评价物理结构4.5数据库的物理设计教材第69页137/198物理结构评价从定量估算入手空间估算各方案的存储空间时间估算各方案的存取时间维护估算维护代价并与用户要求权衡比较后选择较优方案;不满足用户需求时必须修改设计。物理方案判断练习4.5数据库的物理设计教材第68页138/198依据教材条件判断物理方案考虑聚簇连接频繁、重复率高或等值比较频繁考虑索引确定属性次码、单码/组合索引及索引数量考虑分开存放易变与稳定、高频与低频、表/索引/日志分盘所有判断都要回到存取时间、空间利用率和维护代价的权衡。4.6数据库的实施4.6数据库的实施教材第69—71页139/1984.6数据库的实施建立数据库加载数据编制与调试程序实施把设计结果变成可以运行的数据库系统。定义数据库结构4.6数据库的实施教材第69—70页140/198数据库实施包含三项核心工作建立数据库用DDL定义数据库结构组织数据入库筛选、转换、输入与校验编制调试程序应用程序、事务与测试数据入库四步4.6数据库的实施教材第70页141/198小型系统组织实际数据入库的四个步骤1筛选数据:集中归类、整理并筛出需要入库的原始数据2转换数据格式:把原始格式转换为数据库要求的格式3输入数据:由操作员把转换后的数据输入计算机4校验数据:检查已输入数据是否有误大中型系统的数据装载4.6数据库的实施教材第70页142/198大中型数据库系统通常采用计算机辅助装载1仅靠手工输入耗费大量人力物力,且难以保证正确性2使用计算机辅助完成数据装载和校验3已有旧系统时可编写格式转换、校验子系统编制与调试应用程序4.6数据库的实施教材第69—70页143/198应用程序设计与数据库设计并行进行1数据库结构建立后即可编制和调试应用程序2编制调试应用程序与组织数据入库同步进行3数据入库尚未完成时,可以先使用模拟数据调试不仅检查软件,也能发现数据库设计是否合理。数据库试运行4.6数据库的实施教材第69—70页144/198数据库试运行也称联合调试1应用程序调试完成且已有少量数据入库后开始2实际运行应用程序,执行各种数据库操作3进一步评价系统是否达到设计要求、满足用户需求功能测试与性能测试4.6数据库的实施教材第70页145/198功能测试•实际运行应用程序•执行数据库的各种操作•测试应用程序的各项功能性能测试•测量数据库系统的性能指标•分析是否符合设计目标试运行以功能和性能两类证据评价实施结果。4.7PowerDesigner应用4.7.1PowerDesigner简介与安装教材第71—72页146/1984.7PowerDesigner应用安装与认识ER图设计PDM与SQL脚本软件演示严格对应教材PowerDesigner16界面。CDM、LDM、PDM4.7.1PowerDesigner简介与安装教材第71—72页147/198PowerDesigner支持多层次数据库建模CDM概念数据模型LDM逻辑数据模型PDM物理数据模型SQL数据库脚本教材使用PowerDesigner16完成模型转换与脚本生成。PowerDesigner16安装进度4.7.1PowerDesigner简介与安装教材第71—72页148/198安装演示按教材八步进行第1步打开安装包第2步选择语言第3步选择地区第4步确认协议与地址第5步选择工具第6步确认工具地址第7步导入配置第8步启动程序图4-23:PowerDesigner安装包4.7.1PowerDesigner简介与安装教材第71页149/198教材图4-23PowerDesigner安装包图4-24:语言选择4.7.1PowerDesigner简介与安装教材第72—75页150/198教材图4-24语言选择图4-25:地区选择4.7.1PowerDesigner简介与安装教材第72—75页151/198教材图4-25地区选择图4-26:安装地址修改4.7.1PowerDesigner简介与安装教材第72—75页152/198教材图4-26安装地址修改图4-27:工具选择4.7.1PowerDesigner简介与安装教材第72—75页153/198教材图4-27工具选择图4-28:工具安装地址4.7.1PowerDesigner简介与安装教材第72—75页154/198教材图4-28工具安装地址图4-29:用户配置文件导入设置4.7.1PowerDesigner简介与安装教材第72—75页155/198教材图4-29用户配置文件导入设置图4-30:程序启动页面4.7.1PowerDesigner简介与安装教材第72—75页156/198教材图4-30程序启动页面安装阶段暂停检查4.7.1PowerDesigner简介与安装教材第75—78页157/198PowerDesigner常用的三类数据模型概念模型CDM面向用户与业务独立于DBMS逻辑模型LDM关系、属性与约束仍不绑定具体存储物理模型PDM面向具体DBMS表、列、索引与脚本使用PowerDesigner设计ER图的流程4.7.1PowerDesigner简介与安装教材第75—78页158/198新建CDM→添加实体→设置属性→建立关系→生成报告图4-31:选择文件4.7.2ER图设计教材第75—78页159/198教材图4-31选择文件图4-32:选择概念数据模型4.7.2ER图设计教材第75—78页160/198教材图4-32选择概念数据模型图4-33:工具浮窗4.7.2ER图设计教材第75—78页161/198教材图4-33工具浮窗图4-34:实体类构建4.7.2ER图设计教材第75—78页162/198教材图4-34实体类构建图4-35:常规选项卡4.7.2ER图设计教材第75—78页163/198教材图4-35常规选项卡图4-36:属性选项卡4.7.2ER图设计教材第75—78页164/198教材图4-36属性选项卡图4-37:设置关系4.7.2ER图设计教材第75—78页165/198教材图4-37设置关系图4-38:生成ER图报告4.7.2ER图设计教材第75—78页166/198教材图4-38生成ER图报告4.7.3生成物理模型与SQL脚本4.7.3PDM与SQL脚本教材第78—79页167/1984.7.3生成物理模型与SQL脚本生成PDM选择目标DBMS生成SQL脚本自动生成后仍要人工审核模型和脚本。图4-39:生成物理模型4.7.3PDM与SQL脚本教材第79页168/198教材图4-39生成物理模型图4-40:设置SQL脚本格式4.7.3PDM与SQL脚本教材第79页169/198教材图4-40设置SQL脚本格式图4-41:设置SQL脚本选项4.7.3PDM与SQL脚本教材第79页170/198教材图4-41设置SQL脚本选项物理模型和SQL脚本注意事项4.7.3PDM与SQL脚本教材第80页171/198操作检查模型或SQL脚本由工具生成后,仍需人工审核、修改、评审和验证。自动生成提高效率,但不能替代数据库设计判断。4.8外卖点餐系统数据库设计案例4.8.1外卖点餐数据库设计过程教材第80—81页172/1984.8外卖点餐系统数据库设计案例概念模型逻辑模型物理模型用同一项目串联本章全部设计阶段。九项功能(1—3)4.8.1外卖点餐数据库设计过程教材第80—81页173/198外卖点餐系统数据库设计围绕四类目标可用支撑用户点餐全流程一致统一实体、属性和联系高效兼顾查询和事务处理可维护支持扩充、备份和优化九项功能(4—6)4.8.1外卖点餐数据库设计过程教材第81—82页174/198外卖点餐系统九项功能(4—6)4购物车操作选购、修改数量、删除,并计算总额和总数量5订单生成与判断总额加配送费;达到起送费才可下单6送货地址管理默认上次地址;可选择、添加、修改或删除地址九项功能(7—9)4.8.1外卖点餐数据库设计过程教材第81—82页175/198外卖点餐系统九项功能(7—9)7订单确认与生成确认食品列表,生成订单和订单明细8历史订单查询浏览自己的历史订单信息9用户注册与登录新用户注册;已注册用户登录七个实体总览4.8.1外卖点餐数据库设计过程教材第81—82页176/198需求分析从业务描述中抽象出七个实体商家商家信息食品食品信息购物车购物车信息送货地址配送地址信息订单订单信息订单明细订单明细信息用户用户信息商家与食品实体字段4.8.1外卖点餐数据库设计过程教材第81页177/198商家与食品实体字段(中文名/英文名)1商家:编号businessId、名称businessName、商家地址businessAddress、商家简介businessExplain、商家图片businessImg、起送费startPrice、配送费deliveryPrice2食品:食品编号foodId、食品名foodName、食品介绍foodExplain、食品图片foodImg、食品价格foodPrice、所属商家编号businessId送货地址与购物车实体字段4.8.1外卖点餐数据库设计过程教材第81页178/198送货地址与购物车实体字段(保留教材英文名)1送货地址:daId、concatName、concatSex、concatTel、address、userId2购物车:cartId、foodId、userId、quantity教材使用concatName、concatSex、concatTel等写法,本页按教材保留。订单、订单明细与用户实体字段4.8.1外卖点餐数据库设计过程教材第83页179/198订单、订单明细与用户实体字段1订单:orderId、userId、businessId、orderDate、orderTotal、daId、orderState(0未支付;1已支付)2订单明细:odId、orderId、foodId、quantity、businessId3用户:userId、password、userName、userSex(1男;0女)、userImg订单业务关系4.8.1外卖点餐数据库设计过程教材第82页180/198订单业务的教材语义与联系基数用户—送货地址:1:n;一个地址只对应一个用户

温馨提示

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

评论

0/150

提交评论