Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.81 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 products 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.     FOREIGN KEY(CONTACT_ID)
  34.     REFERENCES contact (CONTACT_ID)
  35. );
  36.  
  37. CREATE TABLE customer
  38. (
  39.     CUSTOMER_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  40.     CONTACT_ID INT,
  41.     FOREIGN KEY (CONTACT_ID)
  42.     REFERENCES contact (CONTACT_ID)
  43. );
  44.  
  45. CREATE TABLE suppliers
  46. (
  47.     SUPPLIER_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  48.     CONTACT_ID INT,
  49.     FOREIGN KEY(CONTACT_ID)
  50.     REFERENCES contact (CONTACT_ID)
  51. );
  52.  
  53. CREATE TABLE products
  54. (
  55.     PRODUCT_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  56.     DESCRIPTION VARCHAR(255),
  57.     PRODUCT_NAME VARCHAR(255) NOT NULL,
  58.     SUPPLIER_ID INT,
  59.     FOREIGN KEY(SUPPLIER_ID)
  60.     REFERENCES suppliers (SUPPLIER_ID)
  61. );
  62.  
  63. CREATE TABLE invoices
  64. (
  65.     INVOICE_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  66.     PRODUCT_ID INT,
  67.     DESCRIPTION VARCHAR(255),
  68.     CUSTOMER_ID INT,
  69.     FOREIGN KEY (CUSTOMER_ID)
  70.     REFERENCES customer (CUSTOMER_ID),
  71.     FOREIGN KEY (PRODUCT_ID)
  72.     REFERENCES products (PRODUCT_ID)
  73. );
  74.  
  75. CREATE TABLE invoice_item
  76. (
  77.     PRODUCT_ID INT,
  78.     INVOICE_ID INT,
  79.     FOREIGN KEY(PRODUCT_ID)
  80.     REFERENCES products (PRODUCT_ID),
  81.    
  82.     FOREIGN KEY (INVOICE_ID)
  83.     REFERENCES invoices (INVOICE_ID)
  84. );
  85.  
  86. CREATE TABLE product_types
  87. (
  88.     PRODUCT_ID INT, #this will cause a problem
  89.     DESCRIPTION VARCHAR(255),
  90.     FOREIGN KEY (PRODUCT_ID)
  91.     REFERENCES products (PRODUCT_ID)
  92. );
  93.  
  94. CREATE TABLE catering_event
  95. (
  96.     EVENT_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  97.     EVENT_DATE DATE,
  98.     INVOICE_ID INT,
  99.     FOREIGN KEY (INVOICE_ID)
  100.     REFERENCES invoices (INVOICE_ID)
  101. );
  102.  
  103. CREATE TABLE sale
  104. (
  105.     SALE_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  106.     SALE_DATE DATE,
  107.     INVOICE_ID INT,
  108.     FOREIGN KEY (INVOICE_ID)
  109.     REFERENCES invoices (INVOICE_ID)
  110. );
  111.  
  112. CREATE TABLE delivery
  113. (
  114.     DELIVERY_ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  115.     DELIVERY_DATE DATE,
  116.     SALE_ID INT,
  117.     FOREIGN KEY (SALE_ID)
  118.     REFERENCES sale (SALE_ID)
  119. );
  120.  
  121. CREATE TABLE stock
  122. (
  123.     PRODUCT_ID INT,
  124.     SALE_ID INT,
  125.     FOREIGN KEY(PRODUCT_ID)
  126.     REFERENCES products (PRODUCT_ID),
  127.    
  128.     FOREIGN KEY(SALE_ID)
  129.     REFERENCES sale (SALE_ID)
  130. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement