Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.63 KB | None | 0 0
  1. # *************************************************************
  2. # MYSQL ASSIGNMENT
  3. # NAMES:
  4. # Brown, Shayne
  5. # Logan, Justin
  6. # Goncalves, Caio Victor
  7. # *************************************************************
  8.  
  9. DROP DATABASE IF EXISTS assignment;        
  10. CREATE DATABASE assignment;
  11.  
  12. # select the database
  13. USE assignment;
  14.  
  15. # create tables
  16.  
  17. CREATE TABLE contact
  18. (
  19.     CONTACT_ID      INT             NOT NULL    AUTO_INCREMENT  PRIMARY KEY,
  20.     PHONE_NUMBER    VARCHAR(10),
  21.     FIRST_NAME      VARCHAR(255)    NOT NULL,
  22.     LAST_NAME       VARCHAR(255)    NOT NULL,
  23.     ADDRESS         VARCHAR(255),
  24.     POSTAL_CODE     VARCHAR(6),
  25.     CITY            VARCHAR(255)
  26. );
  27.  
  28. CREATE TABLE employees
  29. (
  30.     EMPLOYEE_ID     INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,  
  31.     SIN             VARCHAR(7),
  32.     CONTACT_ID      INT,
  33.     CONSTRAINT employees_fk_contact
  34.         FOREIGN KEY(CONTACT_ID)
  35.             REFERENCES contact (CONTACT_ID)
  36. );
  37.  
  38. CREATE TABLE customer
  39. (
  40.     CUSTOMER_ID     INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  41.     CONTACT_ID      INT,
  42.     CONSTRAINT customer_fk_contact
  43.         FOREIGN KEY (CONTACT_ID)
  44.             REFERENCES contact (CONTACT_ID)
  45. );
  46.  
  47. CREATE TABLE suppliers
  48. (
  49.     SUPPLIER_ID     INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  50.     CONTACT_ID      INT,
  51.     CONSTRAINT suppliers_fk_contact
  52.         FOREIGN KEY(CONTACT_ID)
  53.             REFERENCES contact (CONTACT_ID)
  54. );
  55.  
  56. CREATE TABLE products
  57. (
  58.     PRODUCT_ID      INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  59.     DESCRIPTION     VARCHAR(255),
  60.     PRODUCT_NAME    VARCHAR(255)    NOT NULL,
  61.     SUPPLIER_ID     INT,
  62.     PRICE           DOUBLE,
  63.     CONSTRAINT products_fk_suppliers   
  64.         FOREIGN KEY(SUPPLIER_ID)
  65.             REFERENCES suppliers (SUPPLIER_ID)
  66. );
  67.  
  68. CREATE TABLE invoices
  69. (
  70.     INVOICE_ID      INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  71.     DESCRIPTION     VARCHAR(255),
  72.     CUSTOMER_ID     INT             NOT NULL,
  73.     CONSTRAINT invoices_fk_customer
  74.         FOREIGN KEY (CUSTOMER_ID)
  75.             REFERENCES customer (CUSTOMER_ID)
  76. );
  77.  
  78. CREATE TABLE invoice_item
  79. (
  80.     PRODUCT_ID      INT             NOT NULL,
  81.     INVOICE_ID      INT             NOT NULL,
  82.     QUANTITY        INT,
  83.     CONSTRAINT invoice_item_fk_products
  84.         FOREIGN KEY(PRODUCT_ID)
  85.             REFERENCES products (PRODUCT_ID),
  86.    
  87.     CONSTRAINT invoice_item_fk_invoices
  88.         FOREIGN KEY (INVOICE_ID)
  89.             REFERENCES invoices (INVOICE_ID),
  90.     PRIMARY KEY(PRODUCT_ID, INVOICE_ID)
  91. );
  92.  
  93. CREATE TABLE product_types
  94. (
  95.     PRODUCT_ID      INT             NOT NULL,
  96.     DESCRIPTION     VARCHAR(255),
  97.     CONSTRAINT product_types_fk_products
  98.         FOREIGN KEY (PRODUCT_ID)
  99.             REFERENCES products (PRODUCT_ID)
  100. );
  101.  
  102. CREATE TABLE catering_event
  103. (
  104.     EVENT_ID        INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  105.     EVENT_DATE      DATE,
  106.     INVOICE_ID      INT             NOT NULL,
  107.     CONSTRAINT catering_event_fk_invoices
  108.         FOREIGN KEY (INVOICE_ID)
  109.             REFERENCES invoices (INVOICE_ID)
  110. );
  111.  
  112. CREATE TABLE sale
  113. (
  114.     SALE_ID         INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  115.     SALE_DATE       DATE,
  116.     INVOICE_ID      INT             NOT NULL,
  117.     CONSTRAINT sale_fk_invoices
  118.         FOREIGN KEY (INVOICE_ID)
  119.             REFERENCES invoices (INVOICE_ID),
  120.     EMPLOYEE_ID     INT             NOT NULL,
  121.     CONSTRAINT sale_fk_employees
  122.         FOREIGN KEY (EMPLOYEE_ID)
  123.             REFERENCES employees (EMPLOYEE_ID)
  124. );
  125.  
  126. CREATE TABLE delivery
  127. (
  128.     DELIVERY_ID     INT             NOT NULL    AUTO_INCREMENT PRIMARY KEY,
  129.     DELIVERY_DATE   DATE,
  130.     SALE_ID         INT             NOT NULL,
  131.     CONSTRAINT delivery_fk_sale
  132.         FOREIGN KEY (SALE_ID)
  133.             REFERENCES sale (SALE_ID)
  134. );
  135.  
  136. CREATE TABLE stock
  137. (
  138.     PRODUCT_ID      INT             NOT NULL,
  139.     DELIVERY_ID     INT             NOT NULL,
  140.     EXPIRATION      DATE,
  141.     CONSTRAINT stock_fk_products
  142.         FOREIGN KEY(PRODUCT_ID)
  143.             REFERENCES products (PRODUCT_ID),
  144.    
  145.     CONSTRAINT stock_fk_delivery
  146.         FOREIGN KEY(DELIVERY_ID)
  147.             REFERENCES delivery(DELIVERY_ID),
  148.     PRIMARY KEY(PRODUCT_ID, DELIVERY_ID)
  149. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement