Advertisement
Pit_Anonim

SQL LAB 2

Oct 8th, 2021
991
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*DROP DATABASE trade_union_organization_of_events;
  2. CREATE DATABASE trade_union_organization_of_events; */
  3.  
  4.  
  5. CREATE TABLE ADRESSES(
  6.     adress VARCHAR(255) NOT NULL PRIMARY KEY
  7. );
  8.  
  9. CREATE TABLE POSTS(
  10.     name VARCHAR(255) NOT NULL PRIMARY KEY
  11. );
  12.  
  13. CREATE TABLE EVENT_TYPES (
  14.     e_type VARCHAR(30) NOT NULL PRIMARY KEY
  15. );
  16.  
  17. CREATE TABLE ROLES(
  18.     role_name VARCHAR(50) NOT NULL PRIMARY KEY
  19. );
  20.  
  21. CREATE TABLE COMPANIES(
  22.     id INT NOT NULL PRIMARY KEY,
  23.     name VARCHAR(255) NOT NULL,
  24.     adress VARCHAR(255) NOT NULL REFERENCES ADRESSES(adress)
  25. );
  26.  
  27. CREATE TABLE DEPARTMENTS(
  28.     id INT NOT NULL PRIMARY KEY,
  29.     name VARCHAR(255) NOT NULL,
  30.     company INT NOT NULL REFERENCES COMPANIES(id)
  31. );
  32.  
  33. CREATE TABLE PERSONS(
  34.     id INT NOT NULL PRIMARY KEY,
  35.     full_name VARCHAR(255) NOT NULL,
  36.     age INT NOT NULL,
  37.     adress VARCHAR(255) NOT NULL REFERENCES ADRESSES(adress)
  38. );
  39.  
  40. CREATE TABLE PERSONS_DEPARTMENTS(
  41.     id INT NOT NULL PRIMARY KEY,
  42.     person INT NOT NULL REFERENCES PERSONS(id),
  43.     department INT NOT NULL REFERENCES DEPARTMENTS(id),
  44.     post VARCHAR(255) NOT NULL REFERENCES POSTS(name)
  45. );
  46.  
  47. CREATE TABLE PROBLEMS(
  48.     id INT NOT NULL PRIMARY KEY,
  49.     register_time DATE NOT NULL,
  50.     name VARCHAR(50) NOT NULL,
  51.     description VARCHAR(255) NOT NULL
  52. );
  53.  
  54. CREATE TABLE EVENTS (
  55.     id INT NOT NULL PRIMARY KEY,
  56.     date DATE NOT NULL,
  57.     start_time TIME NOT NULL,
  58.     end_time TIME NOT NULL,
  59.     approval_date DATE NOT NULL,
  60.     e_type VARCHAR(30) NOT NULL REFERENCES EVENT_TYPES(e_type),
  61.     adress VARCHAR(255) NOT NULL REFERENCES ADRESSES(adress)
  62. );
  63.  
  64. CREATE TABLE PERSONS_EVENTS(
  65.     id INT NOT NULL PRIMARY KEY,
  66.     role VARCHAR(50) NOT NULL REFERENCES ROLES(role_name),
  67.     person INT NOT NULL REFERENCES PERSONS(id),
  68.     event INT NOT NULL REFERENCES EVENTS(id)
  69. );
  70.  
  71. CREATE TABLE EVENTS_PROBLEMS(
  72.     id INT NOT NULL PRIMARY KEY,
  73.     event INT NOT NULL REFERENCES EVENTS(id),
  74.     problem INT NOT NULL REFERENCES PROBLEMS(id)
  75. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement