文章内容均已16版本为说明。
这里File下面有2个菜单:new model与new project。
New project的作用类似于文件夹,负责把有关联关系的文件集中归类存放。
New model的作用类似于普通的一个文件,该文件可以单独存放也可以归类存放,看个人使用吧。
创建方式有2种,一种是通过左边的workspace来创建:
还有一种方式就是通过File菜单来创建:
PDM(物理数据模型),通俗来讲就是在PowerDesigner中以图形化的方式来展示、设计数据库。既然来展示、设计数据库那PDM就要涉及到数据库的基本概念,包括:
表、列、视图、主键、侯选建、外键、存储过程、触发器、索引、完整性检查约束。
选中PDM文件,然后鼠标右击选择new,在弹出的列表中可以看到数据库的基本概念,根据个人需求进行创建。
1.点击左上角:File->Reverse Engineer->Database
reverse:形容词是相反/动词是逆转、颠倒/名词是背面。
engineer:名词是工程师、技师/动词是策划、制造、策动。
2.在弹出框中:Model name填写要生成的PDM名称,DBMS则填写数据库类型,也就是导出SQL文件时的原始数据库类型,点击“确定”按钮,打开下一个窗口。
3.由于我们是通过SQL脚本来逆向生成PDM,因此我们选择的是“Using script files”,然后点击下面的添加文件小图标(带有黄色加号的图标),如图所示:
4.在选择文件对话框中,找到要导入的SQL脚本,点击“打开”,这时会将该SQL文件添加到列表中,最后点击“确定”按钮,即可在左侧“workspace”窗口中看到对应的PMD。
1.首先把identity显示出来。双击表,打开“Table Properties”,点击“columns”,点击图标“Customize Columns and Filter”打开对话窗口
2.在打开的窗口中,选中“identity”,点击“确定”按钮。
3.然后在“columns”中,能看到“identity”列,然后选中该列
4.然后点击“Physical Options”,选中“auto_increment=(%d)”,把该参数移动到右侧,然后在右侧下部设置起始值
5.最后点击“preview”来预览效果。
按照下面提示框进行填写:
这里如果勾选Check mode,很容易报下面错误:
3. 点击应用、确定按钮后,打开所生成的SQL文件
还是同样的步骤,然后在弹出框中选择format选项卡
create table XXXX(
ID int not null auto_increment comment '序号'
)auto_increment = 1;
alter table XXXX comment '测试表';
alter table XXXX add primary key (ID);
这是我导出的SQL文件的内容,其中的ID是主键、自增,但我在Navicat中执行的时候报错,错误信息如下:
Incorrect table definition;there can be only one auto column and it must be defined as a key.
字面意思是自增列必须是主键,问题是我把主键的定义挪到了create table的外面,所以报错了,解决方法如下:
在create table XXXX中有一列是这样定义的:
createtime timestamp default null comment ‘创建日期’,
updatetime timestamp default null comment ‘更新日期’
然后客户端工具Navicat报错:
Invalid default value for ‘createtime’
Invalid default value for ‘updatetime’
解决方案:问了问其他同事,他们在实施的时候也是遇到这个问题,就把timestamp的默认值设置为current_timestamp。
第一步:双击table,在打开的窗口中点击columns。找到要设置默认值的timestamp列,点击属性,如图:
第二步:点击standard checks,在这个选项卡里设置default值。
使用Navicat时系统报错:cannot add foreign key constraint,分析原因在于create table语句中把主键约束、外键约束一起定义了,这就导致了如果create table的时候必须把其他表先创建完毕才行,截图如下:
解决方法:主键约束放在create table里面,而外键约束放在SQL文件的末尾,即尾部。
2.点击Connection Profiles选项卡,点击新增按钮
3.点击:test connection测试连接性。
4.然后在目录下能看到.dcp文件