使用PowerDesigner建模
一、使用PowerDesigner建模
在数据库概念设计中已经分析了本系统中主要的数据应实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中,
形成完整的数据结构。本系统将使用PowerDesigner工具完成数据库建模,使用的版本为12.5。使用该工具建模的步骤如下:
(1)运行PowerDesigner,并在PowerDesigner主窗口中选择主菜单中的File/New命令,在打开的New对话框左侧Model type列表框中选择
Physical Data Model(物理数据模型,简称PDB)选项,在右侧的Model name文本框中输入模型名称JXCManager,在DBMS下拉列表框中选择数据库管理系统。
PowerDesigner支持的数据库管理系统非常多,例如常用的MySQL 5.0、Microsoft SQL Server 2005、Oracle Version 10gR2等。企业进销存管理系统选择
Microsoft SQL Server 2000作为数据库服务器,单击“确定”按钮,如图1.12所示:

图1.12 New对话框
(2)打开新建的PDM窗口。在该窗口的中心空白区域是模型编辑器,下方为输出窗口。另外还有一个浮动的工具面板,其中包括常用的
建表工具、建视图工具、主外键引用工具,如图1.13所示。
(3)在图1.13中单击“建表工具”按钮 ,这时鼠标指针将显示为“吕”(样子差不多) ,在模型编辑器的合适位置单击,
此时在图形窗口中将显示如图1.14所示的数据表模型。

图1.13 工具面板
注意:细心的读者可以发现,此时的鼠标指针仍然是“吕”(样子差不多)。如果再次单击还将出现类似图1.14所示的表符号。
如果想取消该指针,可以单击工具面板中的“箭头”按钮或单击鼠标右键。

图1.14
(4)在图1.14所示的表符号上双击鼠标左键,将打开Table Properties(表属性)对话框。默认情况下选中的是General选项卡,
在该选项卡的Name文本框中,输入表的名称tb_manager,此时在Code文本框中也将自动显示tb_manager,其他选择默认即可。
(5)选择Columns选项卡,首先单击列输入列表的第一行,将自动转换第一行为编辑状态,然后在 Name列输入字段名称为ID,
同时Code列也将自动显示为ID,再在Data Type列中选择int选项,最后选中 P列 的复选框将该数据表字段设置为主键,
此时 M列 的复选框也将自动被选中,它约束字段值不能为空。
(6)按照步骤(5)的方法再添加两个列name和PWD,但是不需要选中P列复选框设置主键,如图1.15所示。

(7) 在图1.15中单击“应用”按钮后,选择ID字段,单击左上角的手型按钮【如下图红色框所圈】,将打开Column Properties(列属性)
对话框,默认选中General选项卡,在其中选中Identity复选框【如下图红色框所圈】,此项操作用于设置ID字段使用自动编号。


(8)单击“应用”按钮后,再单击“确定”按钮,关闭Column Properties对话框。
(9)单击“确定”按钮,关闭Table Properties对话框,完成tb_manager表的创建。
(10)按照步骤(3)-(9)的方法创建本系统中的其他数据表,并通过主外键引用工具建立各表间的依赖关系。创建完成的模型如图1.16所示。
技巧:在默认情况下,创建后的表模型中的全部文字均为常规样式的宋体8号字,如果想修改文字的格式,可以选中全部表符号,
按Ctrl+T键,在打开的Symbol Format对话框中选择Font选项卡,从中设置相关内容的字体及样式和字号等。
(11)选择PowerDesigner主菜单中的Database/Generate Database命令,将打开Database Generation对话框。在该对话框中
设置导出的脚本文件的名称(如jxc.sql)及保存路径(如D:\JXC),选中Script generation单选按钮,如图1.17所示。
单击“确定”按钮,会在指定的路径中生成数据库脚本文件。

