Advertisement
tamaro_skaljic

structure.sql

Mar 9th, 2021 (edited)
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE DATABASE IF NOT EXISTS db;
  2. CREATE SCHEMA if not exists sale;
  3.  
  4. -- -----------------------------------------------------
  5. -- Table `sale`.`manufacturers`
  6. -- -----------------------------------------------------
  7. CREATE TABLE IF NOT EXISTS db.sale.manufacturers (
  8.   manufacturer_id INT NOT NULL,
  9.   name CHAR(30) NULL DEFAULT NULL,
  10.   country CHAR(30) NULL DEFAULT NULL,
  11.   PRIMARY KEY (manufacturer_id)
  12.  )
  13. ;
  14.  
  15. CREATE INDEX manufacturer_index ON db.sale.manufacturers (name ASC);
  16.  
  17.  
  18. -- -----------------------------------------------------
  19. -- Table `sale`.`articles`
  20. -- -----------------------------------------------------
  21. CREATE TABLE IF NOT EXISTS db.sale.articles (
  22.   article_id INT NOT NULL,
  23.   manufacturer_id INT NOT NULL,
  24.   name CHAR(50) NULL DEFAULT NULL,
  25.   price DECIMAL(7,2) NULL DEFAULT NULL,
  26.   PRIMARY KEY (article_id)
  27.  ,
  28.   CONSTRAINT fk1
  29.     FOREIGN KEY (manufacturer_id)
  30.     REFERENCES db.sale.manufacturers (manufacturer_id)
  31.     ON DELETE NO ACTION
  32.     ON UPDATE NO ACTION)
  33. ;
  34.  
  35. CREATE INDEX article_index ON db.sale.articles (name ASC);
  36. CREATE INDEX fk_article_manufacturer1_idx ON db.sale.articles (manufacturer_id ASC);
  37.  
  38.  
  39. -- -----------------------------------------------------
  40. -- Table `sale`.`person`
  41. -- -----------------------------------------------------
  42. CREATE TABLE IF NOT EXISTS db.sale.persons (
  43.   person_id INT NOT NULL,
  44.   lastname CHAR(20) NULL DEFAULT NULL,
  45.   firstname CHAR(20) NULL DEFAULT NULL,
  46.   street CHAR(30) NULL DEFAULT NULL,
  47.   city CHAR(30) NULL DEFAULT NULL,
  48.   postal_code INT NULL DEFAULT NULL,
  49.   country CHAR(20) NULL DEFAULT NULL,
  50.   birthdate DATE NULL DEFAULT NULL,
  51.   PRIMARY KEY (person_id)
  52.  )
  53. ;
  54.  
  55. CREATE INDEX person_index ON db.sale.persons (lastname ASC);
  56.  
  57.  
  58. -- -----------------------------------------------------
  59. -- Table `sale`.`orders`
  60. -- -----------------------------------------------------
  61. CREATE SEQUENCE db.sale.orders_seq;
  62.  
  63. CREATE TABLE IF NOT EXISTS db.sale.orders (
  64.   order_id INT NOT NULL DEFAULT NEXTVAL ('db.sale.orders_seq'),
  65.   article_id INT NOT NULL,
  66.   customer_id INT NOT NULL,
  67.   article_amount INT NULL DEFAULT NULL,
  68.   total_value DECIMAL(7,2) NULL DEFAULT NULL,
  69.   PRIMARY KEY (order_id),
  70.   CONSTRAINT fk2
  71.     FOREIGN KEY (article_id)
  72.     REFERENCES db.sale.articles (article_id)
  73.     ON DELETE CASCADE,
  74.   CONSTRAINT fk3
  75.     FOREIGN KEY (customer_id)
  76.     REFERENCES db.sale.persons (person_id)
  77.     ON DELETE CASCADE)
  78. ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement