Advertisement
kingstertime

GazuNET

Jan 16th, 2020
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.52 KB | None | 0 0
  1. CREATE TABLE Users (
  2.     id SERIAL NOT NULL PRIMARY KEY,
  3.     username VARCHAR(50),
  4.     email VARCHAR(50),
  5.     password VARCHAR(50),
  6.     phoneNumber VARCHAR(14) PRIMARY KEY NOT NULL
  7. );
  8.  
  9. CREATE UNIQUE INDEX phoneNumber ON Users(phoneNumber);
  10.  
  11. CREATE TABLE GeoInfo(
  12.     id SERIAL NOT NULL PRIMARY KEY,
  13.     city VARCHAR(50) NOT NULL,
  14.     country VARCHAR(50) NOT NULL,
  15.     place_residency VARCHAR(50) NOT NULL
  16. );
  17.  
  18. CREATE TABLE Profiles (
  19.     id SERIAL NOT NULL PRIMARY KEY,
  20.     geoInfo_id INT,
  21.     first_name VARCHAR(50),
  22.     last_name VARCHAR(50),
  23.     user_id INT,
  24.     user_phoneNumber VARCHAR(14),
  25.     birth_date DATE,
  26.     project_status text,
  27.     argument_status text,
  28.     balance INT,
  29.     FOREIGN KEY (user_id) REFERENCES Users(id),
  30.     FOREIGN KEY (geoinfo_id) REFERENCES GeoInfo(id),
  31.     FOREIGN KEY (project_status) REFERENCES project_req(project_status),
  32.     FOREIGN KEY (argument_status)  REFERENCES conclusion_of_arg(argument_status),
  33.     CHECK ( project_status IN ('success', 'wait', 'not success') ),
  34.     CHECK ( argument_status IN ('success', 'wait', 'not success') )
  35. );
  36.  
  37.  
  38. CREATE INDEX profiles_fn ON Profiles(first_name);
  39. CREATE INDEX profiles_ln ON Profiles(last_name);
  40.  
  41. CREATE TABLE TY_request (
  42.     geoInfo_id INT,
  43.     user_id INT,
  44.     TIME TIME,
  45.     profiles_status text,
  46.     FOREIGN KEY (geoInfo_id) REFERENCES GeoInfo(id),
  47.     FOREIGN KEY (user_id) REFERENCES Users(id)
  48. );
  49.  
  50. CREATE TABLE project_req (
  51.     topography_ph varbit,
  52.     plan varbit,
  53.     chimney varbit,
  54.     verification varbit,
  55.     project_status text PRIMARY KEY
  56. );
  57.  
  58. CREATE TABLE conclusion_of_arg (
  59.     document varbit,
  60.     svidet_o_vlad_doma varbit,
  61.     pasport varbit,
  62.     dogovor varbit,
  63.     cotel INT NOT NULL PRIMARY KEY,
  64.     garantiya TIME PRIMARY KEY,
  65.     argument_status text PRIMARY KEY
  66.  
  67. );
  68.  
  69. -- либо хранение документов в своей бд, заливать в личном кабинете и ссылаться на них
  70.  
  71. CREATE TABLE Agency (
  72.     sotr_id INT PRIMARY KEY
  73. );
  74.  
  75. CREATE TABLE Archive (
  76.     conclucsion_of_arg_cotel INT NOT NULL,
  77.     conclusion_of_arg_garantiya TIME,
  78.     FOREIGN KEY (conclusion_of_arg_garantiya) REFERENCES conclusion_of_arg(garantiya),
  79.     FOREIGN KEY (conclucsion_of_arg_cotel) REFERENCES conclusion_of_arg(cotel)
  80. );
  81.  
  82. CREATE TABLE Payments (
  83.     price INT NOT NULL,
  84.     user_id INT,
  85.     FOREIGN KEY (user_id) REFERENCES Users(id)
  86. );
  87.  
  88. DELETE FROM Archive
  89. WHERE (SELECT conclusion_of_arg_garantiya
  90. FROM Archive
  91. WHERE conclusion_of_arg_garantiya = 0)
  92.  
  93. SELECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement