STANDARD DATA DICTIONARY #1.5218 -- SQLI_PRIMARY_KEY FILE                                                         3/24/25    PAGE 1
STORED IN ^DMSQ("P",  *** NO DATA STORED YET ***   SITE: WWW.BMIRWIN.COM   UCI: VISTA,VISTA                       (VERSION 22.2)   

DATA          NAME                  GLOBAL        DATA
ELEMENT       TITLE                 LOCATION      TYPE
-----------------------------------------------------------------------------------------------------------------------------------
A chosen set of columns which uniquely identify a table.  In the relational model (as in set theory) the columns of a primary key 
are not ordered. In SQLI they must be, in order to map to the quasi- hierarchical model of M globals.  
 
FileMan subfiles (multiples) have a primary key element for each parent plus one for the subfile. Each contains a pointer to its
primary key table element (SQLI_TABLE-ELEMENT), a sequence and a column in the local base 
 table (SQL_COLUMN).  


              DD ACCESS: ^
              WR ACCESS: ^
             DEL ACCESS: ^
           LAYGO ACCESS: ^

POINTED TO BY: F_PK_ELEMENT field (#1) of the SQLI_FOREIGN_KEY File (#1.5219) 
               

CROSS
REFERENCED BY: P_TBL_ELEMENT(B), P_SEQUENCE(C), P_COLUMN(D)



1.5218,.01    P_TBL_ELEMENT          0;1 POINTER TO SQLI_TABLE_ELEMENT FILE (#1.5216) (Required)

              Key Element   
              LAST EDITED:      AUG 23, 1996 
              DESCRIPTION:
                                IEN of table element in SQLI_TABLE_ELEMENT 

              WRITE AUTHORITY:  ^
              CROSS-REFERENCE:  1.5218^B 
                                1)= S ^DMSQ("P","B",$E(X,1,30),DA)=""
                                2)= K ^DMSQ("P","B",$E(X,1,30),DA)


1.5218,1      P_COLUMN               0;2 POINTER TO SQLI_COLUMN FILE (#1.5217) (Required)

              Column   
              LAST EDITED:      AUG 30, 1996 
              DESCRIPTION:
                                IEN of column in SQLI_COLUMN corresponding to this primary key 

              WRITE AUTHORITY:  ^
              CROSS-REFERENCE:  1.5218^D 
                                1)= S ^DMSQ("P","D",$E(X,1,30),DA)=""
                                2)= K ^DMSQ("P","D",$E(X,1,30),DA)


1.5218,2      P_SEQUENCE             0;3 NUMBER (Required)

              Seq   
              INPUT TRANSFORM:  K:+X'=X!(X>9)!(X<1)!(X?.E1"."1N.N) X
              LAST EDITED:      SEP 26, 1996 
              HELP-PROMPT:      Type a Number between 1 and 9, 0 Decimal Digits 
              DESCRIPTION:
                                Sequence number of primary key 

              TECHNICAL DESCR:
                                Sequence is automatically generated and must not be changed.  

              WRITE AUTHORITY:  ^
              CROSS-REFERENCE:  1.5218^C^MUMPS 
                                1)= S ^DMSQ("P","C",$P(^DMSQ("P",DA,0),U),X,DA)=""
                                2)= K ^DMSQ("P","C",$P(^DMSQ("P",DA,0),U),X,DA)
                                Primary key by table by sequence 



1.5218,3      P_START_AT             0;4 FREE TEXT

              Start   
              INPUT TRANSFORM:  K:$L(X)>30!($L(X)<1) X
              LAST EDITED:      AUG 20, 1996 
              HELP-PROMPT:      Answer must be 1-30 characters in length. 
              DESCRIPTION:
                                Initial value of key before a $ORDER loop 

              WRITE AUTHORITY:  ^

1.5218,4      P_END_IF               1;E1,245 MUMPS

              End If   
              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      SEP 26, 1996 
              HELP-PROMPT:      This is a Standard M expression returning False at end 
              DESCRIPTION:
                                M expression in key value, {K}, which, if false, ends the $ORDER loop 

              WRITE AUTHORITY:  ^

1.5218,5      P_ROW_COUNT            0;5 NUMBER

              Rows   
              INPUT TRANSFORM:  K:+X'=X!(X>9999999)!(X<1)!(X?.E1"."3N.N) X
              LAST EDITED:      SEP 26, 1996 
              HELP-PROMPT:      Type a Number between 1 and 9999999, 2 Decimal Digits 
              DESCRIPTION:
                                Estimated number of rows per record set at this level 

              WRITE AUTHORITY:  ^

1.5218,6      P_PRESELECT            2;E1,245 MUMPS

              Preselect M Code   
              INPUT TRANSFORM:  K:$L(X)>245 X D:$D(X) ^DIM
              LAST EDITED:      SEP 26, 1996 
              HELP-PROMPT:      This is Standard MUMPS code. 
              DESCRIPTION:
                                Code to be executed before selecting this key, before optimization.  

              WRITE AUTHORITY:  ^

1.5218,7      P_KEY_FORMAT           0;6 POINTER TO SQLI_KEY_FORMAT FILE (#1.5213)

              LAST EDITED:      OCT 14, 1996 
              DESCRIPTION:      Key formats map internal storage values to their value when used as keys.  In general, information
                                is lost in the process; they can't be converted back. This means data must be converted to key
                                format before it can be compared to such a key.  

              WRITE AUTHORITY:  ^


      FILES POINTED TO                      FIELDS

SQLI_COLUMN (#1.5217)             P_COLUMN (#1)

SQLI_KEY_FORMAT (#1.5213)         P_KEY_FORMAT (#7)

SQLI_TABLE_ELEMENT (#1.5216)      P_TBL_ELEMENT (#.01)



INPUT TEMPLATE(S):

PRINT TEMPLATE(S):

SORT TEMPLATE(S):

FORM(S)/BLOCK(S):