我正在尝试使用Powerdesigner工具生成DDL脚本。有一个准备好的物理数据模型,该模型描述了基于Sybase IQ的数据仓库的结构(包含表,视图,域,dbspace等)。 详细的版本控制:PowerDesigner 16.6(SP6),Sybase IQ 12.4.3
此模型中包含许多子包,在这些子包下可以找到实际的物理图,其中包含表,参考,视图和视图参考。
如果我在上图中描述它,则有一个“ FINANCIAL”物理数据模型,它具有子包“ BANK_MAIN”,它具有另一个子包“ BK_ACCT_KEY_MEAS”,并且在此下具有一个打开的物理图,名称为“ BK_ACCT_KEY_MEAS”。可以看到几个维度表和一个事实表。
因此,我按CTRL + G(或菜单“数据库” /“生成数据库”)以继续生成DDL。我试图限制不同的设置(所有对象,仅是表和视图等),但是没有一个显示出预期的结果。
如果我限制使用“表和视图”,则可以看到以下内容:
PS C:\users\js> Write-Output -InputObject 111,111,111 | Write-Output -InputObject { $_ -Replace 1,2 }
222
222
222
基本上缺少对任何表或视图的引用。我仍在阅读相应的文档,但是找不到任何相关信息可以指导我取得结果。
有人可以帮助我吗?
答案 0 :(得分:0)
为数据库生成DDL的正确方法是打开主程序包(在这种情况下为“ FINANCIAL”)下的任何物理模型。下一步是按CTRL + G(或菜单“数据库” /“生成数据库”),然后正确设置要生成的环境。由于此模型包包含许多不同的包,因此“选择”选项卡下有一个魔术按钮“包括子对象”。激活此按钮可以选择整个模型包中提到的所有对象(在“表”和“视图”选项卡中)。下图简要显示了此描述。
disconnect;
drop database 'BASE_MODEL.db';
/*==============================================================*/
/* Database: BASE_MODEL */
/*==============================================================*/
create database 'BASE_MODEL.db';
start database BASE_MODEL;
connect database BASE_MODEL;
/*==============================================================*/
/* Table: A_ACCT_DETAIL_SUMM */
/*==============================================================*/
create table _O_W_N_E_R_.A_ACCT_DETAIL_SUMM (
ACCOUNT_ID SYB_ID not null,
ACCT_TXN_TYP_ID SYB_ID not null,
ACCT_STATUS_ID SYB_ID not null,
PRODUCT_ID SYB_ID not null,
GEO_ID SYB_ID not null,
MONTH_ID SYB_ID not null,
DEMO_ID SYB_ID,
ISO_CRCY_ID SYB_ID,
REF_ISO_CRCY_ID SYB_ID,
...