Previous Topic: Sample SQL Database DefinitionNext Topic: Native VSAM Considerations


Sample Non-SQL Database Definition

Sample Database Schema Definition


       ADD SCHEMA NAME IS EMPSCHM VERSION IS 100
       SCHEMA DESCRIPTION IS 'EMPLOYEE DEMO DATABASE'
       COMMENTS 'INSTALLATION: COMMONWEATHER CORPORATION'
           .
       ADD AREA NAME IS EMP-DEMO-REGION
           .
       ADD AREA NAME IS ORG-DEMO-REGION
           .
       ADD AREA NAME IS INS-DEMO-REGION
           .
       ADD RECORD NAME IS COVERAGE
           SHARE STRUCTURE OF RECORD COVERAGE VERSION IS 100
           RECORD ID IS 0400
           LOCATION MODE IS VIA             EMP-COVERAGE SET
           WITHIN AREA INS-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           .
       ADD RECORD NAME IS DENTAL-CLAIM
           SHARE STRUCTURE OF RECORD DENTAL-CLAIM VERSION IS 100
           RECORD ID IS 0405
           LOCATION MODE IS VIA          COVERAGE-CLAIMS SET
           WITHIN AREA INS-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           MINIMUM ROOT LENGTH IS             130 CHARACTERS
           MINIMUM FRAGMENT LENGTH IS          RECORD LENGTH
           .
       ADD RECORD NAME IS DEPARTMENT
           SHARE STRUCTURE OF RECORD DEPARTMENT VERSION IS 100
           RECORD ID IS 0410
           LOCATION MODE IS CALC          USING DEPT-ID-0410
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA ORG-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           .
       ADD RECORD NAME IS EMPLOYEE
           SHARE STRUCTURE OF RECORD EMPLOYEE VERSION IS 100
           RECORD ID IS 0415
           LOCATION MODE IS CALC           USING EMP-ID-0415
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA EMP-DEMO-REGION
           OFFSET  5 PAGES FOR 95 PAGES
           .
       ADD RECORD NAME IS EMPOSITION
           SHARE STRUCTURE OF RECORD EMPOSITION VERSION IS 100
           RECORD ID IS 0420
           LOCATION MODE IS VIA           EMP-EMPOSITION SET
           WITHIN AREA EMP-DEMO-REGION
           OFFSET  5 PAGES FOR 95 PAGES
         .
       ADD RECORD NAME IS EXPERTISE
           SHARE STRUCTURE OF RECORD EXPERTISE VERSION IS 100
           RECORD ID IS 0425
           LOCATION MODE IS VIA            EMP-EXPERTISE SET
           WITHIN AREA EMP-DEMO-REGION
           OFFSET  5 PAGES FOR 95 PAGES
           .
       ADD RECORD NAME IS HOSPITAL-CLAIM
           SHARE STRUCTURE OF RECORD HOSPITAL-CLAIM VERSION IS 100
           RECORD ID IS 0430
           LOCATION MODE IS VIA          COVERAGE-CLAIMS SET
           WITHIN AREA INS-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           .
       ADD RECORD NAME IS INSURANCE-PLAN
           SHARE STRUCTURE OF RECORD INSURANCE-PLAN VERSION IS 100
           RECORD ID IS 0435
           LOCATION MODE IS CALC    USING INS-PLAN-CODE-0435
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA INS-DEMO-REGION
           OFFSET  1 PAGE  FOR  4 PAGES
           .
       ADD RECORD NAME IS JOB
           SHARE STRUCTURE OF RECORD JOB VERSION IS 100
           RECORD ID IS 0440
           LOCATION MODE IS CALC           USING JOB-ID-0440
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA ORG-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           MINIMUM ROOT LENGTH IS CONTROL LENGTH
           MINIMUM FRAGMENT LENGTH IS RECORD LENGTH
           CALL IDMSCOMP BEFORE STORE
           CALL IDMSCOMP BEFORE MODIFY
           CALL IDMSDCOM AFTER GET
          .
       ADD RECORD NAME IS NON-HOSP-CLAIM
           SHARE STRUCTURE OF RECORD NON-HOSP-CLAIM VERSION IS 100
           RECORD ID IS 0445
           LOCATION MODE IS VIA          COVERAGE-CLAIMS SET
           WITHIN AREA INS-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           MINIMUM ROOT LENGTH IS             248 CHARACTERS
           MINIMUM FRAGMENT LENGTH IS          RECORD LENGTH
           .
       ADD RECORD NAME IS OFFICE
           SHARE STRUCTURE OF RECORD OFFICE VERSION IS 100
           RECORD ID IS 0450
           LOCATION MODE IS CALC      USING OFFICE-CODE-0450
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA ORG-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           .
       ADD RECORD NAME IS SKILL
           SHARE STRUCTURE OF RECORD SKILL VERSION IS 100
           RECORD ID IS 0455
           LOCATION MODE IS CALC         USING SKILL-ID-0455
                                      DUPLICATES NOT ALLOWED
           WITHIN AREA ORG-DEMO-REGION
           OFFSET  5 PAGES FOR 45 PAGES
           .
       ADD RECORD NAME IS STRUCTURE
           SHARE STRUCTURE OF RECORD STRUCTURE VERSION IS 100
           RECORD ID IS 0460
           LOCATION MODE IS VIA                  MANAGES SET
           WITHIN AREA EMP-DEMO-REGION
           OFFSET  5 PAGES FOR 95 PAGES
          .
       ADD SET NAME IS COVERAGE-CLAIMS
           ORDER IS LAST
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS COVERAGE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS HOSPITAL-CLAIM
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           MEMBER IS NON-HOSP-CLAIM
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           MEMBER IS DENTAL-CLAIM
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           .
       ADD SET NAME IS DEPT-EMPLOYEE
           ORDER IS SORTED
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS DEPARTMENT
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               OPTIONAL AUTOMATIC
               ASCENDING KEY IS ( EMP-LAST-NAME-0415
                                  EMP-FIRST-NAME-0415 )
                   DUPLICATES LAST
          .
       ADD SET NAME IS EMP-COVERAGE
           ORDER IS FIRST
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS COVERAGE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           .
       ADD SET NAME IS EMP-EMPOSITION
           ORDER IS FIRST
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EMPOSITION
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           .
       ADD SET NAME IS EMP-EXPERTISE
           ORDER IS SORTED
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EXPERTISE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
               DESCENDING KEY IS (SKILL-LEVEL-0425 )
                   DUPLICATES FIRST
         .
       ADD SET NAME IS EMP-NAME-NDX
           ORDER IS SORTED
           MODE IS INDEX BLOCK CONTAINS 40 KEYS
           OWNER IS SYSTEM
               WITHIN AREA EMP-DEMO-REGION
               OFFSET  1 PAGE  FOR  4 PAGES
           MEMBER IS EMPLOYEE
               INDEX DBKEY POSITION IS AUTO
               OPTIONAL AUTOMATIC
               ASCENDING KEY IS ( EMP-LAST-NAME-0415
                                  EMP-FIRST-NAME-0415 )
                   COMPRESSED
                   DUPLICATES LAST
           .
       ADD SET NAME IS JOB-EMPOSITION
           ORDER IS NEXT
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS JOB
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EMPOSITION
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               OPTIONAL MANUAL
           .
       ADD SET NAME IS JOB-TITLE-NDX
           ORDER IS SORTED
           MODE IS INDEX BLOCK CONTAINS 30 KEYS
           OWNER IS SYSTEM
               WITHIN AREA ORG-DEMO-REGION
               OFFSET  1 PAGE  FOR  4 PAGES
           MEMBER IS JOB
               INDEX DBKEY POSITION IS AUTO
               OPTIONAL AUTOMATIC
               ASCENDING KEY IS ( TITLE-0440 )
                   DUPLICATES NOT ALLOWED
        .
       ADD SET NAME IS MANAGES
           ORDER IS NEXT
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS STRUCTURE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
           .
       ADD SET NAME IS OFFICE-EMPLOYEE
           ORDER IS SORTED
           MODE IS INDEX BLOCK CONTAINS 30 KEYS
           OWNER IS OFFICE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EMPLOYEE
               INDEX DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               OPTIONAL AUTOMATIC
               ASCENDING KEY IS ( EMP-LAST-NAME-0415
                                  EMP-FIRST-NAME-0415 )
                   COMPRESSED
                   DUPLICATES LAST
           .
       ADD SET NAME IS REPORTS-TO
           ORDER IS NEXT
           MODE IS CHAIN LINKED TO PRIOR
           OWNER IS EMPLOYEE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS STRUCTURE
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               OPTIONAL MANUAL
         .
       ADD SET NAME IS SKILL-EXPERTISE
           ORDER IS SORTED
           MODE IS INDEX BLOCK CONTAINS 30 KEYS
           OWNER IS SKILL
               NEXT DBKEY POSITION IS AUTO
               PRIOR DBKEY POSITION IS AUTO
           MEMBER IS EXPERTISE
               INDEX DBKEY POSITION IS AUTO
               LINKED TO OWNER
                   OWNER DBKEY POSITION IS AUTO
               MANDATORY AUTOMATIC
               DESCENDING KEY IS ( SKILL-LEVEL-0425 )
                   DUPLICATES FIRST
           .
       ADD SET NAME IS SKILL-NAME-NDX
           ORDER IS SORTED
           MODE IS INDEX BLOCK CONTAINS 30 KEYS
           OWNER IS SYSTEM
               WITHIN AREA ORG-DEMO-REGION
               OFFSET  1 PAGE  FOR  4 PAGES
           MEMBER IS SKILL
               INDEX DBKEY POSITION IS AUTO
               OPTIONAL AUTOMATIC
               ASCENDING KEY IS ( SKILL-NAME-0455 )
                   DUPLICATES NOT ALLOWED
           .
       VALIDATE
           .

