1、11/11/2022111/11/20222u对于一个给定的应用环境构造最优的数据库模式对于一个给定的应用环境构造最优的数据库模式u使用数据库的各类系统使用数据库的各类系统u信息系统是提供信息,辅助人们对应用环境进行控信息系统是提供信息,辅助人们对应用环境进行控制和进行决策的系统制和进行决策的系统u数据库是信息系统的核心和基础数据库是信息系统的核心和基础11/11/20223补充知识11/11/20224u“三分技术,七分管理,十二分基础数据三分技术,七分管理,十二分基础数据”u过去的结构化设计和逐步求精设计方法过去的结构化设计和逐步求精设计方法 着重于处理过程的特性,而推迟数据结构的设计着重
2、于处理过程的特性,而推迟数据结构的设计u早期的数据库设计早期的数据库设计 致力于对数据建模法,而忽视行为设计致力于对数据建模法,而忽视行为设计(P204图)图)结构特性结构特性(数据分析数据分析)行为特性行为特性(功能分析功能分析)11/11/20225u和技术人员水平和经验有关和技术人员水平和经验有关u将数据库设计分阶段进行将数据库设计分阶段进行uE-R模型、关系范式理论等方法应用于设计的不同阶模型、关系范式理论等方法应用于设计的不同阶段段本质上还是手工设计法,基本思想是设计过程迭代、本质上还是手工设计法,基本思想是设计过程迭代、逐步求精逐步求精uDesign 2000(ORACLE),Po
3、werDesigner(SYBASE)u数据设计和应用设计同时进行数据设计和应用设计同时进行 很多计算机辅助软件工程(很多计算机辅助软件工程(CASE,Computer Aided Software Engineering)工具工具11/11/20226u数据建模数据建模、UML建模建模和和业务流程建模业务流程建模u对对UML的全面支持的全面支持u扩大了现有的扩大了现有的Java,C+,Corba IDL,PowerBuilder和和XML的编码生成的编码生成u增加了对增加了对Microsoft.Net平台上的最流行语言的支持平台上的最流行语言的支持11/11/20227需求收集和分析设计概念
4、结构设计逻辑结构数据模型优化设计物理结构设计评价,性能预测物理实现试验性运行使用、维护数据库需求分析阶段需求分析阶段概念设计阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段物理设计阶段数据库实施阶段数据库实施阶段数据库运行维护阶段数据库运行维护阶段应用需求(数据、处理)转换规则、DBMS功能、优化方法应用要求DBMS详细特征不满意不满意需求文档数据字典数据流图等用E-R图描述的概念模型某种数据模型并优化存储安排方法选择存取路径建立编写模式数据装入数据库试运行性能检测、转储/恢复数据库重组和重构按照规范化设计的方法过程迭代、逐步求精的设计思想11/11/2022811/11/20229概念模
5、式逻辑模式内模式应用要求应用要求应用要求应用要求外模式外模式外模式外模式综合转换映象映象应用1应用2应用3应用4应用1应用2应用3应用4需求分析阶段概念设计阶段逻辑设计阶段逻辑设计阶段物理设计阶段11/11/202210u信息要求信息要求 需存储的数据需存储的数据u处理要求处理要求 要完成的功能、响应时间、处理方式等要完成的功能、响应时间、处理方式等u安全性与完整性要求安全性与完整性要求 用户管理、数据管理、数据一致性等用户管理、数据管理、数据一致性等11/11/20221111/11/20221211/11/202213u自顶向下、逐层分解自顶向下、逐层分解u形成形成需求文档需求文档、数据字
6、典数据字典(DD)及多层及多层数据流数据流图图(DFD)数据来源数据存储数据输出处理某一层次的抽象图11/11/202214调查组织机构总体情况明确用户需求熟悉业务活动概念设计确定系统边界DFDDD用户设计员11/11/202215领书单领书单 进书通知进书通知 购书单购书单 缺书单缺书单 学学生生教材教材购销购销系统系统书库书库保管保管员员11/11/202216领书单 进书通知 进书通知 购书单缺书单 1销售 2采购书库保管员学生F1教材存量表 F2缺书登记表 11/11/202217顾客P1销售P2采购供应商F1 配件库存P3会计付款付款收据应付款通知收款通知到货通知订货单订货单发货单发
7、货单例子:销售采购管理系统第1层数据流图11/11/202218F2 配件目录顾客P1.1编辑订货单业务员P1.3确定订货P1.5产生暂存订货单P1.2登录新顾客F3 顾客P1.4开发货单修改库存P1.6对照暂存订货单采购F4 暂存订货单P1.8编制销售、库存报表P1.7检索库存F1 配件库存经理F5 销售历史F10 应收款明细帐第2层数据流图之一(销售)发货单订货单不合格合格新顾客不满足的订货可发的订货到货通知11/11/202219F4 暂存订货单P2.1按配件汇总P2.2确定订货的配件P2.5修改库存、待订数量F6 待订货的配件P2.6编制到货通知P2.4核对发货单F1 配件库存P2.3
8、按供应商汇总F8 向供应商的订货单F9 应付款明细帐销售供应商订货单发货单错误发货单正确发货单第2层数据流图之二(采购)11/11/202220顾客P3.1开收据并修改明细帐P3.5编制会计报表经理P3.4修改总帐F10 应收款明细帐F11 总帐P3.3付款并修改明细帐P3.2核对付款单F9 应付款明细帐供应商第2层数据流图之三(会计)应付款通知付款收据11/11/202221u数据项描述数据项描述=数据项名,数据项含义说明,别名,数数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其它数据项的据类型,长度,取值范围,取值含义,与其它数据项的逻辑关系,数据项之间的联系逻辑关
9、系,数据项之间的联系u数据结构描述数据结构描述=数据结构名,含义说明,组成:数据结构名,含义说明,组成:数据数据项或数据结构项或数据结构u数据流描述数据流描述=数据流名,说明,数据流来源,数据流数据流名,说明,数据流来源,数据流去向,组成:去向,组成:数据结构数据结构,平均流量,高峰期流量,平均流量,高峰期流量u数据存储描述数据存储描述=数据存储名,说明,编号,输入的数数据存储名,说明,编号,输入的数据流,输出的数据流,组成:据流,输出的数据流,组成:数据结构数据结构,数据量,存,数据量,存取频度,存取方式取频度,存取方式u处理过程描述处理过程描述=处理过程名,说明,输入:处理过程名,说明,输
10、入:数据流数据流,输出:输出:数据流数据流,处理:,处理:简要说明简要说明数据依赖数据完整性约束数据完整性约束11/11/20222211/11/202223u将在需求分析阶段得到的应用需求抽象为信将在需求分析阶段得到的应用需求抽象为信息世界的结构,常用息世界的结构,常用E-R模型来描述模型来描述u独立于机器独立于机器u真实充分地反映客观世界真实充分地反映客观世界u易于理解易于理解u易于更改易于更改u易于转换成为数据模型易于转换成为数据模型11/11/202224u首先定义全局概念结构的框架,然后逐步细化首先定义全局概念结构的框架,然后逐步细化u首先定义各局部应用的概念结构,然后集成首先定义各
11、局部应用的概念结构,然后集成u首先定义最重要的核心概念结构,然后向外扩充首先定义最重要的核心概念结构,然后向外扩充u首先用自顶向下策略设计全局概念结构的框架,再集首先用自顶向下策略设计全局概念结构的框架,再集成用自底向上策略设计的各局部概念结构成用自底向上策略设计的各局部概念结构P214图11/11/202225需求分析逻辑结构设计数据抽象局部视图设计视图集成用户反馈直至满意DDDFD局部E-R图总E-R图11/11/202226u抽象出对客观世界中的概念、对象的本质特性抽象出对客观世界中的概念、对象的本质特性u用于在需求分析阶段将收集到的数据进行分类、用于在需求分析阶段将收集到的数据进行分类
12、、组织组织(聚集聚集),从而形成实体、实体的属性,标,从而形成实体、实体的属性,标识实体的码,确定实体间的联系类型,以便设识实体的码,确定实体间的联系类型,以便设计相应的计相应的E-R图图u分类分类u聚集聚集u概括概括11/11/202227u将一类具有共同特性和行为的对象定义为一种将一类具有共同特性和行为的对象定义为一种某类型,某类型,在在E-R模型中的实体型就是这种抽象,模型中的实体型就是这种抽象,如学生,课程如学生,课程u抽象了对象的值和型之间抽象了对象的值和型之间“is member of”语义语义学生“is member of”张英王平赵斌实体型课程“is member of”C语言
13、数据库操作系统实体型11/11/202228u定义某类型的组成成分,对应定义某类型的组成成分,对应E-R模型中实体的模型中实体的属性属性u抽象了对象类型和其成分之间的抽象了对象类型和其成分之间的“is part of”语语义义学生学号姓名专业班级仓库号面积主任仓库姓名年龄性别工资“is part of”实体型属性11/11/202229u定义类型之间的子集联系,形成超定义类型之间的子集联系,形成超(父父)类、子类类、子类u抽象了类型之间抽象了类型之间“is subset of”语义语义u概括的重要性质:继承,即子类集成超类的所有抽象概括的重要性质:继承,即子类集成超类的所有抽象u是是E-R模型
14、的抽象机制的扩充模型的抽象机制的扩充学生学生本科生本科生研究生研究生概括的E-R表示“is subset of”超类子类学号,姓名,性别,年龄专业,综合排名导师,研究方向11/11/20223011/11/202231u如物资管理、人事管理、销售管理等如物资管理、人事管理、销售管理等u根据数据抽象后所的得根据数据抽象后所的得DD,并参照并参照DFD,标定局部应用标定局部应用中的实体、实体属性、实体码,确定实体间的联系及类中的实体、实体属性、实体码,确定实体间的联系及类型型u设计准则设计准则(某事物作为实体还是作为属性更恰当?某事物作为实体还是作为属性更恰当?)能作为属性对待的事物尽量作为属性对
15、待能作为属性对待的事物尽量作为属性对待 能作为属性的事物必须能作为属性的事物必须 不能再具有需要描述的性质不能再具有需要描述的性质 不能与其他实体具有联系不能与其他实体具有联系(E-R图中的联系是实体之间的联系图中的联系是实体之间的联系)11/11/202232职工职工号姓名年龄职称职工职工号姓名年龄职称职称代号号工资住房标准 附加福利聘任当职称没有需进一步描述的特性时,作属性当职称有需进一步描述的特性时,作实体如:P21911/11/202233如销售管理子系统的局部E-R图顾客应收帐订单订单细则折扣规则产品描述组成参照1参照2订货支付1nn1n1n1n1顾客号,顾客名,地址,电话,顾客号,
16、订单号,发票号,应收金额,支付日期,订单号,顾客号,订货日期,订单号,细则号,零件号,订货数,金额,产品号,产品名,单价,产品号,订货量,折扣P22011/11/202234如公司部门管理系统的E-R图部门项目职工电话包括承担n1n1房间号,面积项目号,预算费参与mn办公室包含1n包括n1职务承担11部门号,预算费,领导人职工号电话号码,说明职工号,姓名,办公电话工资情况11/11/202235u多个局部多个局部E-R图一次集成,或以累加方式逐步集成图一次集成,或以累加方式逐步集成u合并局部合并局部E-R图,生成初步图,生成初步E-R图图 依靠协商或应用语义消除各局部依靠协商或应用语义消除各局
17、部E-R图之间的图之间的 属性冲突:属性冲突:如属性的类型、取值范围冲突,或属性取值单如属性的类型、取值范围冲突,或属性取值单位冲突位冲突 命名冲突:命名冲突:如同名异义,或一义多名如同名异义,或一义多名 结构冲突:结构冲突:如不同应用中,同一对象有不同的抽象或同一如不同应用中,同一对象有不同的抽象或同一实体包含的属性不完全相同实体包含的属性不完全相同u修改和重构,生成基本修改和重构,生成基本E-R图图 依据依据分析分析和和规范化理论规范化理论来消除冗余来消除冗余11/11/202236u将基本将基本E-R图转换为与选用图转换为与选用DBMS所支持的数据模型所支持的数据模型相符合的逻辑结构相符
18、合的逻辑结构概念模型基本E-R图一般数据模型关系、网状、层次特定DBMS支持的数据模型优化的数据模型转换规则DBMS的特点和限制优化方法11/11/202237u将实体和实体的属性及实体间的联系转换为将实体和实体的属性及实体间的联系转换为关系模式关系模式u确定关系模式的属性和码确定关系模式的属性和码11/11/202238u一个一个1:1联系可以转换为一个独立的关系模式,也可联系可以转换为一个独立的关系模式,也可以与任意对应的关系模式合并以与任意对应的关系模式合并u一个一个1:n联系可以转换为一个独立的关系模式,也联系可以转换为一个独立的关系模式,也可以与可以与n端端对应的关系模式合并对应的关
19、系模式合并u一个一个m:n联系转换为一个关系模式联系转换为一个关系模式u三个或三个以上实体间的一个多元联系可以转换为三个或三个以上实体间的一个多元联系可以转换为一个关系模式一个关系模式u具有相同码的关系模式可以合并具有相同码的关系模式可以合并11/11/202239如公司部门管理系统的E-R图及其转换成的关系模式部门项目职工电话包括承担n1n1办公室号,面积项目号,预算费参与mn办公室包含1n包括n1职务承担11部门号,预算费,领导人职工号电话号码,说明职工号,姓名,办公电话担任时期,工资分担任务 部门(部门号,部门预算费,领导人职工号)职工(职工号,姓名,办公电话,部门号)办公室(办公室号,
20、面积,部门号)项目(项目号,项目预算费,部门号)电话(电话号码,说明,办公室号)项目承担情况(职工号,项目号,分担任务)工资历史(职工号,职务,担任时期,工资)部门(D#,Buget,MgrE#)职工(E#,D#,J#,Phone#)项目(J#,D#,JBuget)办公室(O#,D#,Area)电话(Phone#,O#,Owner)工资史(E#,职务,工资)11/11/202240u确定数据依赖确定数据依赖u对各个关系模式之间的数据依赖进行极小化处理,对各个关系模式之间的数据依赖进行极小化处理,消除冗余消除冗余u按照数据依赖的理论对关系模式逐一分析,确定各按照数据依赖的理论对关系模式逐一分析,
21、确定各关系模式属于第几范式关系模式属于第几范式u按用户需求分析这些模式是否合适,是否需合并或按用户需求分析这些模式是否合适,是否需合并或分解分解u对关系模式进行必要的分解,提高数据操作效率和对关系模式进行必要的分解,提高数据操作效率和存储空间利用率存储空间利用率11/11/202241u保证系统安全性保证系统安全性u简化用户对系统的使用简化用户对系统的使用11/11/202242u为一个给定的逻辑数据模型选定一个最合适应用要求的为一个给定的逻辑数据模型选定一个最合适应用要求的物理结构的过程物理结构的过程u应用环境对所需处理的事务、所涉及到的数据,各种操应用环境对所需处理的事务、所涉及到的数据,
22、各种操作的运行频率及响应时间等性能要求作的运行频率及响应时间等性能要求u事务响应时间小、存储空间利用率高、事物吞吐率大事务响应时间小、存储空间利用率高、事物吞吐率大11/11/202243u数据库在物理设备上的存储结构与存取方法数据库在物理设备上的存储结构与存取方法u依赖于给定的计算机系统依赖于给定的计算机系统u设计关系、索引等数据库文件的物理存储结构设计关系、索引等数据库文件的物理存储结构u为关系模式选择存取方法为关系模式选择存取方法u确定数据库的物理结构确定数据库的物理结构u对物理结构进行评价对物理结构进行评价11/11/202244u确定需要存储的数据对象确定需要存储的数据对象 如关系、
23、索引、聚簇、日志、备份等如关系、索引、聚簇、日志、备份等u确定数据的存放位置确定数据的存放位置 如区分稳定数据和易变数据、经常存取部分和不常存取部分、如区分稳定数据和易变数据、经常存取部分和不常存取部分、机密数据和普通数据等,分开存放机密数据和普通数据等,分开存放u确定数据的存储结构确定数据的存储结构 如顺序结构、随机结构、链表结构、树状结构等如顺序结构、随机结构、链表结构、树状结构等u确定数据的存取方法确定数据的存取方法 如索引如索引(如如B树、树、B+树、树、R树等树等)、聚簇、聚簇、HASH法等法等u确定系统配置确定系统配置 如同时使用数据库的最大用户数、同时打开的数据库对象数、如同时使
24、用数据库的最大用户数、同时打开的数据库对象数、内存分配参数、缓冲区分配参数、存储分配参数、物理块大小、内存分配参数、缓冲区分配参数、存储分配参数、物理块大小、物理块装填因子、时间片大小、数据库大小、锁的数目等物理块装填因子、时间片大小、数据库大小、锁的数目等11/11/202245u分析时间效率、空间效率、维护代价及用户分析时间效率、空间效率、维护代价及用户要求等要求等数据库的物理设计步骤(二)11/11/202246u索引法索引法 为加快按某个属性为加快按某个属性(组组)进行存取的效率,根据该属性进行存取的效率,根据该属性(组组)建立索引,如建立索引,如B+树树 索引建立在单个关系上索引建立
25、在单个关系上11/11/202247u聚簇聚簇(Cluster)法法 为提高按聚簇码进行查询的效率,将聚簇码上具有相同值的元为提高按聚簇码进行查询的效率,将聚簇码上具有相同值的元组存放在连续物理块组存放在连续物理块 一个数据库可以建立多个聚簇,但一个关系只能由一个聚簇一个数据库可以建立多个聚簇,但一个关系只能由一个聚簇 聚簇可以建立在单表上,也可建立在进行连接操作的多个表上聚簇可以建立在单表上,也可建立在进行连接操作的多个表上 SQL中与聚簇有关的操作如中与聚簇有关的操作如ORDER BY,GROUP BY,UNION,DISTINCT等等uHASH法法 设计合理的设计合理的HASH函数,根据
26、关键字值计算得到存储地址函数,根据关键字值计算得到存储地址 对可能出现的地址冲突现象设计合理的解决方案对可能出现的地址冲突现象设计合理的解决方案 当某属性当某属性(组组)主要出现在等连接条件或相等比较条件中,而且主要出现在等连接条件或相等比较条件中,而且关系的大小可以预知,或关系大小动态变化而关系的大小可以预知,或关系大小动态变化而DBMS提供了提供了HASH存取方法时,可考虑选用存取方法时,可考虑选用11/11/202248u模式定义模式定义 使用选定使用选定DBMS支持的支持的DDL语言语言u数据载入数据载入 手工逐条录入手工逐条录入 数据转换工具数据转换工具u应用程序编码和调试应用程序编
27、码和调试u数据库试运行数据库试运行 用实验数据测试系统功能和性能用实验数据测试系统功能和性能11/11/202249u主要由主要由DBA完成完成u进行数据库转储和恢复,数据库安全、完整进行数据库转储和恢复,数据库安全、完整性控制,数据库性能监督、分析和改造,数性控制,数据库性能监督、分析和改造,数据库重组和重构据库重组和重构 数据库重组:不改变原设计中的逻辑和物理结构,数据库重组:不改变原设计中的逻辑和物理结构,而对部分表重新组织其存储情况,如重新安排存而对部分表重新组织其存储情况,如重新安排存储位置、回收垃圾等,以提高系统性能储位置、回收垃圾等,以提高系统性能 数据库重构:部分调整或修改数据
28、库的逻辑和物数据库重构:部分调整或修改数据库的逻辑和物理结构,以满足新的应用需求。理结构,以满足新的应用需求。11/11/202250 设计订货系统的数据库,包括顾客、货物和订货单信息设计订货系统的数据库,包括顾客、货物和订货单信息初模式:顾客(顾客号,收货地址,赊购限额,余额,折扣)货物(货物号,制造厂商,实际存货量,规定的最低存货量,货物描述)订货单(订货单号,顾客号,货物号,订货数量,订货细则,未发数量,订货日期,经办人)改进模式:顾客及其地址(顾客号,收货地址)顾客及其余额(顾客号,赊购限额,余额,折扣)货物及其厂商(货物号,制造厂商,实际存货量,规定的最低存货量)货物及其描述-2(货
29、物号,货物描述)订货单(订货单号,顾客号,货物号,订货数量,订货日期,经办人)未发货情况(订货单号,未发货量)订货单细则(订货单号,订货细则)问题分析:顾客模式中,顾客号不能唯一决定收货地址 货物模式中,货物描述部分依赖于码 订货单模式中,未发数量将随发货过程更新,而其他信息相对静态;订货细则有多条11/11/202251欲设计移动公司手机信息管理系统,用于管理:1、手机销售信息(由营业厅售给用户)2、手机用户档案信息(用户名,证件号码等)3、手机通话信息(每一次通话的详细情况)4、手机话费信息(每月的话费组成)在此基础上实现常用的查询,如:1、每月手机的销售情况 2、每种机型的销售情况 3、
30、每个营业厅的手机销售情况 4、根据手机号码查询其用户信息 5、根据手机号码查询某时间段内的通话情况 6、每月手机话费收入 7、欠费用户查询试设计合适的数据库,并在此基础上用SQL实现所有的查询11/11/202252设计关系模式如:营业厅(营业厅编号,地址,负责人)销售记录(营业厅编号,机型,数量,日期,经办人)手机销售单价(机型,单价)手机用户信息(手机号码,用户名,住址,证件号码)手机通话记录(手机号码,被叫号码,日期,起始时刻,通话时长)手机话费信息(手机号码,话费,漫游费,短信费)话费缴费信息(手机号码,缴费日期,金额,缴费营业厅)码?销售记录?11/11/20225311/11/202254
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。