图1.17 Database Generation对话框
(12)在图1.17所示的对话框中选择Direct generation单选按钮,可以使用ODBC数据源直接在数据库管理系统中生成数据表和视图。
但是,必须先创建数据库的数据源,然后单击 按钮选择指定的数据源,并单击“确定”按钮。
二、 创建数据库
在导出数据库脚本文件后,就可以在查询分析器中执行该脚本来创建数据库及数据表了。具体步骤如下:
(1)选择“开始”/“所有程序”/Microsoft SQL Server/“查询分析器”命令,在弹出的“连接到 SQL Server”对话框中输入访问数据库
的用户名和密码,如图1.18所示。单击“确定”按钮。
图1.18 “连接到 SQL Server”对话框
(2)在打开的SQL查询分析器中选择“文件”/“打开”命令,在弹出的对话框中选择数据库脚本文件,然后单击“打开”按钮,
返回查询分析器,选择执行脚本的数据库,然后单击 按钮执行脚本中的命令创建数据库的表结构,如图1.19所示。
使用PowerDesigner建模的更多相关文章
- PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件
物理数据模型(Physical Data Model)PDM,提供了系统初始设计所需要的基础元素,以及相关元素之间的关系:数据库的物理设计阶段必须在此基础上进行详细的后台设计,包括数据库的存储过程.操 ...
- PowerDesigner建模应用(二)逆向工程,导出PDM文件前过滤元数据(表、视图、存储过程等)
在上一篇文章<PowerDesigner建模应用(一)逆向工程,配置数据源并导出PDM文件>步骤二中导出了目标数据库对应的PDM文件, 该文件中展示出了所有表的信息与关系. 某些业务场景下 ...
- 用powerdesigner建模工具生成数据库
1,使用powerdesignerP:主键 F:外键 M:是否可为空 2,两张表建立主外键关系时,主外键名称要相同.比如A表 A_id name 说明id(P) B表 B_id name 说明id ...
- PowerDesigner 建模后如何导入到数据库
from:https://jingyan.baidu.com/article/7f766daf465e9c4101e1d0d5.html 大家都知道PowerDesigner是一个数据库建模工具,但是 ...
- BI中PowerDesigner建模
PowerDesigner下载: http://pan.baidu.com/share/link?shareid=296749&uk=1479845243
- PowerDesigner 建模
File—New Model—Physical Data Model—Physical Diagram—Model name设置为test,DBMS属性设置为Microsoft SQL Server ...
- 使用powerdesigner建模时设置主键自增的问题
研究了一下,其实只要双击表,选择columns,再双击在你所要设为自增型的键上(比如你的id)或者右键选择Properties,弹出一个ColumnProperties 对话框,我们看到有标识 ide ...
- powerdesigner中将表的name在生成建表sql时生成注释
1.为powerdesigner的表设置注释方法: powerdesigner默认没有注释: 设置方法: 选择那个表 右键- >Properties- >Columns- >Cust ...
- PowerDesigner中转换物理模型时的命名转换
原文:PowerDesigner中转换物理模型时的命名转换 最近在使用PowerDesigner建模数据库,在使用中积累了一些遇到的问题和解决办法,记录下来,希望对遇到同样问题的朋友有所帮助. 早 期 ...
随机推荐
- python学习笔记04 --------------基本运算符
1.算数运算 + 加 - 减 * 乘 / 除 % 取模(先做除法,然后返回余数) ** 乘方(幂运算) // 取整(相除,然后返回商的整数部分) 2.比较运算(返回布尔值) == ...
- 376. Binary Tree Path Sum【LintCode java】
Description Given a binary tree, find all paths that sum of the nodes in the path equals to a given ...
- 周期串 (Periodic Strings,UVa455)
#include<stdio.h> #include<string.h> int main(void) { int n,stlen,i,j; ]; while(scanf(&q ...
- 【第四章】Shell 条件测试表达式
shell中条件测试的三种格式: 格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] 使用test: [root@host- ~]# test -f file ...
- php redis和java混用问题
目前项目是 一个php 一个java 共用一套 redis key value 也都一样, java 使用 gson 解析json 会将php 设置的json里面看 {"a&q ...
- 小猫爬山:dfs
题目描述: 翰翰和达达饲养了N只小猫,这天,小猫们要去爬山. 经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). 翰翰和达达只好花钱让它们坐索道下山. ...
- Python高级编程-序列化
在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict: dict1 = {'name': 'Rob', 'age': 19, 'score': 90} 可以随时修改变量,比如把age改成 ...
- POJ 2455 Secret Milking Machine(最大流+二分)
Description Farmer John is constructing a new milking machine and wishes to keep it secret as long a ...
- Javascript闭包演示【转】
文章出自http://www.cnblogs.com/snandy/archive/2011/03/01/1967628.html 有个网友问了个问题,如下的html,为什么点击所有的段落p输出都是5 ...
- popen()与system()
一.popen() 用途:执行shell命令(并读取其输出或向其发送一些输入) 特点:通过管道来与shell命令进行通信 二.system()