MySQL云数据库应用与实践 课件 ch02-数据库设计基础知识.pptx
第二章数据库设计基础知识Database西北工业大学NorthwesternPolytechnicalUniversity数据库
目录2.1数据库设计概述2.2需求分析2.3概念结构设计2.4逻辑结构设计2.5数据库的物理设计2.6数据库实施2.7数据库运行和维护
2.1数据库系统概述数据库设计步骤与阶段性设计成果
2.2需求分析需求分析的任务需求分析就是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,并在此基础上确定新系统的功能。信息要求用户需要从数据库中获得信息的内容与性质,由此导出数据要求,即在数据库中需要存储哪些数据。处理要求用户对处理功能的要求,对处理的响应时间的要求,对处理方式的要求(批处理/联机处理)。安全性完整性要求数据自身的约束,数据之间的约束关系,以及数据的敏感分析,访问及数据数据的用户级别等。
2.2需求分析—数据流图与数据字典需求分析结果的分析和表达方法?数据流图数据字典数据项数据结构数据流数据存储处理过程
2.2需求分析—数据流图与数据字典数据流图分析各项业务的执行过程和期间的数据联系,分析的结果以数据流图(DataFlowdiagram,DFD)的形式描述。数据流图的表达方式:圆角矩形:表示一次处理过程(P)有向线:表示数据流双线段:表示存储的数据(D)分析方法:通常采用SA(StructuredAnalysis)方法自顶向下的方法,即从最上层的系统组织机构入手,采用逐层分解的方式分析系统;或先勾勒出业务流程的主要阶段,再对每一阶段进行细分。数据记录流出数据流入数据处理
2.2需求分析—数据流图与数据字典数据流图示例:
2.2需求分析—数据流图与数据字典数据字典描述
2.2需求分析—数据流图与数据字典数据字典描述
2.2需求分析—数据流图与数据字典数据字典描述
2.2需求分析—数据流图与数据字典数据字典描述
2.3概念结构设计数据抽象,局部视图设计视图集成DFDDD总E-R图逻辑结构设计返回用户征求意见到满意为止需求分析分E-R图1)抽象数据+设计局部视图2)集成局部视图,得到全体的概念结构
2.3概念结构设计步骤一:抽象数据1)分类2)聚集ismemberof:例如实体型ispartof:例如属性3)概括issubsetof:例如超/子类实体型本科生研究生学生超类子类学生学号姓名学生张颖王平
2.3概念结构设计步骤二:设计局部视图(1)选择局部应用恰当选择各级数据流图中的某一层的某一部分业务,准备设计局部E-R图。通常选择数据流图的中间级,这一级实体描述准确,实体间的联系也比较清晰。(2)设计分E-R图对于每一局部应用,其所用到的数据都应该收集在数据字典中了,依照该局部应用的数据流图,从数据字典中提取出数据,使用抽象机制,确定局部应用中的实体、实体的属性、实体标识符及实体间的联系及其类型。重要原则:能作为属性对待的尽量作为属性对待
2.3概念结构设计确定实体与属性的两条准则(1)属性是不可再分的数据项,属性不可以再有属性;(2)属性不能与其他实体发生联系,联系只能是实体与实体之间的。例:职工(职工号,姓名,年龄,职称),其中的职称如果与工资、住房和福利挂勾(即有联系),则应该单独作为实体,而职工与职称间构成联系。职工职工号姓名年龄职称职工职工号姓名年龄职称职称名工资住房福利聘任
2.3概念结构设计步骤三:视图集成选择两个具有相同实体的E-R图,通过相同实体将两个E-R图连结起来构成一个E-R图,然后再与其它E-R图连结直到将所有的局部E-R图全部连结成一个E-R图,称为全局E-R图。教师编号姓名学历课程代课MN课程号课程名学分教师编号姓名学历M学生学号姓名性别年龄成绩学习课程N课程号课程名学分MN代课学生姓名性别年龄M成绩课程学习N课程号课程名学分学号
2.3概念结构设计?视图集成的步骤1.合并E-R图,生成初步E-R图属性冲突--属性域不同(取值范围,类型等)--属性取值单位不同(公斤/斤等)命名冲突--同名异义--异名同义结构冲突--同一实体在不同的分E-R图中有不同的属性;--同一对象在E-R图A中被抽象为实体,在E-R图B中又被抽象为属性;--同一个联系在不同的分E-R图中联系的种类不同解决方法:--统一--综合
2.3概念结构设计?视图集成的步骤2.消除不必要的冗余,设计基本E-R图1)由于Q3=Q2*Q1,Q4=∑Q5,故Q3,Q4多余,2)同时“使用”联系也可