IT Technology Topic
  该博客的主人很懒,什么都没有留下。
 
 
库表设计与PowerDesigner

数据库设计的基本概念

关系模型是RDBMS的基础,它由以下三部分组成:
l 数据结构 ——即模型所操作的对象、类型的集合
l 完整性规则——即保证数据库有效、正确的约束条件
l 数据操作 ——说明模型对象所允许执行的操作方式
1.库表的规范化
关系模型以二维结构的表格(Table)为基础,一个独立的表格由行(rows)和列(columns)组成。
设计数据库模型时必须考虑两层关系:
(1)表内行和列之间的关系;
(2)表与表之间的关系
数据库表的三级范式(Normal Form)
第一级范式:
关系的每一个属性值具有原子性(atomic);
每个表中不能有重复的列;
每一行列的位置上只能有一个值
第二级范式:
满足第一级范式,且关系的非主键值完全依赖于主键值(key)
第三级范式:
满足第一、二级范式,且非主键属性值相互独立(independent),即一个表中的非主键属性不能依赖于

另一个非主键属性。

在数据库设计中,一个标准的表应当满足上述三级范式。

(2) 表的非规范化技术
实际应用中,从数据处理的方便性和执行效率上考虑,有时我们也适当地采用非规范化技术,即适当减低

规范化程度,如增加冗余列等。

2.数据的完整性约束
(1)数据完整性的概念
数据完整性(Data Integrity)是指库表数据的正确性和一致性。它可分为如下三类:
(1) 实体完整性(Entity Integrity)
实体完整性是指数据库表的每一行都有一个唯一的标识。
(2) 域完整性(Domain Integrity)
域完整性指数据库表中数据取值的正确性,它包括数据类型、精度、取值范围、是否允许为空等。
(3)参照完整性(Refrerential Integrity)
参照完整性是指数据库中表与表之间存在的主键和外键的约束关系,维护数据的一致性。它有两个方面:
l 外键的插入、更新约束(检查主键取值)
l 主键的删除、更新约束(如何处理外键)

(2)数据的完整性规则
实际应用中,通过完整性规则来定义数据的完整性。
l Primary Key(主键约束)
l Foreign Key(外键约束)
l Not Null(非空约束)
l Unique(唯一性约束)
l Default(默认值约束)
l Check(检查约束)

例1(For Oracle):
Create Table Employee
( Emp_Id   NUMBER(10)   PRIMARY KEY,
  Emp_Name VARCHAR2(20)  NULL ,
 Birth_Day  DATE    DEFAULT  SYSDATE,
 Dept_No  NUMBER(2)  NULL,
 Salary   NUMBER(7,2)  CHECK Salary<10000,
 Soc_Sec_Num CHAR(9)   UNIQUE,
 FOREIGN KEY(Dept_No) REFERENCE Dept.Dept_No
)TABLESPACE USERS;

例2(For Sybase):
Create Table Employee
( emp_id   integer   not null,
  emp_name char(10)  null ,
 birth_day datetime  default  getdate(),
 dept_name  char(3)  null,
 nation  varchar(20) null,
 Constraint   Pk_emp_id  Primary key(emp_id),
 Constraint   Fk_dept_name  Foreign key(dept_name)
 References  Department(dept_id) on Delete Cascade,
 Constraint   Unique_name Unique(emp_name),
 Check(nation in(‘汉族’, ‘回族’, ‘壮族’)) 
)

3.模型中的业务规则
业务规则是指根据实际业务需要规定的数据与数据之间的约束关系。

二.数据库建模技术
在管理信息系统的开发过程中,数据库设计是一个非常重要的环节,在建立实际的数据库之前,必须事先

构造出数据库模型。
数据库模型类似于工程设计中的图纸,它在很大程度上决定着整个MIS的成功与失败,因此在开始程序编

码前,必须精心规划和设计数据库模型。一个优秀模型的特征:
 紧密结合用户需求,定义清晰
 便于后续程序对数据的处理
 能够最大限度地适应用户需求的变化
1.数据库建模的一般过程
两层数据库模型

 概念模型(CDM)
 物理模型(PDM)

2.数据库建模的几个重要概念
1)实体(Entity)
实体是业务世界中客观存在的并可相互区分的“事物”,它是我们在数据模型中存储信息的载体。
在PDM模型中,实体被转化为表。
定义实体的基本规则:
(1) 实体的每一个实例必须可以唯一标识;
(2) 实体与实体之间应该是互斥的,如出版物(书、资料等)

1) 属性(Attribute)
属性是用来描述实体状态与特征的指标,是我们需要记录的信息条目。
(1) 属性的强制(Mandatory)与可选特性
 强制属性:对实体的任一实例,该属性不能为空;
 可选属性:对实体的任一实例,该属性可以为空
不要轻易指定一个实体的强制属性。
(2) 域(Domain)
域是指某个属性值的取值范围。
限定取值范围的方式:(1)不等式;(2)枚举
 在PDM模型中,实体的属性被转化为表的字段。

2) 关系(Relation)
实体与实体之间有意义的连接,称为关系。
(1) 关系的种类
一对一关系、一对多关系、多对多关系、递归关系、依赖关系、分类关系
(2) 关系的强制(Mandatory)与可选特性
 强制关系:对实体A的每个实例,实体B中至少有一个实例与之关联;
 可选关系:对实体A的每个实例,实体B中可以没有实例与之关联

3.PowerDesigner简介
1)ProcessAnalyst简介
ProcessAnalyst是画数据流程图(DFD)的工具,使用它可以描述信息系统应该如何操作和处理各种数据

,以反映数据在系统中的动态特征。数据流程图表达了系统分析员对现有系统的认识和对目标系统的设想

,是系统的功能模型,它和实体关系图结合在一起构成了系统完整的逻辑模型。
该工具主要在MIS开发的需求分析阶段使用。

1) DataArchitect简介
DataArchitect是PowerDesigner中的核心工具,它用来刻画和设计数据库模型,与ProcessAnalyst相比,

它使用实体关系图(E-R图)反映系统数据的静态特征。
DataArchitect的主要特征:
能够产生多种模型(CDM—>PDM—>SQL)
支持多种数据库系统
模型之间的相互转化
检查模型中的逻辑错误
与开发工具紧密结合
生成详细的设计文档

2) AppModeler简介
AppModeler是一个快速应用生成器,它能够根据PA和DA所设计的逻辑模型结合前端开发工具生成简单的应

用程序,从而可以让开发设计人员判断系统模型的正确性。

3) MetaWorks简介
MetaWorks用来协调团队开发中的系统模型设计,防止多个设计人员同时修改同一模型所造成的混乱。其

主要功能:
 通过提取、提交操作协调多人操作同一模型(包括CDM、PDM、DFD)
 对模型加锁
 为不同人员提供口令保护与操作权限

标签: 
作者 hy2000l 评论() | 人气()  | 引用(0) | 推荐 | 保存日志 | 问题日志 | 收藏到网摘 | 返回首页
 
 
·访客/2007-06-20
不错的提示,要是能....
·Struts-config....(2007-05-16)
·实用Struts应用程序编写...(2007-04-30)
·库表设计与PowerDesi...(2007-04-30)