工具:

Sybase PowerDesigner 15.1

Microsoft SQL Server 2005

第一步概要设计:

打开PowerDesigner软件,设计“概念数据模型”(Conceptual Data Model):

点击workspace 右键---》New—>Conceptual Data Model,

弹出如下界面:

设计表、表结构:

在设计属性(字段)的时候,三个字母(M、P、D)分别表示:

M:是否为空;(√表示不允许为空)

P:是否为主键;

D:是否在该软件的视图中显示

第二步:物理设计

将“概念数据模型”设计的表转换为“物理数据模型”(Physical Data Model),实际上是从“概要设计”转换为“详细设计”,即对表的具体实现。

将概要设计模板转换为物理设计

选择“Tools”-->“Generate Physical Data Model…”即可。

然后选择你的DBMS.

点击“确定”按钮以后,就产生了对应“SQL Server 2005”数据库的表、属性、关系的具体实现。

这时就会有一个物理设计的模板出现,将你在概要设计时的实体都转换成具体的表。

第三步:在SQL Server 2005中手动创建数据库(也可以用SQL创建库,pd可以将我们的表设计都转换成SQL)

需手动在SQL SERVER 2005中创建您的数据!如:“Students“,此过程省略…

第四步:在数据源ODBC中配置用户数据源

第五步:在SQL Server 2005中自动创建表结构

首先:根据“物理数据模型”(Physical Data Model)自动建立相应的SQL语句:

其次:执行其创建的SQL语句文件,将数据表结构自动创建到SQL Server 2005数据库中:

完成以上步骤后,刷新SQL Server 2005数据,将会看到你所创建的相关表结构。

另外生成单张表SQL语句可以:

在物理设计模板中,选择表--》右键—》SQL Perview…

生成SQL创建库和表,我们可以看出生成的sql语句很不错的。

建立表的主外键关系:

使用PowerDesigner物理模型为建的关系表添加外键,有个原则就是主表的主键名称必须和副表的外键名称一致。

测试(仅测试,不含技术)

1.建主表user                                                   2.建副表department

uid int primary key                                 did int primary key

name varchar(32)                                 uid int

2.对着模型右击New->Reference

parent表为user表,child表为department

这样就建立了关系,外建也自动建立了。

关于表关系的建立,本人也存疑,但有三种思路:

1、概要设计时设计好关系。(个人倾向于这种方式,有时间尝试)

2、物理设计时设计好关系(笔者使用此方法,若表很多,关系复杂,此阶段设计关系会很痛苦。偶深受其害!)

3、生成数据库后,DBMS中建立关系(这种方式是笔者突发奇想,仔细思考,不建议采用这种方式,如果使用T-SQL重构数据库,又得重建关系)

仔细思考过后,个人认为概要设计时,设计实体、实体必要属性、实体与实体关系,然后在数据库物理设计时详细设计表属性等内容。

SyBase Powerdesigner生成数据库详细表的更多相关文章

  1. PowerDesigner生成数据库表和逆向生成表结构(MySQL数据库)

    一.Download Connector/ODBC下载ODBC驱动,地址:https://dev.mysql.com/downloads/connector/odbc/, 需要注意:PowerDesi ...

  2. powerdesigner 生成数据库脚本

    PowerDesigner导出所有SQL脚本 操作:Database=>Generate Database PowerDesigner怎么导出建表sql脚本 1 按照数据库类型,切换数据库. D ...

  3. 用PowerDesigner生成自定义建表语句

    原文:用PowerDesigner生成自定义建表语句 我们经常用PowerDesigner来进行数据库表结构的设计,并且设计出来的表比较直观的看出之间的相互关系,方便理解:但其自动生成的脚本并不一定符 ...

  4. SQL Server 动态生成数据库所有表Insert语句

    一. 背景 SQL Server,如果我们需要把数据库A的所有表数据到数据库B中,通常我们会怎么做呢?我会使用SSMS的导入导出功能,进行表数据的导入导出,无可厚非,这样的导入非常简单和方便: 但是, ...

  5. PowerDesigner生成MySQL脚本,表和字段进行转义

    打开Power Designer数据库建模工具,软件基本信息如下 如果PowerDesigner内置的(table_option)表物理操作没有,请看以下步骤 打开 Edit Current DBMS ...

  6. c# EF code First生成数据库以及表

    1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器->程序包管理器控制台,执行以下语句: PM> Insta ...

  7. PowerDesigner 生成数据库字典(有图有真相,绝对自创非转载)

    最近用pd做模型,生成数据字典时在网上找了很多,但是看的都很晕,说的不明白. 经过自己研究终于找到一个简单的方式,当然这只是简单的,大家举一反三去吧.辛苦弄的,求点赞!!! 先看效果图: 现在说一下步 ...

  8. spring和hibernate整合时设置自动生成数据库的表

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFa ...

  9. oracle实现远程连接超简单;枚举与剪枝();PowerDesigner生成数据库代码注意里面的双引號,应该去掉

    点击開始,查看netManager,点击面板的监听程序,默认仅仅有地址1且标记着localhost.新建一个地址,输入本机IP,又一次开启监听程序就可以 △△△ * △△ = △△△△ 某3位数乘以2 ...

随机推荐

  1. javase基础复习攻略《八》

    进入第八篇,我们开始讨论JAVA的IO初步.在JAVA程序中,对数据的输入\输出操作以"流"(stream)方式进行,J2SDK提供了各种各样的"流"类,用于获 ...

  2. MySQL的学习--触发器

    MySQL包含对触发器的支持.触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行. 创建触发器 在MySQL中,创建触发器语法如下 ...

  3. Android WebView加载本地html并实现Java与JS交互

    最近做的一个项目中,用到自定义地图,将自定义地图转换成html页面,现在需要做的是如何将本地的html加载到android中,并可以实现交互. 相关讲解: 其实webview加载资源的速度并不慢,但是 ...

  4. Spark入门实战系列--2.Spark编译与部署(中)--Hadoop编译安装

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .编译Hadooop 1.1 搭建环境 1.1.1 安装并设置maven 1. 下载mave ...

  5. 批处理:Windows主机通过FTP下载远程Linux主机上文件

    问题:在Windows上怎么写个批处理把多个文件FTP依次下载到本地某个目录. 批处理脚本示例: @echo off title Download db files. Don't close it!! ...

  6. AngularJS in Action读书笔记6(实战篇)——bug hunting

    这一系列文章感觉写的不好,思维跨度很大,原本是由于与<Angularjs in action>有种相见恨晚而激发要写点读后感之类的文章,但是在翻译或是阐述的时候还是会心有余而力不足,零零总 ...

  7. 总结消息队列RabbitMQ的基本用法

    一.RabbitMQ是什么? AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组 ...

  8. 【Swift学习】Swift编程之旅---可选链(二十一)

    可选链Optional Chaining是一种可以在当前值可能为nil的可选值上请求和调用属性.方法及下标的方法.如果可选值有值,那么调用就会成功:如果可选值是nil,那么调用将返回nil.多个调用可 ...

  9. 动画库Animate.css

    笔记分享: 用法:到官网(http://daneden.github.io/animate.css/),下载animate.min.css文件.点击这里 1.首先引入animate css文件 < ...

  10. 利用getBoundingClientRect方法实现简洁的sticky组件

    补充于2016-03-20: 本文实现有不足,不完美的地方,请在了解本文相关内容后,移步阅读<sticky组件的改进实现>了解更佳的实现. sticky组件,通常应用于导航条或者工具栏,当 ...