Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. ---------------------------------
  2. -- Created by Mohit Singh
  3. -- Tested on Oracle 11g XE
  4. -- Following are the Entities : -
  5. -- 1. ADDRESS
  6. -- 2. CUSTOMER
  7. -- 3. EMPLOY
  8. -- 4. SHIP
  9. -- 5. ITEM
  10. -- 6. BILL
  11. -- 7. INVOICE
  12. -- 8. TRANSACTION
  13. ----------------------------------
  14.  
  15. -- ADDRESS TABLE
  16.  
  17. CREATE TABLE ADDRESS (
  18. ADDRESS_ID VARCHAR2(20) PRIMARY KEY,
  19. ADDRESS VARCHAR2(50) NOT NULL,
  20. CITY VARCHAR2(20) NOT NULL,
  21. PHONE VARCHAR2(10) NOT NULL,
  22. ADDRESS_TYPE VARCHAR2(8) NOT NULL,
  23. CHECK (ADDRESS_TYPE IN ('CUSTOMER', 'EMPLOY', 'SHIP')),
  24. UNIQUE (ADDRESS_ID,ADDRESS_TYPE)
  25. );
  26.  
  27. -- CUSTOMER TABLE
  28.  
  29. CREATE TABLE CUSTOMER (
  30. CUSTOMER_ID VARCHAR2(20) PRIMARY KEY,
  31. CUSTOMER_NAME VARCHAR2(50) NOT NULL,
  32. ADDRESS_TYPE VARCHAR2(8) DEFAULT 'CUSTOMER' NOT NULL,
  33. CHECK (ADDRESS_TYPE = 'CUSTOMER'),
  34. CONSTRAINT BOOK_ADDRESS_FK FOREIGN KEY (CUSTOMER_ID,ADDRESS_TYPE) REFERENCES ADDRESS(ADDRESS_ID,ADDRESS_TYPE)
  35. );
  36.  
  37. -- EMPLOY TABLE
  38.  
  39. CREATE TABLE EMPLOY (
  40. EMPLOY_ID VARCHAR2(20) PRIMARY KEY,
  41. EMPLOY_NAME VARCHAR2(50) NOT NULL,
  42. COMPANY_NAME VARCHAR2(50) NOT NULL,
  43. ADDRESS_TYPE VARCHAR2(8) DEFAULT 'EMPLOY' NOT NULL,
  44. CHECK (ADDRESS_TYPE = 'EMPLOY'),
  45. CONSTRAINT EMPLOY_ADDRESS_FK FOREIGN KEY (EMPLOY_ID,ADDRESS_TYPE) REFERENCES ADDRESS(ADDRESS_ID,ADDRESS_TYPE)
  46. );
  47.  
  48. -- SHIP TABLE
  49.  
  50. CREATE TABLE SHIP (
  51. SHIP_ID VARCHAR2(20) PRIMARY KEY,
  52. SHIP_DATE DATE NOT NULL,
  53. SHIP_VIA VARCHAR2(20) NOT NULL,
  54. TERMS VARCHAR2(50) NOT NULL,
  55. ADDRESS_TYPE VARCHAR2(8) DEFAULT 'SHIP' NOT NULL,
  56. CHECK (ADDRESS_TYPE = 'SHIP'),
  57. CONSTRAINT SHIP_ADDRESS_FK FOREIGN KEY (SHIP_ID,ADDRESS_TYPE) REFERENCES ADDRESS(ADDRESS_ID,ADDRESS_TYPE)
  58. );
  59.  
  60. -- ITEM TABLE
  61.  
  62. CREATE TABLE ITEM (
  63. ITEM_ID VARCHAR2(20) PRIMARY KEY,
  64. DESCRIPTION VARCHAR2(50) NOT NULL,
  65. PRICE NUMBER NOT NULL,
  66. STOCK NUMBER NOT NULL
  67. );
  68.  
  69. -- INVOICE TABLE
  70.  
  71. CREATE TABLE INVOICE (
  72. INVOICE_ID VARCHAR2(20) PRIMARY KEY,
  73. CUSTOMER_ID VARCHAR2(20) NOT NULL,
  74. EMPLOY_ID VARCHAR2(20) NOT NULL,
  75. INVOICE_DATE DATE NOT NULL,
  76. CONSTRAINT INVOICE_CUSTOMER_FK FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMER(CUSTOMER_ID),
  77. CONSTRAINT INVOICE_EMPLOY_FK FOREIGN KEY (EMPLOY_ID) REFERENCES EMPLOY(EMPLOY_ID)
  78. );
  79.  
  80. -- BILL TABLE
  81.  
  82. CREATE TABLE BILL (
  83. BILL_ID VARCHAR2(20) PRIMARY KEY,
  84. INVOICE_ID VARCHAR2(20) NOT NULL,
  85. SHIP_ID VARCHAR2(20) NOT NULL,
  86. BILL_DATE DATE NOT NULL,
  87. CONSTRAINT BILL_INVOICE_FK FOREIGN KEY (INVOICE_ID) REFERENCES INVOICE(INVOICE_ID),
  88. CONSTRAINT BILL_SHIP_FK FOREIGN KEY (SHIP_ID) REFERENCES SHIP(SHIP_ID)
  89. );
  90.  
  91. -- TRANSACTION TABLE
  92.  
  93. CREATE TABLE TRANSACTION (
  94. TRANSCATION_ID VARCHAR2(20) PRIMARY KEY,
  95. BILL_ID VARCHAR2(20) NOT NULL,
  96. ITEM_ID VARCHAR2(20) NOT NULL,
  97. PRICE NUMBER NOT NULL,
  98. CONSTRAINT TRANSACTION_BILL_FK FOREIGN KEY (BILL_ID) REFERENCES BILL(BILL_ID),
  99. CONSTRAINT TRANSACTION_ITEM_FK FOREIGN KEY (ITEM_ID) REFERENCES ITEM(ITEM_ID)
  100. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement