home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / sql / sqlddlts.out < prev    next >
Encoding:
Text File  |  1988-05-03  |  4.6 KB  |  206 lines

  1. --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  2. --ddl.out
  3. --::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
  4. -) xeq main
  5. package BOATS is
  6.  
  7.   -- subtype tree
  8.  
  9.   -- OCEAN_NAME
  10.   --   UNIQUE_OCEAN_NAME
  11.  
  12.   -- ANALYST_NAME
  13.   --   UNIQUE_ANALYST_NAME
  14.   --     MANAGER_NAME
  15.   --   SAMPLE_FIRST_LEVEL_SUBTYPE
  16.   --     SAMPLE_SECOND_LEVEL_SUBTYPE
  17.   --     ANOTHER_SECOND_LEVEL_SUBTYPE
  18.  
  19.   -- ANALYST_SALARY
  20.  
  21.   -- SHIP_NAME
  22.   --   UNIQUE_SHIP_NAME
  23.  
  24.   -- POSITION_LAT
  25.  
  26.   -- POSITION_LONG
  27.  
  28.   -- POSITION_LATLONG
  29.  
  30.   -- SHIP_TYPE
  31.  
  32.   -- CREW_SPECIALTY
  33.  
  34.   -- SHIP_CREW
  35.   --   UNIQUE_SHIP_CREW
  36.  
  37.   -- CREW_COUNT
  38.  
  39.   -- OCEAN
  40.  
  41.   -- ANALYST
  42.  
  43.   -- SHIP
  44.  
  45.   -- CREW
  46.  
  47.   -- SAMPLE_SECOND_LEVEL_RECORD
  48.  
  49.   -- SAMPLE_THIRD_LEVEL_RECORD
  50.  
  51.   type OCEAN_NAME is (INDIAN,ATLANTIC,PACIFIC,MEDITERRANEAN,ARCTIC,CARRIBEAN,
  52.     SOUTH_CHINA,BERING,GULF_OF_MEXICO,HUDSON_BAY);
  53.   subtype UNIQUE_OCEAN_NAME is OCEAN_NAME;
  54.  
  55.   type ANALYST_NAME is new STRING(1..20);
  56.   subtype UNIQUE_ANALYST_NAME is ANALYST_NAME;
  57.   subtype MANAGER_NAME        is UNIQUE_ANALYST_NAME;
  58.  
  59.   type ANALYST_SALARY is new FLOAT;
  60.  
  61.   type SHIP_NAME is new STRING(1..15);
  62.   subtype UNIQUE_SHIP_NAME is SHIP_NAME;
  63.  
  64.   type POSITION_LAT  is new STRING(1..7);
  65.   type POSITION_LONG is new STRING(1..8);
  66.  
  67.   type POSITION_LATLONG is
  68.     record
  69.       LAT  : POSITION_LAT;
  70.       LONG : POSITION_LONG;
  71.     end record;
  72.  
  73.   type SHIP_TYPE is (CARRIER,DESTROYER);
  74.  
  75.   type CREW_SPECIALTY is (COOK,SHUFFLEBOARD_TEACHER);
  76.  
  77.   type SHIP_CREW is
  78.     record
  79.       TY_PE     : SHIP_TYPE;
  80.       SPECIALTY : CREW_SPECIALTY;
  81.     end record;
  82.  
  83.   subtype UNIQUE_SHIP_CREW is SHIP_CREW;
  84.  
  85.   type CREW_COUNT is new INTEGER;
  86.  
  87.   type OCEAN is
  88.     record
  89.       NAME    : UNIQUE_OCEAN_NAME;
  90.       ANALYST : UNIQUE_ANALYST_NAME;
  91.     end record;
  92.  
  93.   type ANALYST is
  94.     record
  95.       NAME    : UNIQUE_ANALYST_NAME;
  96.       SALARY  : ANALYST_SALARY;
  97.       MANAGER : MANAGER_NAME;
  98.     end record;
  99.  
  100.   type SHIP is
  101.     record
  102.       NAME    : UNIQUE_SHIP_NAME;
  103.       OCEAN   : OCEAN_NAME;
  104.       LATLONG : POSITION_LATLONG;
  105.       TY_PE   : SHIP_TYPE;
  106.     end record;
  107.  
  108.   type CREW is
  109.     record
  110.       KEY    : UNIQUE_SHIP_CREW;
  111.       NUMBER : CREW_COUNT;
  112.     end record;
  113.  
  114.   subtype SAMPLE_FIRST_LEVEL_SUBTYPE   is ANALYST_NAME;
  115.   subtype SAMPLE_SECOND_LEVEL_SUBTYPE  is SAMPLE_FIRST_LEVEL_SUBTYPE;
  116.   subtype ANOTHER_SECOND_LEVEL_SUBTYPE is SAMPLE_FIRST_LEVEL_SUBTYPE;
  117.  
  118.   type SAMPLE_SECOND_LEVEL_RECORD is
  119.     record
  120.       FIRST_LEVEL_RECORD : POSITION_LATLONG;
  121.       SCALAR_2           : OCEAN_NAME;
  122.     end record;
  123.  
  124.   type SAMPLE_THIRD_LEVEL_RECORD is
  125.     record
  126.       SECOND_LEVEL_RECORD : SAMPLE_SECOND_LEVEL_RECORD;
  127.       FIRST_LEVEL_RECORD  : SHIP_CREW;
  128.       SCALAR_3            : CREW_COUNT;
  129.     end record;
  130.  
  131. end BOATS;
  132. ------------------------------------------------------------------------------
  133. TABLE OCEAN
  134.  
  135. FIELD NAME STRING 16
  136. FIELD ANALYST STRING 20
  137.  
  138. TABLE ANALYST
  139.  
  140. FIELD NAME STRING 20
  141. FIELD SALARY FLOAT 7
  142. FIELD MANAGER STRING 20
  143.  
  144. TABLE SHIP
  145.  
  146. FIELD NAME STRING 15
  147. FIELD OCEAN STRING 16
  148. FIELD LAT STRING 7
  149. FIELD LONG STRING 8
  150. FIELD TY_PE STRING 10
  151.  
  152. TABLE CREW
  153.  
  154. FIELD TY_PE STRING 10
  155. FIELD SPECIALTY STRING 21
  156. FIELD NUMBER INTEGER 6
  157.  
  158. TABLE SAMPLE_THIRD_LEVEL_RECORD
  159.  
  160. FIELD LAT STRING 7
  161. FIELD LONG STRING 8
  162. FIELD SCALAR_2 STRING 16
  163. FIELD TY_PE STRING 10
  164. FIELD SPECIALTY STRING 21
  165. FIELD SCALAR_3 INTEGER 6
  166.  
  167. END
  168. ------------------------------------------------------------------------------
  169.   DEFINE_TABLE("OCEAN",
  170.    "NAME (INDIAN,ATLANTIC,PACIFIC,MEDITERRANEAN,ARCTIC,CARRIBEAN," &
  171.      "SOUTH_CHINA,BERING,GULF_OF_MEXICO,HUDSON_BAY);" &
  172.    "ANALYST STRING 1..20");
  173.  
  174.   DEFINE_TABLE("ANALYST",
  175.    "NAME STRING 1..20;" &
  176.    "SALARY FLOAT;" &
  177.    "MANAGER STRING 1..20");
  178.  
  179.   DEFINE_TABLE("SHIP",
  180.    "NAME STRING 1..15;" &
  181.    "OCEAN (INDIAN,ATLANTIC,PACIFIC,MEDITERRANEAN,ARCTIC,CARRIBEAN," &
  182.      "SOUTH_CHINA,BERING,GULF_OF_MEXICO,HUDSON_BAY);" &
  183.    "LATLONG " &
  184.      "LAT STRING 1..7," &
  185.      "LONG STRING 1..8;" &
  186.    "TY_PE (CARRIER,DESTROYER)");
  187.  
  188.   DEFINE_TABLE("CREW",
  189.    "KEY " &
  190.      "TY_PE (CARRIER,DESTROYER)," &
  191.      "SPECIALTY (COOK,SHUFFLEBOARD_TEACHER);" &
  192.    "NUMBER INTEGER");
  193.  
  194.   DEFINE_TABLE("SAMPLE_THIRD_LEVEL_RECORD",
  195.    "SECOND_LEVEL_RECORD " &
  196.      "LAT STRING 1..7," &
  197.      "LONG STRING 1..8," &
  198.      "SCALAR_2 (INDIAN,ATLANTIC,PACIFIC,MEDITERRANEAN,ARCTIC,CARRIBEAN," &
  199.        "SOUTH_CHINA,BERING,GULF_OF_MEXICO,HUDSON_BAY);" &
  200.    "FIRST_LEVEL_RECORD " &
  201.      "TY_PE (CARRIER,DESTROYER)," &
  202.      "SPECIALTY (COOK,SHUFFLEBOARD_TEACHER);" &
  203.    "SCALAR_3 INTEGER");
  204.  
  205. -)
  206.