《数据库设计贯通概念结构设计幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据库设计贯通概念结构设计幻灯片.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库设计贯通概念结构设计第1页,共29页,编辑于2022年,星期六参考书目:数据库系统概论 高等教育出版社 王珊 萨师煊数据库系统教程 高等教育出版社 施伯乐等数据库设计、应用开发与管理电子工业出版社 Michael V.Mannino 著 唐常杰 等译UML和统一过程-实用面向对象的分析和设计机械工业出版社 方贵宾 等译UML应用建模实践过程机械工业出版社尤克滨 编著第2页,共29页,编辑于2022年,星期六三种方式自顶向下第3页,共29页,编辑于2022年,星期六三种方式自底向上第4页,共29页,编辑于2022年,星期六三种方式混合模式比较:软件测试中集成测试的三种方式自底向上自定向下混
2、合第5页,共29页,编辑于2022年,星期六自底向上的概念设计第6页,共29页,编辑于2022年,星期六自底向上概念设计步骤局部ER的设计局部ER的优化局部ER的集成和优化第7页,共29页,编辑于2022年,星期六自底向上概念设计-局部ER设计分析系统中的数据和数据处理:标识实体标识主码标识属性添加联系数据数据处理第8页,共29页,编辑于2022年,星期六通过分析需求分析的工具DFD来解析业务流程(数据的处理)某系统销售子系统的业务流程某系统销售子系统的业务流程第9页,共29页,编辑于2022年,星期六通过分析需求分析的工具DD来解析数据第10页,共29页,编辑于2022年,星期六某系统的局部
3、ER(销售子系统)第11页,共29页,编辑于2022年,星期六市政用水ER设计(未局部优化)第12页,共29页,编辑于2022年,星期六以上的数据库概念设计基于面向数据流的(结构化的)需求分析如果概念设计基于面向对象的需求分析,同样可以采用ER方法建模(更多知识可参考“面向对象数据库建模”的相关资料)面向对象的需求分析主要方法是UML用例建模定义系统边界找出参与者找出用例说明用例创建场景定义项目词汇表第13页,共29页,编辑于2022年,星期六用例图(use case diagram)第14页,共29页,编辑于2022年,星期六用例描述第15页,共29页,编辑于2022年,星期六事件流的例子第
4、16页,共29页,编辑于2022年,星期六自底向上概念设计-局部ER优化参见课件chpt3Attribute to entity typeCompound attribute splitMulti-Value attribute transformEntity type expansionWeak entity to strong entityAdd history:attributes,1-M relationships,and M-N relationshipsGeneralization hierarchy additionNormalization第17页,共29页,编辑于2022年,
5、星期六自底向上概念设计-局部ER集成和优化将各个子系统ER集成起来并进行优化集成一次集成增量集成优化(也叫作:修改与重构)第18页,共29页,编辑于2022年,星期六自底向上概念设计-局部ER集成和优化第19页,共29页,编辑于2022年,星期六自底向上概念设计-局部ER集成集成需要结局不一致(冲突)问题各个子系统所面向的应用和用户不同可能是不同的分析或设计人员完成的冲突分类属性冲突类型、取值范围、取值集合、取值单位由于用户方面造成的,各个部门需要协商讨论命名冲突同名异义异名同义科研项目:财务部称项目、科研处称课题、生产管理处称工程班级管理子系统中的班主任与课程管理子系统中的教师教师管理子系统
6、中的项目负责人与课程管理子系统中的教师结构冲突(未完)第20页,共29页,编辑于2022年,星期六结构冲突(续)同一对象在不同的ER设计中具有不同的抽象如:职工在某一局部ER中被当做实体,而在另一局部ER中被当做属性解决?同一实体在各局部ER中属性个数和排列不一致解决?-取并集相同实体间的联系在各局部ER中不一致解决?第21页,共29页,编辑于2022年,星期六合并两个局部ER时的结构冲突的消除第22页,共29页,编辑于2022年,星期六自底向上概念设计-全局ER优化原则:实体尽可能少、属性尽可能少(无冗余属性)、无冗余联系冗余的属性和联系破坏了数据库的完整性,增加了数据库维护的困难第23页,
7、共29页,编辑于2022年,星期六自底向上概念设计-全局ER优化优化方法合并实体如可考虑将1:1联系的实体合并冗余属性的消除去掉出现在不同实体中的同一属性去掉可由其它属性导出的属性方法:分析法(见后)/规范化冗余联系的消除用范式进行规范化处理(见后)反规范化(见后)第24页,共29页,编辑于2022年,星期六关于冗余属性的消除找出下图中冗余的属性?Q4=Q5Q3=Q1XQ2 第25页,共29页,编辑于2022年,星期六消除冗余联系ER图如果形成环,则表示可能存在冗余的联系第26页,共29页,编辑于2022年,星期六反规范化并不是所有冗余数据与冗余联系都必须加以消除出于对效率的考虑,以冗余为代价第27页,共29页,编辑于2022年,星期六关于反规范化以Q4和Q5为例,这两个属性之间存在依赖,去掉Q4属性但若某部门要频繁查询各种材料的库存量,则每次都要对存放量Q5求和,如此降低了查询效率解决:保留Q4,同时建立Q5和Q4的完整性约束(如通过触发器,每次修改Q5之后触发)第28页,共29页,编辑于2022年,星期六The End第29页,共29页,编辑于2022年,星期六