Advertisement
lifesaver800

TripleS_softuni_stores_system

Oct 23rd, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.46 KB | None | 0 0
  1. CREATE TABLE pictures
  2. (
  3.     id       INT PRIMARY KEY AUTO_INCREMENT,
  4.     url      VARCHAR(100) NOT NULL,
  5.     added_on DATETIME     NOT NULL
  6. );
  7.  
  8. CREATE TABLE categories
  9. (
  10.     id   INT PRIMARY KEY AUTO_INCREMENT,
  11.     name VARCHAR(40) UNIQUE NOT NULL
  12. );
  13.  
  14. CREATE TABLE products
  15. (
  16.     id          INT PRIMARY KEY AUTO_INCREMENT,
  17.     name        VARCHAR(40) UNIQUE NOT NULL,
  18.     best_before DATE,
  19.     price       DECIMAL(10, 2)     NOT NULL,
  20.     description TEXT,
  21.     category_id INT                NOT NULL,
  22.     picture_id  INT                NOT NULL,
  23.  
  24.     CONSTRAINT fk_products_categories
  25.         FOREIGN KEY (category_id)
  26.             REFERENCES categories (id),
  27.  
  28.     CONSTRAINT fk_products_pictures
  29.         FOREIGN KEY (picture_id)
  30.             REFERENCES pictures (id)
  31. );
  32.  
  33. CREATE TABLE towns
  34. (
  35.     id   INT PRIMARY KEY AUTO_INCREMENT,
  36.     name VARCHAR(20) UNIQUE NOT NULL
  37. );
  38.  
  39. CREATE TABLE addresses
  40. (
  41.     id      INT PRIMARY KEY AUTO_INCREMENT,
  42.     name    VARCHAR(50) UNIQUE NOT NULL,
  43.     town_id INT                NOT NULL,
  44.  
  45.     CONSTRAINT fk_addresses_towns
  46.         FOREIGN KEY (town_id)
  47.             REFERENCES towns (id)
  48. );
  49.  
  50. CREATE TABLE stores
  51. (
  52.     id          INT PRIMARY KEY AUTO_INCREMENT,
  53.     name        VARCHAR(20) UNIQUE NOT NULL,
  54.     rating      FLOAT              NOT NULL,
  55.     has_parking TINYINT(1) DEFAULT FALSE,
  56.     address_id  INT                NOT NULL,
  57.  
  58.     CONSTRAINT fk_stores_addresses
  59.         FOREIGN KEY (address_id)
  60.             REFERENCES addresses (id)
  61. );
  62.  
  63. CREATE TABLE products_stores
  64. (
  65.     product_id INT NOT NULL,
  66.     store_id   INT NOT NULL,
  67.  
  68.     CONSTRAINT pk_products_stores
  69.         PRIMARY KEY (product_id, store_id),
  70.  
  71.     CONSTRAINT fk_products_stores_products
  72.         FOREIGN KEY (product_id)
  73.             REFERENCES products (id),
  74.  
  75.     CONSTRAINT fk_products_stores
  76.         FOREIGN KEY (store_id)
  77.             REFERENCES stores (id)
  78. );
  79.  
  80. CREATE TABLE employees
  81. (
  82.     id          INT PRIMARY KEY AUTO_INCREMENT,
  83.     first_name  VARCHAR(15)    NOT NULL,
  84.     middle_name CHAR(1),
  85.     last_name   VARCHAR(20)    NOT NULL,
  86.     salary      DECIMAL(19, 2) NOT NULL DEFAULT 0,
  87.     hire_date   DATE           NOT NULL,
  88.     manager_id  INT,
  89.     store_id    INT            NOT NULL,
  90.  
  91.     CONSTRAINT fk_employees_employees
  92.         FOREIGN KEY (manager_id)
  93.             REFERENCES employees (id),
  94.     CONSTRAINT fk_employees_stores
  95.         FOREIGN KEY (store_id)
  96.             REFERENCES stores (id)
  97. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement