工具:
Sybase PowerDesigner 15.1
Microsoft SQL Server 2005
第一步概要设计:
打开PowerDesigner软件,设计“概念数据模型”(ConceptualData Model):
点击workspace 右键---》New—>Conceptual DataModel,
d出如下界面:
设计表、表结构:
在设计属性(字段)的时候,三个字母(M、P、D)分别表示:
M:是否为空;(√表示不允许为空)
P:是否为主键;
D:是否在该软件的视图中显示
第二步:物理设计
将“概念数据模型”设计的表转换为“物理数据模型”(PhysicalData Model),实际上是从“概要设计”转换为“详细设计”,即对表的具体实现。
将概要设计模板转换为物理设计
选择“Tools”-->“Generate Physical DataModel…”即可。
然后选择你的DBMS.
点击“确定”按钮以后,就产生了对应“SQL Server 2005”数据库的表、属性、关系的具体实现。
这时就会有一个物理设计的模板出现,将你在概要设计时的实体都转换成具体的表。
第三步:在SQL Server2005中手动创建数据库(也可以用SQL创建库,pd可以将我们的表设计都转换成SQL)
需手动在SQL SERVER2005中创建您的数据!如:“Students“,此过程省略…
第四步:在数据源ODBC中配置用户数据源
第五步:在SQL Server2005中自动创建表结构
首先:根据“物理数据模型”(Physical Data Model)自动建立相应的SQL语句:
其次:执行其创建的SQL语句文件,将数据表结构自动创建到SQL Server 2005数据库中:
完成以上步骤后,刷新SQL Server 2005数据,将会看到你所创建的相关表结构。
1.确认当前Powerdesigner设置的dbms是否正确,即是否是我们要生成的数据库类型,我在这里使用的是sqlserver2000:Powerdesigner->数据库->更改当前dbms,选择您的数据库类型。
2.配置Powerdesigner与数据源的连接
Powerdesigner->数据库->配置连接->用户dsn(或系统dsn)->选择、添加您的数据源
3.连接
Powerdesigner->数据库->连接->设置好您刚才建立的dsn确定。
OK,设置好连接后我们就可以将pdm生成sql语句了。
4.数据库生成
Powerdesigner->数据库->生成数据库->配置好(默认就可以)后选择确定就好了。
拿到sql脚本语句,大家都知道应当如何做了吧,放到sql查询分析器里执行吧。
在powerBuilder中新建一个Physical Data Model,在其中新建一个用户表,信息如下图所示:此时的SQL语句可从其中的Preview视图中得到,如下图所示:
这个时候生成的sql语句是没有注释的,而且sql语句可能也不是适合自己所对应的数据库语言。此时可以通过以下方法来生成注释并且选择所需的数据库语言。
1、为sql生成注释, *** 作如下,我用的是PowerDesigner12.5,在其中选择Tools----》Excute commands-----》Edit/Run Script打开的窗口中添加以下信息
'****************************************************************************** '* File: name2comment.vbs '* Purpose: Database generation cannot use object names anymore ' in version 7 and above. ' It always uses the object codes. '' In case the object codes are not aligned with your ' object names in your model, this script will copy ' the object Name onto the object Comment for ' the Tables and Columns. ''* Title: '* Version: 1.0 '* Company: Sybase Inc. '******************************************************************************
Option ExplicitValidationMode = TrueInteractiveMode = im_Batch
Dim mdl ' the current model
' get the current active model Set mdl = ActiveModel If (mdl Is Nothing) ThenMsgBox "There is no current Model "ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) ThenMsgBox "The current model is not an Physical Data model. "Else ProcessFolder mdl End If
' This routine copy name into comment for each table, each column and each view ' of the current folder Private sub ProcessFolder(folder) Dim Tab 'running table for each Tab in folder.tables if not tab.isShortcut then '把表明作为表注释,其实不用这么做 tab.comment = tab.name Dim col ' running column for each col in tab.columns '把列name和comment合并为commentcol.comment= col.name nextend ifnext
Dim view 'running view for each view in folder.Views if not view.isShortcut then view.comment = view.name end ifnext
' go into the sub-packages Dim f ' running folder For Each f In folder.Packages if not f.IsShortcut then ProcessFolder f end ifNextend sub
点击run后,可以看到刚刚的preview视图窗口中已经如下图所示
2、更换数据库sql语句。
选择Database---》change current DBMS,在DBMS中选择对应的数据库,如Microsoft SQL Server 2005,点击确定后,然后选择Database---》Generate Database选项,在d出的窗口中选择生成sql文件的保存路径,点击确定,则可看到生成的sql语言完全是按照sqlserver2005的标准。如下图所示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)