Sample Database Subschema Definition

        ADD SUBSCHEMA NAME IS EMPSS01
            OF SCHEMA NAME IS EMPSCHM VERSION  100
        COMMENTS 'THIS IS THE COMPLETE VIEW OF EMPSCHM'
            .
        ADD AREA NAME IS EMP-DEMO-REGION
            .
        ADD AREA NAME IS INS-DEMO-REGION
            .
        ADD AREA NAME IS ORG-DEMO-REGION
            .
        ADD RECORD NAME IS COVERAGE
            .
        ADD RECORD NAME IS DENTAL-CLAIM
            .
        ADD RECORD NAME IS DEPARTMENT
            .
        ADD RECORD NAME IS EMPLOYEE
            .
        ADD RECORD NAME IS EMPOSITION
            .
        ADD RECORD NAME IS EXPERTISE
            .
        ADD RECORD NAME IS HOSPITAL-CLAIM
            .
        ADD RECORD NAME IS INSURANCE-PLAN
            .
        ADD RECORD NAME IS JOB
            .
        ADD RECORD NAME IS NON-HOSP-CLAIM
            .
        ADD RECORD NAME IS OFFICE
            .
        ADD RECORD NAME IS SKILL
            .
        ADD RECORD NAME IS STRUCTURE
           .
        ADD SET COVERAGE-CLAIMS
            .
        ADD SET DEPT-EMPLOYEE
            .
        ADD SET EMP-COVERAGE
            .
        ADD SET EMP-EXPERTISE
            .
        ADD SET EMP-NAME-NDX
            .
        ADD SET EMP-EMPOSITION
            .
        ADD SET JOB-EMPOSITION
            .
        ADD SET JOB-TITLE-NDX
            .
        ADD SET MANAGES
            .
        ADD SET OFFICE-EMPLOYEE
            .
        ADD SET REPORTS-TO
            .
        ADD SET SKILL-EXPERTISE
            .
        ADD SET SKILL-NAME-NDX
            .
        GENERATE
            .