Sajmon

DAIS - PL-SQL - create

Apr 11th, 2012
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.29 KB | None | 0 0
  1. /**
  2. @Author: Sajmon
  3. */
  4.  
  5. CREATE TABLE Reservation
  6.     (
  7.      coachNumber INTEGER  NOT NULL ,
  8.      seatNumber INTEGER  NOT NULL ,
  9.      reservationDate DATE  NOT NULL ,
  10.      paidDate DATE ,
  11.      canceledDate DATE ,
  12.      idTrainRide INTEGER  NOT NULL ,
  13.      idUser INTEGER
  14.     )
  15. ;
  16.  
  17.  
  18.  
  19. ALTER TABLE Reservation
  20.     ADD CONSTRAINT Reservation_PK PRIMARY KEY ( coachNumber, seatNumber, idTrainRide ) ;
  21.  
  22.  
  23. CREATE TABLE Staff
  24.     (
  25.      idStaff INTEGER  NOT NULL ,
  26.      fname VARCHAR2 (30)  NOT NULL ,
  27.      lname VARCHAR2 (30)  NOT NULL ,
  28.      POSITION CHAR (1)  NOT NULL ,
  29.      jobStart DATE  NOT NULL ,
  30.      jobEnd DATE ,
  31.      salary INTEGER  NOT NULL
  32.     )
  33. ;
  34.  
  35.  
  36.  
  37. ALTER TABLE Staff
  38.     ADD CONSTRAINT Staff_PK PRIMARY KEY ( idStaff ) ;
  39.  
  40.  
  41. CREATE TABLE Station
  42.     (
  43.      idStation INTEGER  NOT NULL ,
  44.      name VARCHAR2 (60)  NOT NULL
  45.     )
  46. ;
  47.  
  48.  
  49.  
  50. ALTER TABLE Station
  51.     ADD CONSTRAINT Station_PK PRIMARY KEY ( idStation ) ;
  52.  
  53.  
  54. CREATE TABLE Train
  55.     (
  56.      idTrain INTEGER  NOT NULL ,
  57.      name VARCHAR2 (20)  NOT NULL ,
  58.      coachCount INTEGER  NOT NULL ,
  59.      price FLOAT  NOT NULL ,
  60.      startTime DATE  NOT NULL ,
  61.      endTime DATE  NOT NULL ,
  62.      idStation INTEGER ,
  63.      idStation1 INTEGER
  64.     )
  65. ;
  66.  
  67.  
  68.  
  69. ALTER TABLE Train
  70.     ADD CONSTRAINT Train_PK PRIMARY KEY ( idTrain ) ;
  71.  
  72.  
  73. CREATE TABLE TrainCrew
  74.     (
  75.      idStaff INTEGER  NOT NULL ,
  76.      idTrainRide INTEGER  NOT NULL
  77.     )
  78. ;
  79.  
  80.  
  81.  
  82. ALTER TABLE TrainCrew
  83.     ADD CONSTRAINT PK_TrainCrew PRIMARY KEY ( idStaff, idTrainRide ) ;
  84.  
  85.  
  86. CREATE TABLE TrainRide
  87.     (
  88.      idTrainRide INTEGER  NOT NULL ,
  89.      rideDate DATE  NOT NULL ,
  90.      idTrain INTEGER
  91.     )
  92. ;
  93.  
  94.  
  95.  
  96. ALTER TABLE TrainRide
  97.     ADD CONSTRAINT TrainRide_PK PRIMARY KEY ( idTrainRide ) ;
  98.  
  99.  
  100. CREATE TABLE "User"
  101.     (
  102.      idUser INTEGER  NOT NULL ,
  103.      email VARCHAR2 (30)  NOT NULL ,
  104.      fname VARCHAR2 (40) ,
  105.      lname VARCHAR2 (40) ,
  106.      password VARCHAR2 (12)  NOT NULL
  107.     )
  108. ;
  109.  
  110.  
  111.  
  112. ALTER TABLE "User"
  113.     ADD CONSTRAINT User_PK PRIMARY KEY ( idUser ) ;
  114.  
  115.  
  116.  
  117. ALTER TABLE TrainCrew
  118.     ADD CONSTRAINT Relation_1 FOREIGN KEY
  119.     (
  120.      idStaff
  121.     )
  122.     REFERENCES Staff
  123.     (
  124.      idStaff
  125.     )
  126. ;
  127.  
  128.  
  129. ALTER TABLE TrainCrew
  130.     ADD CONSTRAINT Relation_3 FOREIGN KEY
  131.     (
  132.      idTrainRide
  133.     )
  134.     REFERENCES TrainRide
  135.     (
  136.      idTrainRide
  137.     )
  138. ;
  139.  
  140.  
  141. ALTER TABLE TrainRide
  142.     ADD CONSTRAINT Relation_4 FOREIGN KEY
  143.     (
  144.      idTrain
  145.     )
  146.     REFERENCES Train
  147.     (
  148.      idTrain
  149.     )
  150.     ON DELETE SET NULL
  151. ;
  152.  
  153.  
  154. ALTER TABLE Reservation
  155.     ADD CONSTRAINT Relation_5 FOREIGN KEY
  156.     (
  157.      idTrainRide
  158.     )
  159.     REFERENCES TrainRide
  160.     (
  161.      idTrainRide
  162.     )
  163. ;
  164.  
  165.  
  166. ALTER TABLE Reservation
  167.     ADD CONSTRAINT Relation_6 FOREIGN KEY
  168.     (
  169.      idUser
  170.     )
  171.     REFERENCES "User"
  172.     (
  173.      idUser
  174.     )
  175.     ON DELETE SET NULL
  176. ;
  177.  
  178.  
  179. ALTER TABLE Train
  180.     ADD CONSTRAINT Relation_7 FOREIGN KEY
  181.     (
  182.      idStation
  183.     )
  184.     REFERENCES Station
  185.     (
  186.      idStation
  187.     )
  188.     ON DELETE SET NULL
  189. ;
  190.  
  191.  
  192. ALTER TABLE Train
  193.     ADD CONSTRAINT Relation_8 FOREIGN KEY
  194.     (
  195.      idStation1
  196.     )
  197.     REFERENCES Station
  198.     (
  199.      idStation
  200.     )
  201.     ON DELETE SET NULL
  202. ;
Advertisement
Add Comment
Please, Sign In to add comment