数据库的结构(例如表、关系、视图和触发器)称为数据库模式。可使用 SQL 语句创建这些元素并按照所需的方式进行排列,但是如果不使用图形工具,则可能会造成混淆。
PowerDesigner 提供了一种数据库结构的图形表示。只需绘制新表或输入信息,即可更好地修改数据库的结构或创建全新的表。在设计完成后,PowerDesigner 可生成一个 SQL 脚本以生成新的数据库。
若要了解 PowerDesigner 的详细信息,请单击 PowerDesigner 主窗口工具栏中的 [Help] 以访问下面三本书:PowerDesigner General Features Guide、PowerDesigner PDM User's Guide 和 PowerDesigner Report User's Guide。
要获得更多 PowerDesigner 教程,请打开 PowerDesigner。从 [Help] 菜单中选择 [Where to Start] > [PDM Getting Started]。此操作可访问 Physical Data Model Getting Started 一书。
下面的图示显示了示例数据库的结构,可以使用 PowerDesigner 方便地创建此图示。

数据库的性能主要取决于设计。
一般地,应将不同类型对象的信息(例如雇员或产品)存储在单独的表中。可以使用参照来确定这些表之间的关系,即用一个表中的外键来标识另一个表中的特定行。参照可以表示多对一和一对多关系。多对多关系需要两个参照和另外一个表。有关数据库设计的详细信息,请参见设计数据库。
PowerDesigner 可以从用于创建数据库的脚本文件读取数据库的结构。但是,通常更简便的方法是:从 PowerDesigner 连接到数据库并使用反向工程特性直接抽取设计。
下面的教程将示例数据库作为起点。此教程在阐述 PowerDesigner 时对示例数据库进行了修改,以改进示例数据库的设计。
当前,始终从 product 表中读取每种产品的价格。因此,如果更新价格,就会相应地更改以前所有订单上该产品的销售价格。在 sales_order_items 表中添加 unit_price 列,即可解决此问题。这样,就可以分别存储每个客户的实际销售价格。product 表中的价格记录当前的列表价格。
(我用的是PowerDesigner152)

PowerDesigner 主窗口包含工作空间(左侧)和输出空间(底部)。
-
从 [File] 菜单中选择 [New Model]。
即会出现 [New
Model
] 对话框。在 [New
Model
] 对话框中,选择 [Physical Data Model],

要注意数据库的选择,关于Extensions可以不用填写点击OK键即可!

此时,在浏览器和标题栏中就会出现模型名称 PhysicalDataModel_1。
Palette 表示模型工具栏,也有是:蓝色部分

点击“表”元素,然后于右侧空白部分点击出现表图形。上面是表名称,下面是表的字段。双击“表”图形
,出现表的属性设置窗口:包含了所有表的属性包括:列、索引、主键等。
PowerDesigner图中箭头表示表与表间的关联,箭头中间的文字表示表与表相互依赖的关键字段。后面标有<PK>或<FK>的字段,表示此字段是主键或者外键。PowerDesigner默认设置为每个表必须有一个索引,添加索引的原则是唯一性(添加索引时需将索引的Cluster属性去掉,否者生成数据库时会与表中的主键冲突)。
添加列
-
选择 **表。
-
从 [View] 菜单中选择 [Properties](或者是双击“表”图形)即会出现 [Table Properties] 对话框。

-
单击 [Columns] 选项卡,即会出现列的列表。

-
添加新列以存储单价,单击 [Insert a Row] 按钮。此时,在行首就会出现一个箭头,并显示使用缺省名称 (Column_*) 的列。
-
在名称列中键入 *******。将此名称自动作为代码进行复制。在 [Data Type] 列,从下拉列表中选择 [Numeric]。[Data] 字段可能因太窄而无法查看。可以拖动列的两侧以扩展列。
-
列属性 P、F 和 M 分别表示 [主键]、[外键] 和 [强制](解释如下):
-
[主键] 指定的列的值唯一地标识表中的行。
-
[外键] 指定的列取决于另一个表中的主键列,并且是从该主键列迁移的。
-
[强制] 要求必须给指定的列赋值。
-
-
选择 [强制],然后单击 [OK]。
-
检查所做的更改对数据库图示产生的影响。
添加列成功········
PowerDesigner 还可用于快速检测新模型中的数据库设计错误。
检查新的模式:
-
从 [Tools] 菜单中选择 [Check Model]或者直接快捷键F4。此时,就会出现 [Check Model Parameters] 对话框。
可以使用缺省参数。
-
单击 [确定]。此时,在 [Result List] 中就会显示 [Check Model] 的结果。
保存更改并生成数据库
在 PowerDesigner 中,将描述数据库设计的物理组件(包括表和列)的模型称为物理数据模型 (Physical Data Models, PDM)。PowerDesigner 将这些模型存储在文件(扩展名为 .PDM)中。
#保存物理数据模型 (PDM):
-
从 [File] 菜单中选择 [Save As]。
-
键入文件名 ****.pdm。
-
单击 [Save]。
生成 SQL 脚本以新建数据库:
——————————————————————————————————————————————————————
可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。
-
从 [Database] 菜单中选择 [Generate Database]。
此时,就会出现 [Database Generation] 对话框:

-
在 [Directory] 字段中键入 c:\Temp\,并在 [File Name] 字段中键入 NewDemo.sql。
-
确保选中了 [Script Generation]。
-
单击 [Database] 选项卡,并确保选中了 [Create Database]。
浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。
-
单击 [确定]。
创建脚本后,就会出现 [Result] 对话框。
-
单击 [Edit] 以查看脚本。
检查脚本中是否反映了所做的更改。例如,检查下面显示的新 office 表的定义。
/* ========================================= */
/* Table: office */
/* ========================================= */
create table office
(
id integer not null
default autoincrement
check (
id >= 100),
name char(15) not null,
street char(30) not null,
city char(20) not null,
state char(2) not null,
zip char(5) not null,
phone char(10) ,
fax char(10) ,
primary key (id)
); -
完成后,关闭该对话框:在 [Result] 对话框中,单击 [Close]。
现在,就可以从 Interactive SQL 新建数据库了。
新建数据库:
-
启动 Interactive SQL。
从 [开始] 菜单中,选择 [程序] > [SQL Anywhere 9] > [Adaptive Server Anywhere] > [Interactive SQL]。
-
使用 ASA 9.0 Sample ODBC 数据源连接到示例数据库。
-
创建一个空数据库:
-
执行下面的 SQL 语句,用适当的目录替代语句中的目录。
CREATE DATABASE 'c:\\Temp\\newdemo.db'提示
要在 Interactive SQL 中执行 SQL 语句,请在 [SQL 语句] 窗格中键入或复制该语句,然后按 F5 键。或者,从 [SQL] 菜单中选择 [执行]。
-
-
关闭与示例数据库的连接。
从 [SQL] 菜单中选择 [断开连接]。
-
连接到新的数据库。
从 [SQL] 菜单中选择 [连接]。
-
输入 DBA 作为用户 ID
-
输入 SQL 作为口令
-
单击 [数据库] 选项卡,然后在 [数据库文件] 框中输入新数据库文件的完整路径和文件名。
-
单击 [确定]。
-
-
使用 read 语句。切记,此语句要求用双引号将文件名引起来。
-
执行该 SQL 语句:
READ "c:\\Temp\\newdemo.SQL"
-
可以使用这些基本步骤来修改其它数据库。
-
-
浙公网安备 33010602011771号