Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.08 KB | None | 0 0
  1. CREATE TABLE COMPANY_EMPLOYEE(
  2. SSN NUMBER(20) CONSTRAINT "EMPLOYEE_PK" PRIMARY KEY,
  3. name NVARCHAR2(50) NOT NULL,
  4. surname NVARCHAR2(50) NOT NULL,
  5. email NVARCHAR2(50) NOT NULL,
  6. street NVARCHAR2(100) NOT NULL,
  7. city NVARCHAR2(50) NOT NULL,
  8. "stnumber" NVARCHAR2(10) NOT NULL
  9. );
  10. CREATE TABLE COMPANY_TELNUMS(
  11. TelephoneNumber NVARCHAR2(50) NOT NULL,
  12. EmployeeSSN NUMBER(20) NOT NULL,
  13. CONSTRAINT "COMPANY_TELNUMS_EMPLOYEE_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_EMPLOYEE(SSN),
  14. CONSTRAINT "COMPANY_TELNUMS_PK" PRIMARY KEY(TelephoneNumber, EmployeeSSN)
  15. );
  16. CREATE TABLE COMPANY_SELLER(
  17. EmployeeSSN NUMBER(20) CONSTRAINT "COMPANY_SELLER_PK" PRIMARY KEY,
  18. WorkExperience NUMBER NOT NULL,
  19. NumberWorkPlaces NUMBER NOT NULL,
  20. CONSTRAINT "COMPANY_SELLER_EMPLOYEE_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_EMPLOYEE(SSN)
  21. );
  22. CREATE TABLE COMPANY_AGENT(
  23. EmployeeSSN NUMBER(20) CONSTRAINT "COMPANY_AGENT_PK" PRIMARY KEY,
  24. CONSTRAINT "COMPANY_AGENT_EMPLOYEE_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_EMPLOYEE(SSN)
  25. );
  26. CREATE TABLE COMPANY_AGENTMANAGER(
  27. EmployeeSSN NUMBER(20) CONSTRAINT "COMPANY_AGENTMANAGER_PK" PRIMARY KEY,
  28. CONSTRAINT "COMPANY_AGENTMANAGER_AGENT_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_AGENT(EmployeeSSN)
  29. );
  30. CREATE TABLE COMPANY_AGENTSELLER(
  31. EmployeeSSN NUMBER(20) CONSTRAINT "COMPANY_AGENTSELLER_PK" PRIMARY KEY,
  32. CONSTRAINT "COMPANY_AGENTSELLER_AGENT_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_AGENT(EmployeeSSN)
  33. );
  34. ALTER TABLE COMPANY_SELLER ADD CONSTRAINT "COMPANY_SELLER_AGENTMANAGER_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_AGENTMANAGER(EmployeeSSN)
  35. CREATE TABLE COMPANY_STORE(
  36. ID NUMBER CONSTRAINT "COMPANY_STORE_PK" PRIMARY KEY,
  37. name NVARCHAR2(50) NOT NULL,
  38. address NVARCHAR2(100) NOT NULL
  39. );
  40. ALTER TABLE COMPANY_SELLER ADD StoreID NUMBER
  41. ALTER TABLE COMPANY_SELLER ADD CONSTRAINT "COMPANY_SELLER_STORE_FK" FOREIGN KEY(StoreID) REFERENCES COMPANY_STORE(ID)
  42. CREATE TABLE COMPANY_AGENTSELLERLANGUAGES(
  43. Language NVARCHAR2(50) NOT NULL,
  44. EmployeeSSN NUMBER(20) NOT NULL,
  45. CONSTRAINT "COMPANY_AGENTSELLERLANGUAGES_PK" PRIMARY KEY(Language, EmployeeSSN),
  46. CONSTRAINT "COMPANY_AGENTSELLERLANGUAGES_AGENTSELLER_FK" FOREIGN KEY(EmployeeSSN) REFERENCES COMPANY_AGENTSELLER(EmployeeSSN)
  47. );
  48. CREATE TABLE COMPANY_CUSTOMER(
  49. SSN NUMBER(20) CONSTRAINT "CUSTOMER_PK" PRIMARY KEY,
  50. Name NVARCHAR2(60) NOT NULL,
  51. Surname NVARCHAR2(60) NOT NULL,
  52. DeliveryAddress NVARCHAR2(200) NOT NULL,
  53. TelephoneNumber NVARCHAR2(30) NOT NULL,
  54. Email NVARCHAR2(60) NOT NULL,
  55. AlternativeEmail NVARCHAR2(60) NOT NULL,
  56. PaymentType NVARCHAR2(60) NOT NULL,
  57. AgentSellerSSN NUMBER(20) NOT NULL,
  58. CONSTRAINT "COMPANY_CUSTOMER_AGENTSELLER_FK" FOREIGN KEY(AgentSellerSSN) REFERENCES COMPANY_AGENTSELLER(EmployeeSSN)
  59. );
  60. CREATE TABLE COMPANY_TALK(
  61. ID NUMBER CONSTRAINT "COMPANY_TALK_PK" PRIMARY KEY,
  62. Goal NVARCHAR2(200) NOT NULL,
  63. "Date" DATE NOT NULL,
  64. Duration NUMBER NOT NULL,
  65. AgentSellerSSN NUMBER(20) NOT NULL,
  66. CustomerSSN NUMBER(20) NOT NULL,
  67. CONSTRAINT "COMPANY_TALK_AGENTSELLER_FK" FOREIGN KEY(AgentSellerSSN) REFERENCES COMPANY_AGENTSELLER(EmployeeSSN),
  68. CONSTRAINT "COMPANY_TALK_CUSTOMER_FK" FOREIGN KEY(CustomerSSN) REFERENCES COMPANY_CUSTOMER(SSN)
  69. );
  70. CREATE TABLE COMPANY_CATEGORY(
  71. Name NVARCHAR2(50) NOT NULL,
  72. ID NUMBER CONSTRAINT "COMPANY_CATEGORY_PK" PRIMARY KEY,
  73. SupercategoryID NUMBER,
  74. CONSTRAINT "COMPANY_CATEGORY_SUPERCATEGORY_FK" FOREIGN KEY(SupercategoryID) REFERENCES COMPANY_CATEGORY(ID)
  75. );
  76. CREATE TABLE COMPANY_PRODUCT(
  77. Code NVARCHAR2(50) CONSTRAINT "COMPANY_PRODUCT_PK" PRIMARY KEY,
  78. CountryOfProduction NVARCHAR2(50) NOT NULL,
  79. Price NUMBER NOT NULL,
  80. CategoryID NUMBER NOT NULL,
  81. CONSTRAINT "COMPANY_PRODUCT_CATEGORY_FK" FOREIGN KEY(CategoryID) REFERENCES COMPANY_CATEGORY(ID)
  82. );
  83. CREATE TABLE COMPANY_STOCK(
  84. "Count" NUMBER NOT NULL,
  85. StoreID NUMBER NOT NULL,
  86. ProductCode NVARCHAR2(50) NOT NULL,
  87. CONSTRAINT "COMPANY_STOCK_PK" PRIMARY KEY(ProductCode, StoreID),
  88. CONSTRAINT "COMPANY_STOCK_STORE_FK" FOREIGN KEY(StoreID) REFERENCES COMPANY_STORE(ID),
  89. CONSTRAINT "COMPANY_STOCK_PRODUCT_FK" FOREIGN KEY(ProductCode) REFERENCES COMPANY_PRODUCT(Code)
  90. );
  91. CREATE TABLE COMPANY_CP_REVIEW(
  92. Grade NUMBER NOT NULL,
  93. "Comment" NVARCHAR2(200) NOT NULL,
  94. CustomerSSN NUMBER(20) NOT NULL,
  95. ProductCode NVARCHAR2(50) NOT NULL,
  96. CONSTRAINT "COMPANY_CP_REVIEW_PK" PRIMARY KEY(ProductCode, CustomerSSN),
  97. CONSTRAINT "COMPANY_CP_REVIEW_CUSTOMER_FK" FOREIGN KEY(CustomerSSN) REFERENCES COMPANY_CUSTOMER(SSN),
  98. CONSTRAINT "COMPANY_CP_REVIEW_PRODUCT_FK" FOREIGN KEY(ProductCode) REFERENCES COMPANY_PRODUCT(Code)
  99. );
  100. CREATE TABLE COMPANY_CS_REVIEW(
  101. Grade NUMBER NOT NULL,
  102. "Comment" NVARCHAR2(200) NOT NULL,
  103. CustomerSSN NUMBER(20) NOT NULL,
  104. StoreID NUMBER NOT NULL,
  105. CONSTRAINT "COMPANY_CS_REVIEW_PK" PRIMARY KEY(StoreID, CustomerSSN),
  106. CONSTRAINT "COMPANY_CS_REVIEW_CUSTOMER_FK" FOREIGN KEY(CustomerSSN) REFERENCES COMPANY_CUSTOMER(SSN),
  107. CONSTRAINT "COMPANY_CS_REVIEW_STORE_FK" FOREIGN KEY(StoreID) REFERENCES COMPANY_STORE(ID)
  108. );
  109. CREATE TABLE COMPANY_PURCHASE(
  110. Quantity NUMBER NOT NULL,
  111. SellerSSN NUMBER(20) NOT NULL,
  112. CustomerSSN NUMBER(20) NOT NULL,
  113. ProductCode NVARCHAR2(50) NOT NULL,
  114. CONSTRAINT "COMPANY_PURCHASE_PK" PRIMARY KEY(ProductCode, CustomerSSN, SellerSSN),
  115. CONSTRAINT "COMPANY_PURCHASE_SELLER_FK" FOREIGN KEY(SellerSSN) REFERENCES COMPANY_SELLER(EmployeeSSN),
  116. CONSTRAINT "COMPANY_PURCHASE_CUSTOMER_FK" FOREIGN KEY(CustomerSSN) REFERENCES COMPANY_CUSTOMER(SSN),
  117. CONSTRAINT "COMPANY_PURCHASE_PRODUCT_FK" FOREIGN KEY(ProductCode) REFERENCES COMPANY_PRODUCT(Code)
  118. );
  119.  
  120.  
  121.  
  122.  
  123. ALTER TABLE COMPANY_PRODUCT ADD Name NVARCHAR2(100) UNIQUE NOT NULL
  124.  
  125. ALTER TABLE COMPANY_CP_REVIEW ADD CONSTRAINT "Product_Grade_Validation" CHECK(Grade IN(1, 2, 3))
  126. ALTER TABLE COMPANY_CS_REVIEW ADD CONSTRAINT "Store_Grade_Validation" CHECK(Grade IN(1, 2, 3, 4 ,5))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement