PowerDesigner逆向工程师丢失分区信息

2020-09-23 11:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我试图了解有关分区的更多信息,并...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我试图了解有关分区的更多信息,并在PowerDesigner 16.1 EBF3(该公司拒绝升级)中创建了一个测试分区表。

下面是PD生成的两个脚本。 第一个是构建表时的数据,第二个是由ASE 15.7数据库中第一个脚本生成的表的逆向工程。 表中重要的分区信息丢失,并且本地索引格式不正确。 我无法知道表和索引是否在数据库本身上正确定义,因为其他SQL编辑器(例如DBeaver)会生成类似的DDL。 我必须访问数据库的唯一Sybase/SAP应用程序是isql。

此问题是否已在最新的PD版本中修复? 如果是这样,也许我可以为IT部门争取最终升级的理由。

原始脚本

如果存在(选择1
             来自sysindexes
            其中id = object_id('test_part')
             且名称='Index_1'
             并且indid> 0
             且小于255)
    放置索引test_part.Index_1
 走
 如果存在(选择1
             从sysobjects
             其中id = object_id('test_part')
             并输入='U')
    删除表test_part
 走
/* ================================================  ============= */
/*表:test_part */
/* ================================================  ============= */
 创建表test_part(
    id int null,
    date datetime null,
    item varchar(50)为空,
    价格货币为空
 )
 按范围划分
  (价钱)
     (
          1
         值<=(100)
         在"默认"上,
          2
         值<=(500)
         在"默认"上,
          3
         值<=(1000)
         在"默认"上
     )
 走
/* ================================================  ============= */
/*索引:Index_1 */
/* ================================================  ============= */
 在test_part上创建唯一索引Index_1(
 ID ASC
 )
 当地指数
      1
     在"默认"上,
      2
     在"默认"上,
      3
     在"默认"上
 走
 

反向工程脚本

如果存在(选择1
             来自sysindexes
            其中id = object_id('guest.test_part')
             且名称='Index_1'
             并且indid> 0
             且小于255)
    放置索引test_part.Index_1
 走
 如果存在(选择1
             从sysobjects
             其中id = object_id('guest.test_part')
             并输入='U')
    放置表guest.test_part
 走
/* ================================================  ============= */
/*表:test_part */
/* ================================================  ============= */
 创建表guest.test_part(
    id int null,
    date datetime null,
    item varchar(50)为空,
    价格货币为空
 )
 锁定所有页面
 压缩=无
  按范围划分
 走
/* ================================================  ============= */
/*索引:Index_1 */
/* ================================================  ============= */
 在guest.test_part上创建索引Index_1(
 ID ASC
 )
 走
 
付费偷看设置
发送
6条回答
派大星 ヾ
1楼-- · 2020-09-23 12:23

凹凸。

我想知道是否已使用上面发布的脚本在ASE数据库中创建表和索引,然后PowerDesigner v16.6.x是否成功进行了逆向工程并保留了分区设置。/p>

否则,我无法弄清楚在具有数百个表的数据库中如何查找已分区的表。

微wx笑
2楼-- · 2020-09-23 12:42

此外,我对上述脚本进行了反向工程, 它产生的模型看起来正确。 该模型在表和索引中都显示了分区。

我执行此任务的主要动机是确定数据库中的哪些表已分区。 在这个阶段,我什至无法确定我确实可以确定表是否已分区。

请帮助。

jovirus
3楼-- · 2020-09-23 12:24

我将找到一个ASE 15.7 DB来运行测试。

暮风yp
4楼-- · 2020-09-23 12:36

我使用16.6.1.1对原始脚本进行反向工程 您可以下载16.6评估版进行尝试。 请在Google上搜索下载站点。

(如果存在)(从sysindexes
中选择1
,其中id = object_id('test_part')
和name ='Index_1'
indid> 0
和indid <255)
下降索引test_part.Index_1
go

如果存在(从sysobjects
中选择1
其中id = object_id('test_part ')
并键入='U')
删除表test_part
go

/* =================== ======================================== */
/* 表:test_part */
/* ========================================== =/===================== */
创建表test_part(
id int null,
date datetime null,
item varchar (50)null,
价格货币null

按范围划分的
(价格)

p1
值<=(100)
在"默认值 ",
p2
值<=(500)
在"默认"上,
p3
值<=(1000)
在"默认"上

/* ========================================== ===================== */
/*索引:Index_1 */
/* ========== ================================================== == */
在test_part(
id ASC

本地索引
p1
的"默认"上创建唯一索引Index_1,
p2
的"默认" ",
p3
设为"默认"

渐行渐远_HoldOn
5楼-- · 2020-09-23 12:18

嗨,菲利普,

最近怎么样?

问题,您是否对脚本进行了反向工程或在ASE上运行脚本,然后对数据库进行了反向工程?

因为当我对脚本进行反向工程时,它确实起作用。 什么是行不通的,当我对我知道具有分区和本地索引的表进行数据库逆向工程时。

我正在浏览一个包含数百个表的数据库,以查看哪些表已分区。

因此,请确认PD 16.6.1.1对数据库进行了正确的反向工程。

我无法在工作计算机上安装评估版。 我必须在家中执行此操作,但是这样我就无法在工作中访问ASE服务器。 如果您说这行得通,那么我将尝试提出一个解决方案。

SAP小菜
6楼-- · 2020-09-23 12:38

感谢Phillip。 我很感激。

一周热门 更多>