PowerDesigner生成MS SQL foreign的问题
简单地说,就是从CDM生成PDM的时候,releationship约束无效,不能生成外键约束的代码。生成基于oracle的pdm没问题,ms sql server有问题。
当从CDM转到PDM(MS SQL Server)的时候,在CDM中的ReleationShip不能在CDM的foreign生成有效代码,References的Privew标签显示内容为:
-- The preview is empty because of the setting.
-- Check the generation option.
查看integrity标签,implementation显示为trigger,update/delete constraint分别为restrict,改变为update/delete constraint为none,并且改implementation为declarative后,preview中代码显示正常,如下:
if exists (select 1
from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('meb_FriendRequest') and o.name = 'FK_MEB_FRIE_RS_MEMBER_MEB_MEMB')
alter table meb_FriendRequest
drop constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB
go
alter table meb_FriendRequest
add constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB foreign key (Member_ID)
references meb_Member (Member_ID)
go
根据提示,在创建pdm的时候查看选项,发现for sql server与for oracle内容不一样。
请问高手如何解决?
当从CDM转到PDM(MS SQL Server)的时候,在CDM中的ReleationShip不能在CDM的foreign生成有效代码,References的Privew标签显示内容为:
-- The preview is empty because of the setting.
-- Check the generation option.
查看integrity标签,implementation显示为trigger,update/delete constraint分别为restrict,改变为update/delete constraint为none,并且改implementation为declarative后,preview中代码显示正常,如下:
if exists (select 1
from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')
where r.fkeyid = object_id('meb_FriendRequest') and o.name = 'FK_MEB_FRIE_RS_MEMBER_MEB_MEMB')
alter table meb_FriendRequest
drop constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB
go
alter table meb_FriendRequest
add constraint FK_MEB_FRIE_RS_MEMBER_MEB_MEMB foreign key (Member_ID)
references meb_Member (Member_ID)
go
根据提示,在创建pdm的时候查看选项,发现for sql server与for oracle内容不一样。
请问高手如何解决?
...全文
相关推荐
POWERDESIGNER逆向工程从现有数据库生成PDM
通过读取SQL脚本中的CREATE TABLE语句,PowerDesigner可以直接构建出精确的模型,避免了因数据库中缺少外键信息而导致的问题。
飞机订票系统数据库课设实战:建模、Oracle落地与Eclipse集成
关系型数据库设计是软件工程的核心能力,其本质是将现实业务逻辑转化为严谨的表结构、约束与事务控制。理解实体关系建模(ER模型)、第三范式优化、外键完整性约束及事务隔离机制,直接决定系统的并发安全与数据一致性。在Oracle 11g等传统关系数据库中,字符集配置、序列管理、SELECT FOR UPDATE加锁、连接池调优等工程细节,常成为课程设计与初级开发落地的关键断层。本文以‘飞机订票系统’为典型场景,覆盖PowerDesigner建模推导、Oracle DDL/DML落地、JDBC与MyBatis工程集成
Powerdesigner逆向工程从现有数据库生成PDM
这种方式可以避免逆向工程的一些缺点,如丢失注释信息或外键关系等问题。- 创建一个包含数据库创建语句的SQL脚本文件。
PowerDesigner中实现CDM(概念模型)设计并转化为PDM(物理模型)
转换为PDM:在CDM完成后,选择目标数据库系统(如MS SQL Server),PowerDesigner会自动生成符合该数据库系统的PDM。
Sql_Server_2005导入sql文件
一、生成 sql 文件在 Sql Server 2005 中,生成 sql 文件可以使用 powerdesigner 或其他数据库生成软件。


疑难问题
