参考资料-数据库设计与ER图
- 格式:ppt
- 大小:412.00 KB
- 文档页数:43
数据库设计及ER图1.数据库设计流程数据库作为数据的一个容器,不但对程序的performance有很大的影响,而且对应用程序的扩展有非常大的影响.所以对应用程序来说,一个具有良好设计的数据库是非常重要的.那么如何才能设计出性能好,又支持扩展的数据库呢?这是我们大家都要去探索的问题.现在有很多版本的数据库设计的流程.然而这也只是目前阶段能设计出一个比较好的数据库的一个途径.更好更优的数据库设计流程是我们追求的目标.但是现在,我们先来了解下目前阶段标准的数据库设计流程.以助于我们在开发应用程序的时候能用到.先来看下一张数据设计流程图上图是数据库设计一个比较标准的流程图.我们就针对这个流程来讲解数据库设计各个阶段.需求分析阶段1我们在需求阶段注意两点:1:考虑到可能的扩充和修改,是设计能易于修改和扩展2:强调客户参与:目的有几个:更好的理解客户的需求,了解客户的对程序安全性和完整性的要求,以及用户的处理需求.概念结构设计阶段在这个阶段我们要设计出能真实反应客观事物的模型,同时让设计的模型能易于理解,易于扩展,能方便的向其他数据库转移.逻辑结构设计1:作为对象信息的属性,必须具有原子性的.也就是.我们在画ER图的时候,对象间的关系必须是实体之间的关系,不能是属性和实体的关系.2:确定数据之间的依赖关系(要极小化出来各个关系,消除冗余),同时要按照数据依赖理论对关系模型进行检查.数据库物理设计阶段数据的存储结构以及配置数据库实施阶段定义数据库的结构,数据的装载,以及数据库的试运行.数据库运行和维护阶段要注意数据的转储和恢复,数据库的安全性和完整性控制.数据库的性能的监督,分析和改造以及数据库的重构2.数据库设计范式第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值都是不可再分的最小数据单位,则称R是第一范式的关系。
例:如职工号,姓名,电话号码组成一个表(一个人可能有一个办公室电话和一个家里电话号码)规范成为1NF有三种方法:一是重复存储职工号和姓名。
数据库设计——ER图 E-R图也称实体—联系图,提供了表⽰实体类型、属性和联系的⽅法⽤来描述现实世界的概念模型。
它是描述现实世界关系概念模型的有效⽅法。
是表⽰概念关系模型的⼀种⽅式。
⽤“矩形框”表⽰实体型,矩形框内写明实体名称;⽤“椭圆图框”或圆⾓矩形表⽰实体的属性,并⽤“实⼼线段”将其与相应关系的“实体型”连接起来;⽤“菱形框”表⽰实体型之间的联系成因,在菱形框内写明联系名,并⽤“实⼼线段”分别与有关实体型连接起来,同时在“实⼼线段”旁标上联系的类型(1:1,1:n或m:n)。
构成E-R图的3个基本要素是实体型、属性和联系,其表⽰⽅法为: 实体:⼀般认为,客观上可以相互区分的事情就是实体,实体可以是具体的⼈和物,也可以是抽象的概念与联系。
关键在于⼀个实体能与另⼀个实体相区别,具有相同属性的实体具有相同的特征和性质。
⽤实体名及其属性名集合来抽象和刻画同类实体。
在E-R图中⽤矩形表⽰,矩形框内写明实体名;⽐如学⽣张三、学⽣李四都是实体。
如果是弱实体的话,在矩形外⾯再套实线矩形。
属性:实体所具有的某⼀特性,⼀个实体可由若⼲个属性来刻画。
属性不能脱离实体,属性是相对实体⽽⾔的。
在E-R图中⽤椭圆形表⽰,并⽤⽆向边将其与相应的实体连接起来;⽐如学⽣的姓名、学号、性别、都是属性。
如果是多值属性的话,在椭圆形外⾯再套实线椭圆。
如果是派⽣属性则⽤虚线椭圆表⽰。
联系:联系也称关系,信息世界中反映实体内部或实体之间的关联。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
在E-R图中⽤菱形表⽰,菱形框内写明联系名,并⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标上联系的类型(1 : 1,1 : n或m : n)。
⽐如⽼师给学⽣授课存在授课关系,学⽣选课存在选课关系。
如果是弱实体的联系则在菱形外⾯再套菱形。
⼀般性约束 实体-联系数据模型中的联系型,存在3种⼀般性约束:⼀对⼀约束(联系)、⼀对多约束(联系)和多对多约束(联系),它们⽤来描述实体集之间的数量约束: (1)⼀对⼀联系(1:1):对于两个实体集A和B,若A中的每⼀个值在B中⾄多有⼀个实体值与之对应,反之亦然,则称实体集A和B 具有⼀对⼀的联系。
数据库设计的基本步骤(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。
(2)概念结构设计阶段:对用户需求综合、归纳与抽象,形成概念模型,用E-R图表示。
(3)逻辑结构设计阶段:将概念结构转换为某个DBMS所支持的数据模型。
(4)数据库物理设计阶段:为逻辑数据模型选取一个最适合应用环境的物理结构。
(5)数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库,程序试运行。
(6)数据库运行和维护阶段:对数据库系统进行评价、调整与修改。
1 数据库设计概述数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据。
数据库设计的基本步骤:∙需求分析∙概念结构设计∙逻辑结构设计∙物理结构设计∙数据库的建立和测试∙数据库运行和维护。
数据库各阶段设计描述2 概念结构设计在早期的数据库设计,在需求分析阶段后,就直接进行逻辑结构设计。
由于此时既要考虑现实世界信息的联系与特征,又要满足特定的数据库系统的约束要求,因而对于客观世界的描述受到一定的限制。
同时,由于设计时要同时考虑多方面的问题,也使设计工作变得十分复杂。
1976年P.P.S.Chen提出在逻辑结构设计之前先设计一个概念模型,并提出了数据库设计的实体--联系方法(Entity--Relationship Approach)。
这种方法不包括深的理论,但提供了一个简便、有效的方法,目前成为数据库设计中通用的工具。
有许多商业软件支持E-R模型,如Sybase公司的PowerDesigner DataArchitect(最新版本v9.5.1 for Windows)、微软公司Microsoft InfoModeler (VisioModeler)等。
图 S-designer DataArchitect 5.1 设计的E-R模型使用E-R模型来进行概念模型的设计通常分两步进行,首先是建立局部概念模型,然后综合局部概念模型,成为全局概念模型。
MySQL中的数据库设计和ER图的使用技巧引言在当今信息时代,数据库的设计变得愈发重要。
MySQL作为最流行的开源关系型数据库管理系统之一,被广泛应用于众多网站和应用程序中。
在进行数据库设计时,ER图(实体关系图)是一个非常有用的工具,它能够帮助开发者更好地理解和规划数据结构。
本文将探讨MySQL数据库设计的关键概念和技巧,并详细介绍ER图的使用方法。
数据库设计的关键概念1. 概念模型在进行数据库设计之前,我们需要根据实际业务需求构建一个概念模型。
概念模型是对现实世界中的实体及其相互关系的抽象。
它包括实体、属性和关系三个核心元素。
2. 实体实体是现实世界中独立存在并可辨识的事物,比如用户、订单、产品等。
在数据库中,每个实体对应一个表。
3. 属性属性是实体具有的特征或性质。
每个实体可能有多个属性,比如用户实体可能有姓名、年龄、性别等属性。
在数据库中,每个属性对应一个字段。
4. 关系关系是实体之间的联系。
关系可以是一对一、一对多或多对多的。
比如用户和订单之间的关系可能是一对多的,一个用户可以拥有多个订单。
MySQL数据库设计技巧规范化是数据库设计中的关键步骤,可以避免数据冗余和数据不一致性的问题。
规范化的目标是将数据结构合理地分解成多个关系,并消除冗余数据。
常用的规范化级别有1NF、2NF、3NF等。
在实际设计中,通常应该在能满足需求的前提下尽可能地达到第三范式。
2. 主键和外键主键是用来唯一标识实体的属性,它的值在整个表中必须唯一。
在MySQL中,通常使用自增长的整数作为主键。
外键是一个表中的字段,它引用了另一个表中的主键。
外键能够建立实体之间的关联,保证数据的完整性和一致性。
3. 索引索引是用来加速对表的查询操作的。
在设计数据库时,合理地选择和创建索引是非常重要的。
通常应该为频繁用于查询条件的字段创建索引,这样可以加快查询的速度。
然而,过多地创建索引也会降低插入和更新操作的性能,因此需要权衡利弊。