You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
2.8 KiB

7 years ago
  1. set echo on;
  2. alter session set nls_language = english;
  3. alter session set nls_date_format = 'DD-MON-YYYY';
  4. alter session set nls_date_language = english;
  5. create table FLUGHAFEN (
  6. FHC varchar(3),
  7. LAND varchar(3),
  8. STADT varchar(50) default null,
  9. NAME varchar(50) default null,
  10. constraint FLUGHAFEN_PS
  11. primary key (FHC)
  12. );
  13. create table FLUGLINIE (
  14. FLC varchar(2),
  15. LAND varchar(3),
  16. HUB varchar(3) default null,
  17. NAME varchar(30) default null,
  18. ALLIANZ varchar(20) default null,
  19. constraint FLUGLINIE_LAND_NN
  20. check (LAND is not null),
  21. constraint FLUGLINIE_ALLIANZ_CHK
  22. check (ALLIANZ in ('Star','Excellence','Leftover','OneWorld','SkyTeam')),
  23. constraint FLUGLINIE_PS
  24. primary key (FLC),
  25. constraint FLUGLINIE_FS_HUB
  26. foreign key (HUB) references FLUGHAFEN(FHC)
  27. )
  28. HORIZONTAL (FLC('CC','KK'));
  29. create table FLUG (
  30. FNR integer,
  31. FLC varchar(2),
  32. FLNR integer,
  33. VON varchar(3),
  34. NACH varchar(3),
  35. AB integer,
  36. AN integer,
  37. constraint FLUG_VON_NN
  38. check (VON is not null),
  39. constraint FLUG_NACH_NN
  40. check (NACH is not null),
  41. constraint FLUG_AB_NN
  42. check (AB is not null),
  43. constraint FLUG_AN_NN
  44. check (AN is not null),
  45. constraint FLUG_AB_CHK
  46. check (AB between 0 and 2400),
  47. constraint FLUG_AN_CHK
  48. check (AN between 0 and 2400),
  49. constraint FLUG_VONNACH_CHK
  50. check (VON != NACH),
  51. constraint FLUG_PS
  52. primary key (FNR),
  53. constraint FLUG_FS_FLC
  54. foreign key (FLC) references FLUGLINIE(FLC),
  55. constraint FLUG_FS_VON
  56. foreign key (VON) references FLUGHAFEN(FHC),
  57. constraint FLUG_FS_NACH
  58. foreign key (NACH) references FLUGHAFEN(FHC)
  59. )
  60. HORIZONTAL (AB(0800,1200));
  61. create table PASSAGIER (
  62. PNR integer,
  63. NAME varchar(40),
  64. VORNAME varchar(40) default null,
  65. LAND varchar(3) default null,
  66. constraint PASSAGIER_NAME_NN
  67. check (NAME is not null),
  68. constraint PASSAGIER_PS
  69. primary key (PNR)
  70. )
  71. HORIZONTAL (PNR(35,70));
  72. create table BUCHUNG (
  73. BNR integer,
  74. PNR integer,
  75. FLC varchar(2),
  76. FLNR integer,
  77. VON varchar(3),
  78. NACH varchar(3),
  79. TAG varchar(20),
  80. MEILEN integer,
  81. PREIS integer,
  82. constraint BUCHUNG_NACH_NN
  83. check (NACH is not null),
  84. constraint BUCHUNG_MEILEN_NN
  85. check (MEILEN is not null),
  86. constraint BUCHUNG_PREIS_NN
  87. check (PREIS is not null),
  88. constraint BUCHUNG_MEILEN_CHK
  89. check (MEILEN >= 0),
  90. constraint BUCHUNG_PREIS_CHK
  91. check (PREIS > 0),
  92. constraint BUCHUNG_PS
  93. primary key (BNR),
  94. constraint BUCHUNG_FS_PNR
  95. foreign key (PNR) references PASSAGIER(PNR),
  96. constraint BUCHUNG_FS_FLC
  97. foreign key (FLC) references FLUGLINIE(FLC),
  98. constraint BUCHUNG_FS_VON
  99. foreign key (VON) references FLUGHAFEN(FHC),
  100. constraint BUCHUNG_FS_NACH
  101. foreign key (NACH) references FLUGHAFEN(FHC)
  102. )
  103. HORIZONTAL (VON('FFF','GGG'));