数据库:数据库设计与数据建模及建模工具(PowerDesigner)

数据库设计:

数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,创建数据库及其应用系统,使之可以有效地存储数据,知足各类用户的应用需求(信息要求和处理要求)。java

数据库设计的基本步骤:数据库

1)需求分析架构

需求分析是在用户调查的基础上,经过分析,逐步明确用户对系统的需求,包括数据需求和围绕这些数据的业务处理需求。在需求分析中,经过自顶向下,逐步分解的方法分析系统,分析的结果采用数据流程图进行图形化的描述。框架

2)概念结构设计数据库设计

对用户要求描述的现实世界(多是一个工厂、一个商场或者一个学校等),经过对其中诸处的分类、汇集和归纳,创建抽象的概念数据模型。分布式

这个概念模型应反映现实世界各部门的信息结构、信息流动状况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。工具

概念结构设计一般有四类方法:性能

  • 自顶向下。即首先定义全局概念结构的框架,再逐步细化。
  • 自底向上。即首先定义各局部应用的概念结构,而后再将他们集成起来,获得全局概念结构。
  • 逐步扩张。首先定义最重要的核心概念结构,而后向外扩张,以滚雪球的方式逐步生成其余的概念结构,直至整体概念结构。
  • 混合策略。即自顶向下和自底向上相结合。

3)逻辑结构设计学习

主要工做是将现实世界的概念数据模型设计成数据库的一种逻辑模式。在这阶段,E-R图显得异常重要。开发工具

4)物理结构设计

根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。

5)数据库的实施

数据库实施阶段,设计人员运营DBMS提供的数据库语言及其宿主语言,根据逻辑设计和物理设计的结果创建数据库,编制和调试应用程序,组织数据入库,并进行试运行。

6)数据库的运行和维护

数据库应用系统通过试运行后,便可投入正式运行,在数据库系统运行过程当中必须不断地对其进行评价,调整,修改。

设计原则:

1)一对一设计原则:

在软件开发过程当中,须要遵循一对一关系设计原则进而开展数据维护工做,经过利用此原则可以尽可能减小维护问题的出现,保证数据维护工做顺利开展同时下降维护工做难度。

2)独特命名原则:

独特命名原则的应用是为了减小在数据库设计过程当中出现重复命名和规范命名现象出现。 经过应用此原则可以减小数据冗杂,维护数据一致性,保持各关键词之间存在必然相对应联系。 独特命名原则可以锻炼工做人员对大小写字母熟练操做能力,有利于规范化后台代码工做的开展。

3)双向使用原则:

双向使用原则包括事务使用原则和索引功能原则。 双向使用原则是在逻辑工做单元模式基础上实现其表现形式的,不只给非事务性单元操做工做提供基础保障,也保证其可以及时更新、获取数据资源。

重要性:

一、有利于资源节约

二、有利于软件运行速度的提升

三、有利于软件故障的减小

存在问题:

一、业务基本需求没法获得知足

二、数据库性能不高

三、数据库的扩展性较差

四、数据资源冗余

五、表与表之间的耦合过密

数据建模:

1)实体-关系图: 也称为E-R图,提供了表示实体、属性和关系的方法,用来描述现实世界的概念模型。

构成E-R图的基本要素:

① 实体(Entity): 实体用来表示具备相同特征和性质的事物(相似于java的类),实体由实体名和实体属性来表示。

②属性(Attribute): 实体所具备的某一特性,一个实体能够有若干个属性;

③ 关系(Relationship): 实体彼此之间相互链接的方式称为关系。通常可分为如下 3 种类型:

一对一关系 (1 ∶ 1)
   一对多关系 (1 ∶ N)
   多对多关系 (M ∶ N)

2) ER图中符号的表示

(1)# : 惟一, 之后可能表示为主键;

(2) * : 非空;

(3) o : 无关紧要;

(4) 虚线: may be 顾客这边虚线,顾客可能没有订单;

(5) 实线: must be 订单这边实线,订单必定是属于某个客户;

(6) 竖杠(|): 表明要强制在(|)一方创建一个联合主键,将对方ID拿过来作联合主键;

(7) 伞状图标表明多的一方,不是伞状图标则表明一的一方;

建模工具PowerDesigner:

PowerDesig介绍:

PowerDesigner是Sybase公司的CASE工具集,使用它能够方便地对管理信息系统进行分析设计,它几乎包括了数据库模型设计的全过程。

利用PowerDesigner能够制做数据流程图、概念数据模型、物理数据模型,能够生成多种客户端开发工具的应用程序,还可为数据仓库制做结构模型,也能对团队设计模型进行控制

PowerDesigner包含六个紧密集成的模块:

①PowerDesigner ProcessAnalyst,用于数据发现。

②PowerDesigner DataArchitect,用于双层,交互式的数据库设计和构造。

③PowerDesigner AppModeler,用于物理建模和应用对象及数据敏感组件的生成。

④PowerDesigner MetaWorks,用于高级的团队开发,信息的共享和模型的管理。

⑤PowerDesigner WarehouseArchitect,用于数据仓库的设计和实现。

⑥PowerDesigner Viewer,用于以只读的、图形化方式访问整个企业的模型信息。

PowerDesigner主要分为7种建模文件:

  1. 概念数据模型 (CDM) 对数据和信息进行建模,利用实体-关系图(E-R图)的形式组织数据,检验数据设计的有效性和合理性。

  2. 逻辑数据模型 (LDM) PowerDesigner 15 新增的模型。逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。

  3. 物理数据模型 (PDM) 基于特定DBMS,在概念数据模型、逻辑数据模型的基础上进行设计。由物理数据模型生成数据库,或对数据库进行逆向工程获得物理数据模型。

  4. 面向对象模型 (OOM) 包含UML常见的全部的图形:类图、对象图、包图、用例图、时序图、协做图、交互图、活动图、状态图、组件图、复合结构图、部署图(配置图)。OOM 本质上是软件系统的一个静态的概念模型。

  5. 业务程序模型 (BPM) BPM 描述业务的各类不一样内在任务和内在流程,并且客户如何以这些任务和流程互相影响。 BPM 是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合做协议之间的交互做用。

  6. 信息流模型(ILM) ILM是一个高层的信息流模型,主要用于分布式数据库之间的数据复制。

  7. 企业架构模型(EAM): 从业务层、应用层以及技术层的对企业的体系架构进行全方面的描述。包括:组织结构图、业务通讯图、进程图、城市规划图、应用架构图、面向服务图、技术基础框架图。

谢谢你们阅读,若是想要获取更多java基础知识,能够戳我一块儿交流学习!