EA技巧 - 设计DB001-基本操作

闲话不必说,直接进入正题。使用EA进行数据库设计,有如下几个好处。

  • 将DB的关系进行视觉化表达

  • 通过模版技术产生所需的DB规格文件

  • 可以产生DDL脚本

一、使用EA设计DB规格

1.1 基本操作说明

A. 创建DB设计文件

【File】-->【New Project】开始创建,输入文件名以后,然后点击【存储】按钮(因为我用的是繁体系统,所以不是大家常见的保存按钮)

在模型选择窗口中,选择Datebase选项,然后单击【OK】按钮

从下图我们可以看出整个画面大体分成4个区域:菜单栏和工具栏 、设计工具(用来设计DB规格的工具)、设计区(用来设计DB规格)、项目导航(组织项目元素)

 

B. 删除Package

右键单击【项目导航】中的【Schema1 Package】 ,在弹出的菜单中选择【Delete Schema1】即可

 

C.新增一个Package

右键单击【项目导航】中的【Data Model】,在弹出的菜单中选择【Add】->【Add Package】。首先输入Package的名字,

然后在选择图形的模型,记得要选择【Extended】下属的【Data Modeling】

通过这种方式,我挂了2个Package

D.新增表

选择某个Package下的图,从工具栏上点选【Table】图标,然后在设计区的空白处单击,就出现表定义窗口

其中

    Name : 表示表名

    Stereotype :这里必须是table

    Database:特定的数据库类型,如果这里不选定的话,则后续定义表栏位的时候,就不能定义栏位的数据类型

    Alias:表中文名

    Notes:表备注信息

 

E:新增表栏位

双击设计区的需要设计栏位的表的图标,在弹出的窗口中,选择【Table Detail】页签中的【Columns/Attributes】按钮,就会出现栏位定义框。

 

在栏位定义框中,可以定义该表所有栏位。

其中:

    Name:表示栏位的英文名字,这个名字也就是DB中Table Column的名字

    DataType:定义栏位的数据类型

    Precision/Sacle: 如果是DataType的栏位是数字类型,则在此处定义长度和进度;如果DataType栏位是字符型,则在此处定义长度即可。

    Primary Key:如果勾选上,则表示该栏位是主键的一部分

    Not Null:如果勾选上,则表示该栏位数据不能等于NULL

    Unique:如果勾选上,则表示该栏位的数据不能重复

    Notes:栏位的说明文字

    New:新建一个栏位

    Save:保存当前定义栏位的定义

    Delete:删除当前栏位

 

F:建立表间外键关系。

从工具区选择【Association】,从子表向父表拉一个线。

右键单击这个线,在弹出的对话框中选择【Foreign Keys...】

设定栏位外键对应关系

其中:Source的部分是子表的部分;Target是父表的部分

     Source :定义子表的多重性

     Target :定义父表的多重性

     OnDelete/OnUpdate:定义级联关系

     手图标按钮:用在选择好父子表的栏位对应关系后,添加到下面的列表中

下图中,我设计了2种关系,一种是1:N和1:1的关系

    

二、产生DB规格文件

A. 产生EA默认DB规格文件

在项目导航区选择需要文档化的Package,右键单击,在弹出的对话框中选择【Document】->【Rich Text Format(RTF)Report】

其中Output To File : 设定需要产生的文件名

       Use Template:从中选择data mode template,即可产生系统默认格式的DB规格文件

       Generate:设定好参数,单击该按钮产生DB规格文件。

       Edit Template : 编辑模版文件

B.设计DB规格文件的模版

在上图的Use Template栏位选择<New Template>,就会弹出新建模版窗口.

其中:New Template : 新模版名

          Copy Template : 选择以那个原模版为基础,这里选择的是data model template

 输入完成以后,就会出现模版设计窗口。

  

三、产生DDL脚本

在项目导航区选择需要DDL SQL脚本的Package,右键单击,在弹出的对话框中选择【Code Engineering】->【Generate DDL】即可

猜你喜欢

转载自thomaschen2011.iteye.com/blog/2024753