Advertisement
Guest User

schema.sql

a guest
Sep 14th, 2022
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.13 KB | None | 0 0
  1.  
  2.         DROP TABLE IF EXISTS client_data cascade;
  3.  
  4.         DROP TABLE IF EXISTS destination cascade;
  5.  
  6.         DROP TABLE IF EXISTS guide_data cascade;
  7.  
  8.         DROP TABLE IF EXISTS reservation cascade;
  9.  
  10.         DROP TABLE IF EXISTS reservation_offer cascade;
  11.  
  12.         DROP TABLE IF EXISTS tour cascade;
  13.  
  14.         DROP TABLE IF EXISTS user_data cascade;
  15.  
  16.         DROP TABLE IF EXISTS user_data_roles cascade;
  17.  
  18.     CREATE TABLE user_data (
  19.            id  bigserial NOT NULL,
  20.             password VARCHAR(255),
  21.             username VARCHAR(255),
  22.             PRIMARY KEY (id)
  23.         );
  24.  
  25.     CREATE TABLE client_data (
  26.        id  bigserial NOT NULL,
  27.         name VARCHAR(255),
  28.         passport_number VARCHAR(255),
  29.         surname VARCHAR(255),
  30.         user_data_id int8,
  31.         PRIMARY KEY (id)
  32.     );
  33.  
  34.     CREATE TABLE destination (
  35.        id  bigserial NOT NULL,
  36.         description VARCHAR(255),
  37.         name VARCHAR(255),
  38.         PRIMARY KEY (id)
  39.     );
  40.  
  41.     CREATE TABLE guide_data (
  42.        id  bigserial NOT NULL,
  43.         name VARCHAR(255),
  44.         surname VARCHAR(255),
  45.         user_data_id int8,
  46.         PRIMARY KEY (id)
  47.     );
  48.  
  49.     CREATE TABLE reservation (
  50.        id  bigserial NOT NULL,
  51.         actual_price float8 NOT NULL,
  52.         client_id int8,
  53.         tour_id int8,
  54.         PRIMARY KEY (id)
  55.     );
  56.  
  57.     CREATE TABLE reservation_offer (
  58.        id  bigserial NOT NULL,
  59.         agreed_admin BOOLEAN NOT NULL,
  60.         agreed_client BOOLEAN NOT NULL,
  61.         price float8 NOT NULL,
  62.         client_data_id int8,
  63.         tour_id int8,
  64.         PRIMARY KEY (id)
  65.     );
  66.  
  67.     CREATE TABLE tour (
  68.        id  bigserial NOT NULL,
  69.         end_date DATE,
  70.         initial_price float8 NOT NULL,
  71.         start_date DATE,
  72.         destination_id int8,
  73.         guide_id int8,
  74.         PRIMARY KEY (id)
  75.     );
  76.  
  77.  
  78.  
  79.     CREATE TABLE user_data_roles (
  80.        user_data_id int8 NOT NULL,
  81.         roles VARCHAR(255)
  82.     );
  83.  
  84.     ALTER TABLE client_data
  85.        ADD CONSTRAINT client_user_data
  86.        FOREIGN KEY (user_data_id)
  87.        REFERENCES user_data ;
  88.  
  89.     ALTER TABLE guide_data
  90.        ADD CONSTRAINT guide_user_data
  91.        FOREIGN KEY (user_data_id)
  92.        REFERENCES user_data ;
  93.  
  94.     ALTER TABLE reservation
  95.        ADD CONSTRAINT reservation_client_data
  96.        FOREIGN KEY (client_id)
  97.        REFERENCES client_data ;
  98.  
  99.     ALTER TABLE reservation
  100.        ADD CONSTRAINT reservation_tour
  101.        FOREIGN KEY (tour_id)
  102.        REFERENCES tour;
  103.  
  104.     ALTER TABLE reservation_offer
  105.        ADD CONSTRAINT offer_client_data
  106.        FOREIGN KEY (client_data_id)
  107.        REFERENCES client_data ;
  108.  
  109.     ALTER TABLE reservation_offer
  110.        ADD CONSTRAINT offer_tour
  111.        FOREIGN KEY (tour_id)
  112.        REFERENCES tour;
  113.  
  114.     ALTER TABLE tour
  115.        ADD CONSTRAINT tour_destination
  116.        FOREIGN KEY (destination_id)
  117.        REFERENCES destination;
  118.  
  119.     ALTER TABLE tour
  120.        ADD CONSTRAINT tour_guide_data
  121.        FOREIGN KEY (guide_id)
  122.        REFERENCES guide_data;
  123.  
  124.     ALTER TABLE user_data_roles
  125.        ADD CONSTRAINT roles_user_data
  126.        FOREIGN KEY (user_data_id)
  127.        REFERENCES user_data;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement