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 レベルのすべてをそれぞれテーブルにすることもできますが、それでは、ソース レコードからそれぞれ 1 つの行を含む多数のテーブルができてしまい、非効率的です。

このようないくつかのアイテム:

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 に答える