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

数据库设计:

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

数据库设计的基本步骤:

1)需求分析

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

2)概念结构设计

对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。

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

概念结构设计通常有四类方法:

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

3)逻辑结构设计

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

4)物理结构设计

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

5)数据库的实施

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

6)数据库的运行和维护

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

设计原则:

1)一对一设计原则:

在软件开发过程中,需要遵循一对一关系设计原则进而开展数据维护工作,通过利用此原则能够尽量减少维护问题的出现,保证数据维护工作顺利开展同时降低维护工作难度。

2)独特命名原则:

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

3)双向使用原则:

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

重要性:

1、有利于资源节约
2、有利于软件运行速度的提高
3、有利于软件故障的减少

存在问题:

1、业务基本需求无法得到满足
2、数据库性能不高
3、数据库的扩展性较差
4、数据资源冗余
5、表与表之间的耦合过密

数据建模:

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基础知识,可以戳我一起交流学习!

你可能感兴趣的:(数据库)