Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.87 KB | None | 0 0
  1. CREATE TABLE customer_tbl
  2. (
  3. surname VARCHAR (20) CONSTRAINT surname_nn NOT NULL,
  4. forename VARCHAR (20) CONSTRAINT forname_nn NOT NULL,
  5. address VARCHAR (40) CONSTRAINT address_nn NOT NULL,
  6. post_code VARCHAR (8) CONSTRAINT post_code_nn NOT NULL,
  7. email VARCHAR (20) CONSTRAINT email_nn NOT NULL, -- All customers sign up via our website so must have an email address
  8. customer_id VARCHAR (20) CONSTRAINT customer_id_pk PRIMARY KEY,
  9. customer_since DATE
  10. );
  11.  
  12.  
  13. CREATE TABLE commercial_tbl
  14. (
  15. company_code VARCHAR2(8), -- Some companies are not registered as Ltd so do not have company code
  16. company_name VARCHAR2(20) CONSTRAINT company_name_nn NOT NULL,
  17. company_address VARCHAR2(40) CONSTRAINT company_address_nn NOT NULL,
  18. company_email VARCHAR2(20) CONSTRAINT company_email_nn NOT NULL,
  19. company_id VARCHAR2(20) CONSTRAINT company_id_pk PRIMARY KEY,
  20. customer_id VARCHAR2(20) CONSTRAINT customer_id_u UNIQUE CONSTRAINT customer_id_fk REFERENCES customer_tbl(customer_id)
  21. );
  22.  
  23.  
  24. CREATE TABLE order_tbl
  25. (
  26. customer_id CONSTRAINT customer_id REFERENCES customer_tbl(customer_id),
  27. order_date_time DATE,
  28. order_id VARCHAR(20) CONSTRAINT order_id_pk PRIMARY KEY
  29.  
  30. );
  31.  
  32.  
  33. CREATE TABLE payment_tbl
  34. (
  35. payment_id VARCHAR(9) CONSTRAINT payment_id_pk PRIMARY KEY,
  36. payment_method VARCHAR(20) CONSTRAINT payment_method_nn NOT NULL,
  37. payment_total NUMBER (6,2) CONSTRAINT payment_total_nn NOT NULL,
  38. payment_confirmed DATE,
  39. amount_paid NUMBER(6,2) CONSTRAINT ammount_paid_nn NOT NULL,
  40. amount_owed NUMBER(6,2),
  41. billing_address VARCHAR(30) CONSTRAINT billing_address_nn NOT NULL,
  42. billing_address_post_code VARCHAR(8) CONSTRAINT billing_address_post_code_nn NOT NULL
  43. );
  44.  
  45.  
  46. CREATE TABLE pay_link_tbl
  47. (
  48. payment_id CONSTRAINT payment_id REFERENCES payment_tbl(payment_id),
  49. order_id CONSTRAINT order_id REFERENCES order_tbl(order_id),
  50. CONSTRAINT pay_link_pk PRIMARY KEY (order_id, payment_id)
  51. );
  52.  
  53.  
  54. CREATE TABLE product_tbl
  55. (
  56. product_name VARCHAR(20) CONSTRAINT product_name_nn NOT NULL,
  57. product_dsc VARCHAR (50) CONSTRAINT product_desc_nn NOT NULL,
  58. product_price NUMBER(5,2) CONSTRAINT product_price_nn NOT NULL,
  59. product_id NUMBER (10) CONSTRAINT product_id_pk PRIMARY KEY
  60. );
  61.  
  62.  
  63. CREATE TABLE product_category_tbl
  64. (
  65. category_id VARCHAR(99) CONSTRAINT category_id_pk PRIMARY KEY,
  66. category_desc VARCHAR(50) CONSTRAINT category_desc_nn NOT NULL
  67. );
  68.  
  69.  
  70. CREATE TABLE product_category_link_tbl
  71. (
  72.  
  73.  
  74. category_id CONSTRAINT REFERENCES product_category_tbl(category_id),
  75. product_id CONSTRAINT REFERENCES product_tbl(product_id),
  76. CONSTRAINT product_category_link_pk PRIMARY KEY (category_id, product_id)
  77. );
  78.  
  79. CREATE TABLE delivery_tbl
  80. (
  81. delivery_date_time DATE, --The package might not have been delivered yet
  82. delivery_address VARCHAR(40) CONSTRAINT delivery_address_nn NOT NULL,
  83. delivery_courier VARCHAR (20) CONSTRAINT delivery_courier_nn NOT NULL,
  84. delivery_id VARCHAR(10) CONSTRAINT delivery_id_pk PRIMARY KEY
  85. );
  86.  
  87. CREATE TABLE order_item_tbl
  88. (
  89. order_quantity NUMBER(5) CONSTRAINT order_quantity_nn NOT NULL,
  90. order_id CONSTRAINT REFERENCES order_tbl(order_id),
  91. delivery_id CONSTRAINT REFERENCES delivery_tbl(delivery_id),
  92. product_id CONSTRAINT REFERENCES product_tbl(product_id),
  93. CONSTRAINT order_item_tbl_pk PRIMARY KEY (order_id, delivery_id, product_id)
  94. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement