0

我们正在尝试将数据加载到 SQL 服务器。所以任何人都可以为下面提到的布局建议适当的表模式。

 01  PRECALC.                                                             
     06 NEWGROUP57.                                                       
        10  PRE-MODIFY-TYPE PIC X.                                        
        10  PRE-HMO-ID PIC X(3).                                          
        10  PRE-SC-CAP PIC X(1).                                          
        10  PRE-ENTRY-SOURCE PIC X(1).                                    
        10  PRE-DIV-NBR PIC 9(2).                                         
     06  PRE-MEMB-NBR.                                                    
        10  PRE-MEMGRP PIC 9(5).                                          
        10  PRE-MEMSUB PIC 9(9).                                          
        10  PRE-MEMDEP PIC 9(2).                                          
     06 NEWGROUP58.                                                       
        10  PRE-CTLNBR PIC 9(12).                                         
        10  PRE-AUDNBR PIC 9(8).                                          
        10  PRE-AUDSUB PIC 9(2).                                                                                
        10  PRE-DSLW-CONT PIC S9(5)V9(2)      DISPLAY SIGN                
                                              LEADING SEPARATE.           
        10  PRE-RECV-CYMD PIC 9(8).                                       
        10  PRE-SYS-CYMD PIC 9(8).                                        
     06  PRE-DETAIL-AREA.                                                 
        07  PRE-DTL-DATA-EXP.                                             
           10  Z-PRE-DTL-DATA PIC X(1068).                                
        07  PRE-DTL-DATA REDEFINES PRE-DTL-DATA-EXP                       
                   OCCURS 4.                                              
           08 NEWGROUP59-1.                                               
              11  PRE-ICDA-CDE PIC X(5).                                  
              11  PRE-PROC PIC X(5).                                      
              11  PRE-PROC-MOD PIC X(4).                                                                 
           08 NEWGROUP59-2.                                               
              11  PRE-AMT-CLAIMED PIC S9(5)V9(2) DISPLAY SIGN             
                                              LEADING SEPARATE.           
              11  PRE-AMT-COPAY PIC S9(5)V9(2) DISPLAY SIGN               
                                              LEADING SEPARATE.           
              11  PRE-AMT-DISCOUNT PIC S9(5)V9(2) DISPLAY SIGN            
                                              LEADING SEPARATE.           
           08 NEWGROUP59-3.                                               
              11  PRE-EPSDT-IND PIC X(1).                                 
              11  PRE-NDC-ID PIC X(11).                                   
              11  PRE-ORIG-POS-CDE PIC X(2).                                               
           08 NEWGROUP59-4.                                               
              11  PRE-ALLOW-AMT-RPR PIC S9(5)V9(2) DISPLAY SIGN           
                                              LEADING SEPARATE.           
     06  PRE-DSIERR.                                                      
        07  PRE-DSI-ERR-EXP.                                              
           10  Z-PRE-DSI-ERR PIC X(100).                                  
        07  PRE-DSI-ERR REDEFINES PRE-DSI-ERR-EXP                         
                   OCCURS 100  PIC 9(1). 




06 NEWGROUP60.                                                       
    10  PRE-PAYOR-INFO PIC X(1).                                      
    10  PRE-RECOVERY-FLG PIC X(1).                                    
    10  PRE-RECV-MDCY PIC 9(8).                                       
    10  PRE-SYS-MDCY PIC 9(8).                                        
    10  PRE-PRV-TAX-ID PIC X(9).                                       
 06  PRE-RPR-DTL-RJMSG-EXP.                                           
    10  Z-PRE-RPR-DTL-RJMS PIC X(8).                                  
 06  PRE-RPR-DTL-RJMSG REDEFINES PRE-RPR-DTL-RJMSG-EXP                
            OCCURS 4  PIC X(2).                                       
 06  PRE-RPR-DTL-RSNCD-EXP.                                           
    10  Z-PRE-RPR-DTL-RSNC PIC X(16).                                 
 06  PRE-RPR-DTL-RSNCD REDEFINES PRE-RPR-DTL-RSNCD-EXP                
            OCCURS 4  PIC X(4).  
4

1 回答 1

1

似乎 OP 已经离开了,但这里有一些一般性建议,以防其他人偶然发现这一点。

作为起点,让任何发生或重新定义另一个项目的事物都有自己的表格。为了功能清晰,可能所有 06 级别都可以是一个表,但这会给您提供大量表,每个表都来自源记录,这是低效的。

像这样的一些项目:

06  PRE-RPR-DTL-RSNCD-EXP.                                           
    10  Z-PRE-RPR-DTL-RSNC PIC X(16).  

只是重新定义的目标,可能不需要自己存储。但是,有些与重新定义的大小不同,因此您需要知道是否确实需要该数据。

请注意,放置在单独表中的较低级别将需要一个外键来标识父级。并且所有 06 派生表都需要一个通用键来链接它们,因为它们来自同一个源记录。

正如@cschneid 上面所说,如果您不考虑实际需求/使用情况,您最终会得到糟糕的数据库设计。您从 COBOL 文件记录布局开始,而不是数据库设计。


注意:根据 Bill Woodger 的有用评论进行了修订

于 2014-01-06T05:52:43.740 回答