`
heyaron
  • 浏览: 51110 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用PowerDesigner 设计数据库(http://www.ianywhere.com/上的

阅读更多


数据库的结构(例如表、关系、视图和触发器)称为数据库模式。可使用 SQL 语句创建这些元素并按照所需的方式进行排列,但是如果不使用图形工具,则可能会造成混淆。

PowerDesigner 提供了一种数据库结构的图形表示。只需绘制新表或输入信息,即可更好地修改数据库的结构或创建全新的表。在设计完成后,PowerDesigner 可生成一个 SQL 脚本以生成新的数据库。

下面的图示显示了示例数据库的结构,可以使用 PowerDesigner 方便地创建此图示。
图片点击可在新窗口打开查看

数据库的性能主要取决于设计。一般地,应将不同类型对象的信息(例如雇员或产品)存储在单独的表中。

可以使用参照来确定这些表之间的关系,即用一个表中的外键来标识另一个表中的特定行。参照可以表示多对一和一对多关系。多对多关系需要两个参照和另外一个表。

有关数据库设计的详细信息,请参见设计数据库。

若要了解 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 时对示例数据库进行了修改,以改进示例数据库的设计。

当前,始终从 product 表中读取每种产品的价格。因此,如果更新价格,就会相应地更改以前所有订单上该产品的销售价格。在 sales_order_items 表中添加 unit_price 列,即可解决此问题。这样,就可以分别存储每个客户的实际销售价格。product 表中的价格记录当前的列表价格。

启动 PowerDesigner:

   1.

      从 [开始] 菜单,选择 [程序]   >   [SQL Anywhere 9]   >   [PowerDesigner 9]   >   [PowerDesigner]。

      此时,就会出现 PowerDesigner 主窗口:
      图片点击可在新窗口打开查看

      PowerDesigner 主窗口包含对象浏览器(左侧)和输出窗口(底部)。
   2.

      从 [File] 菜单中选择 [New]。

      即会出现 [New] 对话框。
   3.

      在 [New] 对话框中,选择 [Physical Data Model],然后单击 [OK]。

      即会出现 [New Physical Data Model] 对话框。
   4.

      在 [General] 选项卡上,从下拉列表中选择 [Sybase AS Anywhere 9]。
   5.

      对剩余选项使用缺省设置,然后单击 [OK]。

      此时,在浏览器和标题栏中就会出现模型名称 PhysicalDataModel_1。

      在本节中,可通过对示例数据库执行反向工程,以便给其生成一个物理数据模型 (PDM)。

      对数据库执行反向工程:
         1.

            单击 diagram 窗口(PowerDesigner 中心的大窗格)。
         2.

            从 [Database] 菜单中选择 [Reverse Engineering Database]。

            即会出现 [Database Reverse Engineering] 对话框:
            图片点击可在新窗口打开查看
         3.

            确保选中了 [Using an ODBC Data Source],并且数据源是 [ASA 9.0 Sample]。

            如果未出现 [ASA 9.0 Sample],请单击数据源字段右侧的图标。此时,就会出现 [连接到 ODBC 数据源] 对话框。选择 [计算机数据源],然后从下拉列表中选择 [ASA 9.0 Sample]。输入用户 ID DBA 和口令 SQL。单击 [连接] 以返回到 [Database Reverse Engineering] 对话框。
         4.

            在 [Database Reverse Engineering] 对话框中,单击 [OK]。

            此时,就会出现 [ODBC Reverse Engineering] 对话框:
            图片点击可在新窗口打开查看

            该对话框的下半部分有 7 个复选框,用于选择键、索引等。这些都是反向工程选项。确保选中除 [Permissions] 复选框(缺省值)外的所有选项。还应确保已选中所有的表(也是缺省设置)。
         5.

            单击 [OK] 以进行数据库反向工程。

            示例数据库的图形表示将出现在图示窗口中,模型对象将出现在浏览器中:
            图片点击可在新窗口打开查看
         6.

            从 [Tools] 菜单中选择 [Display Preferences] 以查看修改显示的方式。单击左侧的每个选项以查看显示首选项参数页。单击每页底部的 [Help] 以查看全部信息。

            查看图示。可以使用 F6 键和 F7 键放大和缩小图示以便于查看。

            数据库中的每个表均由一个框表示。表的名称显示在框的顶部。其下面是列的列表。带有下划线的列名是该表主键的一部分。每个列的数据类型显示在右侧。在反向工程后,某些表可能会发生重叠。从 [Symbol] 菜单中,选择 [Auto-Layout] 重新对其进行排列。

            这些表之间的引用是用箭头表示的。这些箭头指向父表,即包含主键的表。在每个标识引用的箭头旁边有一个等式。
         7.

            重新排列这些表以便于查看图示。若要重新排列,请用鼠标拖动这些表。引用箭头自动随这些表一起移动。可通过在单击时按下 Shift 键来选择多个对象。

            下面就是一种可能的排列方式:
            图片点击可在新窗口打开查看
            第 2 课:添加列

            现在,就可以向 sales_order_items 表中添加 unit_price 列了。可通过 [Table property] 表访问列的列表来完成此任务。

            添加列:
               1.

                  选择 sales_order_items 表。
               2.

                  从 [View] 菜单中选择 [Properties]。

                  即会出现 [Table Properties] 对话框。
                  图片点击可在新窗口打开查看
               3.

                  单击 [Columns] 选项卡。

                  即会出现列的列表。
                  图片点击可在新窗口打开查看
               4.

                  添加新列以存储单价。

                  单击 [Insert a Row] 按钮。

                  此时,在行首就会出现一个箭头,并显示使用缺省名称 (Column_6) 的列。
               5.

                  在名称列中键入 unit_price。将此名称自动作为代码进行复制。

                  在 [Data Type] 列,从下拉列表中选择 [Numeric]。

                  [Data] 字段可能因太窄而无法查看。可以拖动列的两侧以扩展列。
               6.

                  列属性 P、F 和 M 分别表示 [主键]、[外键] 和 [强制](解释如下):
                      *

                        [主键] 指定的列的值唯一地标识表中的行。
                      *

                        [外键] 指定的列取决于另一个表中的主键列,并且是从该主键列迁移的。
                      *

                        [强制] 要求必须给指定的列赋值。
               7.

                  选择 [强制],然后单击 [OK]。
               8.

                  检查所做的更改对数据库图示产生的影响。

                  现在,sales_order_items 表包含一个称为 unit_price 的新列。
                  第 3 课:检查所做的工作

                  PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

                  检查新的模式:
                     1.

                        从 [Tools] 菜单中选择 [Check Model]。

                        此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。
                     2.

                        单击 [确定]。

                        此时,在 [Result List] 中就会显示 [Check Model] 的结果。
                        第 4 课:保存更改并生成数据库

                        在 PowerDesigner 中,将描述数据库设计的物理组件(包括表和列)的模型称为物理数据模型 (Physical Data Models, PDM)。PowerDesigner 将这些模型存储在文件(扩展名为 .PDM)中。

                        保存物理数据模型 (PDM):
                           1.

                              从 [File] 菜单中选择 [Save As]。
                           2.

                              键入文件名 c:\Temp\NewDemo.pdm。
                           3.

                              单击 [Save]。

                        可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

                        生成 SQL 脚本以新建数据库:
                           1.

                              从 [Database] 菜单中选择 [Generate Database]。

                              此时,就会出现 [Database Generation] 对话框:
                              图片点击可在新窗口打开查看
                           2.

                              在 [Directory] 字段中键入 c:\Temp\,并在 [File Name] 字段中键入 NewDemo.sql。
                           3.

                              确保选中了 [Script Generation]。
                           4.

                              单击 [Database] 选项卡,并确保选中了 [Create Database]。

                              浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。
                           5.

                              单击 [确定]。

                              创建脚本后,就会出现 [Result] 对话框。
                           6.

                              单击 [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)
                              );

                           7.

                              完成后,关闭该对话框:在 [Result] 对话框中,单击 [Close]。

                        现在,就可以从 Interactive SQL 新建数据库了。

                        新建数据库:
                           1.

                              启动 Interactive SQL。

                              从 [开始] 菜单中,选择 [程序]   >   [SQL Anywhere 9]   >   [Adaptive Server Anywhere]   >   [Interactive SQL]。
                           2.

                              使用 ASA 9.0 Sample ODBC 数据源连接到示例数据库。
                           3.

                              创建一个空数据库:
                                  *

                                    执行下面的 SQL 语句,用适当的目录替代语句中的目录。

                                    CREATE DATABASE 'c:\\Temp\\newdemo.db'

                                    提示
                                    要在 Interactive SQL 中执行 SQL 语句,请在 [SQL 语句] 窗格中键入或复制该语句,然后按 F5 键。或者,从 [SQL] 菜单中选择 [执行]。
                           4.

                              关闭与示例数据库的连接。

                              从 [SQL] 菜单中选择 [断开连接]。
                           5.

                              连接到新的数据库。

                              从 [SQL] 菜单中选择 [连接]。
                                  *

                                    输入 DBA 作为用户 ID
                                  *

                                    输入 SQL 作为口令
                                  *

                                    单击 [数据库] 选项卡,然后在 [数据库文件] 框中输入新数据库文件的完整路径和文件名。
                                  *

                                    单击 [确定]。
                           6.

                              使用 read 语句。切记,此语句要求用双引号将文件名引起来。
                                  *

                                    执行该 SQL 语句:

                                    READ "c:\\Temp\\newdemo.SQL"

                        可以使用这些基本步骤来修改其它数据库。
                        小结

                        此教程仅介绍 PowerDesigner 的一些基本特性。实际上,它可以处理数据库模式的全部设计或修改,其中包括所有的表、视图、索引、引用、触发器和过程。
                        域

                        可以使用其它特性大大简化大型数据库的设计任务。例如,可以指定域。域包含特定类型的数据,例如电话号码。域与某种数据类型关联,但域更具体一些。例如,可以创建标识号域。当需要表中的某个标识号时,可以将该列与标识号域关联起来。同时,自动关联所有与该域关联的属性和检查。

                        域可减少重复性的定义。这样,不仅减少了您的工作量,而且还降低了误用其它类型定义或检查过程的可能性。不应简单地将列标识为一个整数,而是指定该列包含的具体数据类型。该数据类型的所有实例共享相同的定义。

                        有关详细信息,请参见使用域。
                        业务规则

                        业务规则以书面的形式来表达业务运营的方式。例如,the order shipped date must be greater than or equal to the order date(订单交货日期必须晚于或等于订单日期)就是一条业务规则。

                        业务规则共分为四个类别:
                            *

                              定义     表示对象的固有属性。[定义] 通常用于描述实体。
                            *

                              事实     表示肯定或存在。[事实] 通常用于描述关系。
                            *

                              校验     是给值设定的约束。
                            *

                              公式     用于得出值的计算。

                        业务规则的使用很方便,因为它们与客户要求数据库执行的任务直接相关。通过记录业务规则并将它们与特定对象关联起来,可以确保数据库执行所需的任务。

http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/zh/html/dbfgzh9/00000291.htm
分享到:
评论

相关推荐

    PowerDesigner15官方正式版+注册补丁

    http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Evaluation.exe 类库: PowerDesigner15_Library.zip http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Library.zip QQ餐厅17级最佳...

    ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)示例源码

    摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂设计模式等。支持.Net1.1及以上...

    PowerDesigner.v12.5 破解补丁

    PowerDesigner.v12.5 破解补丁,可用,附了中文说明

    PowerDesigner 15.2 最新破解

    PowerDesigner 15.2.0.3042 官方下载: 目前 PowerDesigner 最新官方正式版本为 15.2.0.3042 ,官方下载地址: 主程序:PowerDesigner152_Evaluation.exe ...

    powerdesigner 15.2 pdflm15.dll破解文件

    http://download.sybase.com/eval/PowerDesigner/PowerDesigner152_Evaluation.exe 类库: PowerDesigner152_Library http://download.sybase.com/eval/PowerDesigner/PowerDesigner152_Library.zip 注册(破解)...

    单点登录源码

    AliOSS & Qiniu & QcloudCOS | 云存储 | [https://www.aliyun.com/product/oss/](https://www.aliyun.com/product/oss/) [http://www.qiniu.com/](http://www.qiniu.com/) [https://www.qcloud.com/product/cos]...

    ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)ECG4.3.pdf

    摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂设计模式等。支持.Net1.1...

    PowerDesigner15注册补丁

    http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Evaluation.exe 类库: PowerDesigner15_Library.zip http://download.sybase.com/eval/PowerDesigner/PowerDesigner15_Library.zip (2)注册(破解...

    powerdesigner 设计数据库的例子

    具体教程请大家参阅我的博客上的相关文章:http://www.cnblogs.com/finallyliuyu《新手学习数据库之一使用powerdesigner)》。 同时也可以用文件中的sql语句生成的数据库作为学习《数据库系统概念》的例子。

    staruml_详细教程

    具体可看http://www.softwarechn.com/SparxSystems/sparxsystems_index.htm4.PowerDesigner工具简介请看http://www.uml.org.cn/UMLTools/powerDesigner/powerDesignerToolIntroduction.htm5.EA与Rose UML建模工具...

    PowerDesigner16.5.rar

    综上所述,PowerDesigner 16.5是一个全面的数据库设计工具,涵盖了从需求分析到数据库实施的各个环节,通过其强大的建模、代码生成、性能分析等功能,能有效提升数据库开发的效率和质量。对于任何需要进行复杂数据库...

    PowerDesigner 12汉化+破解补丁

    1.先安装PowerDesigner 12 下载PowerDesigner 12英文官方版: http://dl01.nbdown.net//Program/Sybase.PowerDesiner.v12.0.zip 2.只需将下面下载的这个powerdesigner12的破解文件,只需要把pdflm12.dll 这个...

    PowerDesigner15官方正式版破解文件

    它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开发时间和使系统设计更优化。 (2)官方下载: 目前 PowerDesigner 最新官方正式版本为 15.1.0.2850 ,謾軻提供官方下载地址: ...

    powerdesigner导出数据库设计文档手册.doc

    - 使用PowerDesigner导出数据库设计文档时,建议先尝试使用标准模板,再根据具体需求调整模板样式。 通过以上步骤,您可以熟练掌握如何使用PowerDesigner连接MySQL数据库并导出数据库设计文档。这不仅有助于提高...

    使用PowerDesigner生成数据库说明文档.docx

    PowerDesigner是一个功能强大的数据库设计工具,能够快速生成数据库说明文档。本文将分三个部分介绍:配置数据库的ODBC数据源、使用PowerDesigner生成pdm文件、使用PDMReader生成说明文档。 配置数据库的ODBC数据源...

    PowerDesigner设计数据库案例.doc

    数据库设计案例分析与PowerDesigner设计数据库案例 数据库设计案例分析 本文档主要讲述了PowerDesigner设计数据库案例,通过对数据库设计案例的分析,掌握数据库设计的基本原则和方法。 数据库设计的重要性 ...

    使用PowerDesigner生成PostgreSQL数据库的物理数据模型

    ### 使用PowerDesigner生成PostgreSQL数据库的物理数据模型 #### 实验环境配置与要求 在进行PowerDesigner生成PostgreSQL数据库物理数据模型的操作之前,首先需要确保实验环境满足以下条件: 1. **操作系统**: ...

    使用powerdesigner 生成数据库设计文档

    在IT行业中,数据库设计是系统开发的关键环节,而PowerDesigner是一款强大的数据库建模工具,能够帮助我们高效地完成这一任务。本篇文章将详细介绍如何利用PowerDesigner来生成数据库设计文档,解决手动编写文档带来...

    Mac OS 查看PDM文件工具

    Mac OS 没有查看PDM文件的工具,PowerDesigner只有windows版本,无Mac版,在Mac 上查看PDM文件非常不方便,或者装双系统,非常麻烦,现在有了ParsePDM工具,就不用担心了. ParsePDM需要依赖JDK1.7,机器如果没有安装,请到...

Global site tag (gtag.js) - Google Analytics