- 浏览: 1250351 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (461)
- 心得体会 (166)
- Hibernate (9)
- Spring (12)
- Struts1 (3)
- Ajax (4)
- Java (54)
- 其他技术 (21)
- 数据库 (29)
- EXT (0)
- Struts2 (7)
- Xml (3)
- HTML (5)
- JavaScript (12)
- 面试相关 (3)
- BLOG (11)
- 计算机 (11)
- PMP (0)
- OGNL (1)
- LINUX (79)
- AIX (1)
- Ubuntu (14)
- Android (1)
- hadoop (3)
- LINUX debian (3)
- 心得体会 eclipse (2)
- JSTL (1)
- 心得体会 hadoop cdh3u5 (2)
- maven (5)
- Hive (1)
- 心得体会 工具使用 (3)
- spring data jpa Query By Example(QBE) (1)
- nginx (2)
- Apache (1)
- mysql (6)
- LINUX mysql (2)
- freemaker (1)
- 心得体会 FastDFS Nginx 断点续传 (1)
- LINUX FastDFS Nginx 断点续传 (1)
- 心得体会 Mybatis (2)
- 心得体会 mysql (4)
- php (1)
- logback 简介 (5)
- EL (1)
- Tomcat (2)
- win7 (1)
- LINUX maven (1)
- scrumworks (1)
- linux nginx (6)
- svn linux (1)
- mac (3)
- mac git (1)
- git (1)
- nexus (2)
- golang (1)
- LINUX Redis (1)
- mac oracle (1)
最新评论
-
a785975139:
有用
MySQL Error :SHOW PROFILES -
yijiulove:
弄了半天,参照你的方法解决了.特来感谢,知道可能是先加载,但是 ...
Spring和Mybatis整合时无法读取properties的处理方案 -
chenjinqi1987:
Missing com.sun.jdmk:jmxtools:jar:1.2.1 -
leifeng2:
请问怎么使用,运行之后d盘符没有生产音频文件呢?
java录音程序 -
sundful:
chenghong726 写道你好,我也遇到你这样的问题,按照 ...
Spring和Mybatis整合时无法读取properties的处理方案
数据库设计工具对比
PowerDesign:PowerDesign是Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。
ERWin:这个是CA公司的拳头产品,它有一个兄弟是BPWin,这个是CASE工具的一个里程碑似的产品。ERWin界面相当简洁漂亮,也是采用ER模型,如果你是开发中小型数据库,极力推荐ERWin,它的Diagram给人的感觉十分清晰。在一个实体中,不同的属性类型采用可定制的图标显示,实体与实体的关系也一目了然。ERWin不适合非常大的数据库的设计,因为它对Diagram欠缺更多层次的组织。
如何一次性将表结构的脚本导出来?
Database --->Generate Database ---> Genarate Script 就可实现。
Name用中文英文以便查询、写程序的时候方便, Code才是最终产生的Table Name
PowerDesigner中建了模型,如何把它作为文档导出?
利用REPORT。选择一个模板,然后就生成了RTF或是HTM格式的文档
如何将已经存在的数据库所有表,导入到PowerDesign中?
用PD里的反向工程file--->reverse engineering ===> and go on
概念数据模型(CDM)
CDM表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。不考虑物理实现细节,只考虑实体之间的关系。
物理数据模型 (PDM)
PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。
面向对象模型 (OOM)
一个OOM包含一系列包,类,接口和他们的关系。这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。一个OOM本质上是软件系统的一个静态的概念模型。
业务程序模型(BPM)
BPM描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。
正向工程
你能直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。
逆向工程
将已存在的数据库产生进新的PDM 之内。数据来源可能是从脚本文件或一个开放数据库连接数据来源。
并不是每个设计都需要用到Power Designer。 例如:小的系统,或Table数比较少的情况下就没有必要采用Power Designer了。
设计步骤
CDM PDM OOM三者转换关系
PowerDesigner仅仅是实现的工具
不要以为Power能帮你把关系什么的全部建立好,很多数据库理论只是还是需要的,设计数据库的时候,那些范式什么的,一定要掌握。
设计一个好的数据库,最好的工具不是必须的,但是基础理论是一定要的。
PowerDesigner用途不局限于数据建模
还可以用PowerDweigner设计web service
并不是每个设计都需要用到PD
用Powerdesigner对付比较大型的项目,是很好的,对于短平快类型的项目,如果时间要求你1个星期完成一个程序,那么完全没有必要用PowerDesigner,直接维护数据库就可以了,当表的数量超过10个(一个小系统的表在10个左右)的时候,建议还是用用Powerdesigner 。
我的看法:如果想做成一个比较规范的数据库,小项目也可以用。毕竟生成报表和正反向工程很有用。
零碎
PD中的CDM设计时,可以将所有需要的字段都定义好。然后在设计实体是直接取出来。PD提供了这样的统一管理的工具。在PD菜单栏-Model-Data Item下。
为了使自己设计的CDM看起来象样一点,可以从工具栏中,拖动一个Title。其显示的信息,是当前CDM的属性值。
为了使实体等Symbol看起来显眼和舒服。可以根据个人喜好进行外观上的调整。当前设计界面中,右键-Display Perferences中进行设置。还可以增加shadow效果。选中Symbol后,Ctrl+W。或者右键菜单。
为了使布局整齐。选中需要调整的Symbol后,菜单-Symbol-Align进行设置。快捷键:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即为上下左右对齐。
设计实体属性时注意的细节:M:表示强制非空;P:是否为主键;D:是否在模型中显示。gerenate:表示是否作为表生成。
默认情况下,CDM的实体会显示Identifier一栏。如果不想其显示出来,在右键-Display Perferences中ObjectView-Entity中设置。
关系的命名方法是:实体名1 实体名2。
关系中的角色(Role)表示联系线上一个方向上的含义。用一个动词来描述。Role只是起一个描述作用。
依赖(Dependency):表示在联系中一个实体的存在是否依赖于另一个实体。寄生实体(Dependent Entity)是一种部分地被另一实体确定的实体。在依赖联系中,一个实体与另一实体通过标识符相联系,当一个实体的存在没有另一个实体的存在作为参考就不能唯一确定时,两个实体间就存在依赖联系。
主从表就是典型的依赖关系。
中间实体(Associative Entity):是为了解决多对多联系而产生的一个人工实体,能够为中间实体定义属性。用鼠标右键单击多对多联系线,在弹出的菜单中选择“Change to entity”,能够把这个联系转换成连接两个实体的中间实体。
善于利用自动生成的中间实体,可以简化设计工作,提高数据库设计的正确性。
中间实体一般不用再加入新的字段。
牢记:外键是通过关系Relationship自动来建立的,不需要手动建立。不然会产生多余的键。所以设计时,关注实体本身的字段,以及实体间的关系,特别是多对多和依赖关系。
从CDM到PDM的转换需要注意:
不能改变Diagram的名称
在树状图中,如果钩选红色标出的Symbol表示覆盖修改,不钩选表示保护修改。
数据库为了保证数据完整性和一致性,提出了约束。即表约束,列约束以及参照完整性约束。通常数据库设计和程序开发不是绝对的分离的。所以前两者在实际开发过程中逐渐的完善。需要注意的还是参照完整性约束。
在PD中前两者的设定是对字段,后者是对关系。
参照完整性约束
限制(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。
置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。
注意理解以上的约束时,抓住操作的都是主表。子表的操作都是相对主表来说的。操作方式就是Update和Delete。
引用基础数据表的数据时,可以建立对应的视图。选中需要作为视图的表,菜单栏-Tools-Create View
PD支持对已有数据的表更新表结构。不过需要谨慎操作,检查生成的SQL脚本。
PD也可以生成随机的测试数据。
触发器就是DBMS中提供的事件驱动机制。发生在表的Insert,Update和Delete。执行SQL语句或存储过程。
在PD中可以完成存储过程的编写,也便于管理。
逆向工程可以通过数据库脚本或者通过ODBC数据源来实现。
PowerDesign:PowerDesign是Sybase推出的主打数据库设计工具。PowerDesign致力于采用基于Entiry-Relation的数据模型,分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical Data Model)两个层次对数据库进行设计。概念数据模型描述的是独立于数据库管理系统(DBMS)的实体定义和实体关系定义。物理数据模型是在概念数据模型的基础上针对目标数据库管理系统的具体化。
ERWin:这个是CA公司的拳头产品,它有一个兄弟是BPWin,这个是CASE工具的一个里程碑似的产品。ERWin界面相当简洁漂亮,也是采用ER模型,如果你是开发中小型数据库,极力推荐ERWin,它的Diagram给人的感觉十分清晰。在一个实体中,不同的属性类型采用可定制的图标显示,实体与实体的关系也一目了然。ERWin不适合非常大的数据库的设计,因为它对Diagram欠缺更多层次的组织。
如何一次性将表结构的脚本导出来?
Database --->Generate Database ---> Genarate Script 就可实现。
Name用中文英文以便查询、写程序的时候方便, Code才是最终产生的Table Name
PowerDesigner中建了模型,如何把它作为文档导出?
利用REPORT。选择一个模板,然后就生成了RTF或是HTM格式的文档
如何将已经存在的数据库所有表,导入到PowerDesign中?
用PD里的反向工程file--->reverse engineering ===> and go on
概念数据模型(CDM)
CDM表现数据库的全部逻辑的结构,与任何的软件或数据储藏结构无关。一个概念模型经常包括在物理数据库中仍然不实现的数据对象。它给运行计划或业务活动的数据一个正式表现方式。不考虑物理实现细节,只考虑实体之间的关系。
物理数据模型 (PDM)
PDM叙述数据库的物理实现。主要目的是把CDM中建立的现实世界模型生成特定的DBMS脚本,产生数据库中保存信息的储存结构,保证数据在数据库中的完整性和一致性。
面向对象模型 (OOM)
一个OOM包含一系列包,类,接口和他们的关系。这些对象一起形成所有的(或部份)一个软件系统的逻辑的设计视图的类结构。一个OOM本质上是软件系统的一个静态的概念模型。
业务程序模型(BPM)
BPM描述业务的各种不同内在任务和内在流程,而且客户如何以这些任务和流程互相影响。BPM是从业务合伙人的观点来看业务逻辑和规则的概念模型,使用一个图表描述程序,流程,信息和合作协议之间的交互作用。
正向工程
你能直接地从PDM产生一个数据库, 或产生一个能在你的数据库管理系统环境中运行的数据库脚本。可以生成数据库脚本,如果选择ODBC方式,则可以直接连接到数据库,从而直接产生数据库表以及其他数据库对象。
逆向工程
将已存在的数据库产生进新的PDM 之内。数据来源可能是从脚本文件或一个开放数据库连接数据来源。
并不是每个设计都需要用到Power Designer。 例如:小的系统,或Table数比较少的情况下就没有必要采用Power Designer了。
设计步骤
CDM PDM OOM三者转换关系
PowerDesigner仅仅是实现的工具
不要以为Power能帮你把关系什么的全部建立好,很多数据库理论只是还是需要的,设计数据库的时候,那些范式什么的,一定要掌握。
设计一个好的数据库,最好的工具不是必须的,但是基础理论是一定要的。
PowerDesigner用途不局限于数据建模
还可以用PowerDweigner设计web service
并不是每个设计都需要用到PD
用Powerdesigner对付比较大型的项目,是很好的,对于短平快类型的项目,如果时间要求你1个星期完成一个程序,那么完全没有必要用PowerDesigner,直接维护数据库就可以了,当表的数量超过10个(一个小系统的表在10个左右)的时候,建议还是用用Powerdesigner 。
我的看法:如果想做成一个比较规范的数据库,小项目也可以用。毕竟生成报表和正反向工程很有用。
零碎
PD中的CDM设计时,可以将所有需要的字段都定义好。然后在设计实体是直接取出来。PD提供了这样的统一管理的工具。在PD菜单栏-Model-Data Item下。
为了使自己设计的CDM看起来象样一点,可以从工具栏中,拖动一个Title。其显示的信息,是当前CDM的属性值。
为了使实体等Symbol看起来显眼和舒服。可以根据个人喜好进行外观上的调整。当前设计界面中,右键-Display Perferences中进行设置。还可以增加shadow效果。选中Symbol后,Ctrl+W。或者右键菜单。
为了使布局整齐。选中需要调整的Symbol后,菜单-Symbol-Align进行设置。快捷键:ctrl+UP,ctrl+Down,ctrl+Left,ctrl+Right即为上下左右对齐。
设计实体属性时注意的细节:M:表示强制非空;P:是否为主键;D:是否在模型中显示。gerenate:表示是否作为表生成。
默认情况下,CDM的实体会显示Identifier一栏。如果不想其显示出来,在右键-Display Perferences中ObjectView-Entity中设置。
关系的命名方法是:实体名1 实体名2。
关系中的角色(Role)表示联系线上一个方向上的含义。用一个动词来描述。Role只是起一个描述作用。
依赖(Dependency):表示在联系中一个实体的存在是否依赖于另一个实体。寄生实体(Dependent Entity)是一种部分地被另一实体确定的实体。在依赖联系中,一个实体与另一实体通过标识符相联系,当一个实体的存在没有另一个实体的存在作为参考就不能唯一确定时,两个实体间就存在依赖联系。
主从表就是典型的依赖关系。
中间实体(Associative Entity):是为了解决多对多联系而产生的一个人工实体,能够为中间实体定义属性。用鼠标右键单击多对多联系线,在弹出的菜单中选择“Change to entity”,能够把这个联系转换成连接两个实体的中间实体。
善于利用自动生成的中间实体,可以简化设计工作,提高数据库设计的正确性。
中间实体一般不用再加入新的字段。
牢记:外键是通过关系Relationship自动来建立的,不需要手动建立。不然会产生多余的键。所以设计时,关注实体本身的字段,以及实体间的关系,特别是多对多和依赖关系。
从CDM到PDM的转换需要注意:
不能改变Diagram的名称
在树状图中,如果钩选红色标出的Symbol表示覆盖修改,不钩选表示保护修改。
数据库为了保证数据完整性和一致性,提出了约束。即表约束,列约束以及参照完整性约束。通常数据库设计和程序开发不是绝对的分离的。所以前两者在实际开发过程中逐渐的完善。需要注意的还是参照完整性约束。
在PD中前两者的设定是对字段,后者是对关系。
参照完整性约束
限制(Restrict)。不允许进行修改或删除操作。若修改或删除主表的主键时,如果子表中存在子记录,系统将产生一个错误提示。这是缺省的参照完整性设置。
置空(Set Null)。如果外键列允许为空,若修改或删除主表的主键时,把子表中参照的外键列设置为空值(NULL)。
置为缺省(Set Default)。如果指定了缺省值,若修改或删除主表的主键时,把子表中参照的外键设置为缺省值(Default)。
级联(Cascade)。把主表中主键修改为一个新的值时,相应修改子表中外键的值;或者删除主表中主键的记录时,要相应删除子表中外键的记录。
注意理解以上的约束时,抓住操作的都是主表。子表的操作都是相对主表来说的。操作方式就是Update和Delete。
引用基础数据表的数据时,可以建立对应的视图。选中需要作为视图的表,菜单栏-Tools-Create View
PD支持对已有数据的表更新表结构。不过需要谨慎操作,检查生成的SQL脚本。
PD也可以生成随机的测试数据。
触发器就是DBMS中提供的事件驱动机制。发生在表的Insert,Update和Delete。执行SQL语句或存储过程。
在PD中可以完成存储过程的编写,也便于管理。
逆向工程可以通过数据库脚本或者通过ODBC数据源来实现。
发表评论
-
MySQL 5.6 my.cnf 配置
2015-11-03 17:48 3314[client] port = 3306 socket ... -
mysql将查询结果导出csv文件的方法into outfile
2015-10-22 15:41 1296例句: select * from table_name ... -
MySQL时区设置
2013-11-15 18:20 1324MySQL 时区默认是服务器的时区。可以通过以下命令查看 ... -
MYSQL存储过程中 表名 使用变量
2013-08-21 15:44 2178# 该存储过程定义了几个传入参数,前缀都是para ... -
MySQL Error :SHOW PROFILES
2011-05-20 16:51 3233在使用SQLyog Enterprise V8.1 英文版的时 ... -
Mysql连接问题:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException
2011-05-16 14:08 25635com.mysql.jdbc.exceptions.jdbc4 ... -
Hibernate 使用内连接(hql) 使用左外连接 命名的hql 命名的sql 调用存储过程Oracle 等
2011-03-22 11:24 3059使用内连接(hql)from Product p inne ... -
MYSQL错误 NO.1130 ERROR的解决
2010-10-20 08:48 2611如果你想连接你的mysql的时候发生这个错误: ERROR ... -
用JDBC操纵BLOB和CLOB数据
2010-08-09 10:12 1853在访问Oracle 数据库,对Oracle 的BLOB 和CL ... -
解决Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
2010-07-02 14:28 12371Mysql ERROR 1045 (28000): Acces ... -
linux忘记mysql root密码的解决方法
2010-07-02 14:27 1549方法如下: 1, 关闭mysql服务 /etc/init.d/ ... -
Oracle 创建表空间、创建用户以及授权、查看权限
2010-05-25 11:03 1569创建临时表空间 创建临时表空间 CREATE ... -
ORA-01720
2010-05-13 14:31 5302对我来说权限方面是本人最反感的部分之一,但作为开发DBA ... -
Windows下ORACLE的完全卸载
2010-05-13 08:24 1441Windows下ORACLE完全卸载: ... -
Oracle中创建视图,提示无权限 ORA-01031
2010-05-11 17:24 4590今天在对表创建视图的时候,用户提示 ORA-01031用户权限 ... -
Oracle用户权限管理
2010-05-10 17:52 1467sys;//系统管理员,拥有最高权限 system ... -
oracle恢复误删除数据
2010-05-07 14:19 12471.曾经不小心把开发库的数据库表全部删除,当时吓的要死。结果找 ... -
java.net.bindexception:address already in use: connect
2010-04-19 14:01 2378解决方法: 在网络编程中,特别是在短时间内new的网络连接太多 ... -
Powerdesigner连接Mysql数据库配置图解
2010-03-03 11:02 4433Powerdesigner 由 ... -
PL/SQL Developer 不得不知的技巧
2009-04-24 17:43 14601、PL/SQL Developer记住登 ...
相关推荐
**PowerDesigner使用详解** PowerDesigner是一款强大的数据建模工具,由Sybase公司开发,广泛应用于数据库设计、系统分析和项目管理。它支持多种数据库模型,包括概念数据模型(CDM)、逻辑数据模型(LDM)和物理...
使用PowerDesigner 12.0创建Web服务... 22 开发人员应该如何使用PowerDesigner. 26 使用SQL Server时最容易忽略的21个问题... 27 使用PowerDesigner 建立企业知识库... 31 面向SOA企业业务过程建模的利器— ...
2. **HTML帮助文件**:"PowerDesigner使用教程9.5.chm"是PowerDesigner的帮助文档,包含了所有功能的详细说明和教程,是学习和查阅的宝贵资源。 **六、版本控制与协同** 1. **版本控制集成**:PowerDesigner可以与...
使用PowerDesigner 12.0创建Web服务... 22 开发人员应该如何使用PowerDesigner. 26 使用SQL Server时最容易忽略的21个问题... 27 使用PowerDesigner 建立企业知识库... 31 面向SOA企业业务过程建模的利器— ...
### PowerDesigner 使用建议详解 #### 一、业务规则(Business Rule)的应用与封装 在数据库设计过程中,常常会遇到业务逻辑复杂且需跨多个表的情况。此时,将这些复杂的业务逻辑封装为**业务规则(Business Rule...
Powerdesigner使用
### PowerDesigner16使用教程全攻略 #### 前言 PowerDesigner 是一款强大的数据库设计与建模工具,被广泛应用于数据库的设计与管理之中。它能够帮助开发者从概念设计到物理设计,再到最终的数据库构建与维护。本文...
11. **帮助文档**:提供的"PowerDesigner12使用指南"、"PowerDesigner使用教程"等文档,为初学者提供了详细的步骤和实例,帮助用户快速上手。 通过学习和实践这些知识点,用户不仅能掌握PowerDesigner的基本操作,...
《PowerDesigner使用教程》,作者 gzllm。本资源解压缩后可以得到《PowerDesigner使用教程.pdf》和《PowerDesigner使用教程.chm》两个版本的电子书,方便不通阅读习惯的朋友选择阅读。 内容预览: 一、PowerDesigner...
**PowerDesigner使用教程(中文)** Sybase PowerDesigner是一款强大的数据建模工具,广泛应用于数据库设计、数据分析和企业架构规划。本教程详细介绍了PowerDesigner 9.5版本的使用方法,旨在帮助用户全面掌握该软件...
PowerDesigner是一款强大的数据库设计与建模工具,广泛应用于软件开发、数据分析等领域。...《PowerDesigner 15.1使用手册》详细阐述了这些功能的使用方法和最佳实践,是掌握这款工具不可或缺的参考资料。
【PowerDesigner 使用手册】 PowerDesigner 是一款强大的数据库设计和建模工具,广泛应用于软件开发的前期阶段,尤其在数据库的概念级设计中。本教程将详细阐述如何使用 PowerDesigner 创建概念数据模型(CDM),...
2. **导入Oracle**:在PowerDesigner中,你可以将现有的Oracle数据库结构导入为PDM,以便进一步修改或分析。这通常通过连接到Oracle数据库,执行反向工程来实现。反向工程会提取数据库的元数据,将其转换为PDM模型。...
【PowerDesigner的使用详解】 PowerDesigner是一款强大的数据库设计与建模工具,被广泛应用于系统分析、数据库设计和数据仓库建设等领域。它可以帮助我们创建清晰、规范的数据库模型,提高数据库设计的质量和效率。...
Visio 和 PowerDesigner 使用方法 详解 图文并茂
使用PowerDesigner创建数据库表图文并茂版