Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.80 KB | None | 0 0
  1. -- 1. Catagories
  2. DROP TABLE Categories CASCADE CONSTRAINTS;
  3. CREATE TABLE Categories
  4. (
  5. CategoryID NUMBER(8,0) NOT NULL,
  6. CategoryName VARCHAR2(15) NOT NULL,
  7. Description VARCHAR2(300),
  8. CategoryCode NUMBER(6,0),
  9. CONSTRAINT Categories_CategoryID_pk PRIMARY KEY(CategoryID),
  10. CONSTRAINT Categories_CategoryCode_UK UNIQUE (CategoryCode)
  11. );
  12.  
  13. --2. Customers
  14. DROP TABLE Customers CASCADE CONSTRAINTS;
  15. CREATE TABLE Customers
  16. (
  17. CustomerID CHAR(8) NOT NULL,
  18. CompanyName VARCHAR2(40) NOT NULL,
  19. ContactName VARCHAR2(30),
  20. ContactTitle VARCHAR2(30),
  21. Address VARCHAR2(60),
  22. City VARCHAR2(15),
  23. Region VARCHAR2(15),
  24. PostalCode VARCHAR2(10),
  25. Country VARCHAR2(15),
  26. Phone VARCHAR2(24),
  27. Fax VARCHAR2(24),
  28. Email VARCHAR2(50),
  29. CONSTRAINT Customer_CustomerID_pk PRIMARY KEY(CustomerID),
  30. CONSTRAINT Customer_Email_UK UNIQUE (Email)
  31. );
  32.  
  33. --3. Employees
  34. DROP TABLE Employees CASCADE CONSTRAINTS;
  35. CREATE TABLE Employees
  36. (
  37. EmployeeID NUMBER(8,0) NOT NULL,
  38. LastName VARCHAR(20) NOT NULL,
  39. FirstName VARCHAR(10) NOT NULL,
  40. Title VARCHAR(30),
  41. TitleOfCourtesy VARCHAR(25),
  42. BirthDate DATE,
  43. HireDate DATE,
  44. Address VARCHAR(60),
  45. City VARCHAR(15),
  46. Region VARCHAR(15),
  47. PostalCode VARCHAR(10),
  48. Country VARCHAR(15),
  49. HomePhone VARCHAR(24),
  50. Extension VARCHAR(24),
  51. Notes VARCHAR(600),
  52. Reportsto NUMBER(8,0),
  53. PhotoPath VARCHAR(255),
  54. SIN CHAR(9),
  55. CONSTRAINT Employees_EmployeeID_pk PRIMARY KEY(EmployeeID),
  56. CONSTRAINT Employees_SIN_UK UNIQUE (SIN)
  57. );
  58.  
  59. --7. Suppliers
  60. DROP TABLE Suppliers CASCADE CONSTRAINTS;
  61. CREATE TABLE Suppliers
  62. (
  63. SupplierID NUMBER(8,0) NOT NULL,
  64. CompanyName VARCHAR2(40) NOT NULL,
  65. ContactName VARCHAR2(30),
  66. ContactTitle VARCHAR2(30),
  67. Address VARCHAR2(60),
  68. City VARCHAR2(15),
  69. Region VARCHAR2(15),
  70. PostalCode VARCHAR2(10),
  71. Country VARCHAR2(15),
  72. Phone VARCHAR2(24),
  73. Fax VARCHAR2(24),
  74. HomePage VARCHAR2(200),
  75. CONSTRAINT Suppliers_SupplierID_pk PRIMARY KEY(SupplierID)
  76. );
  77.  
  78. --8. Shippers
  79. DROP TABLE Shippers CASCADE CONSTRAINTS;
  80. CREATE TABLE Shippers
  81. (
  82. ShipperID NUMBER(8,0) NOT NULL,
  83. CompanyName VARCHAR2(40) NOT NULL,
  84. Phone VARCHAR2(24),
  85. CONSTRAINT Shippers_ShippersID_pk PRIMARY KEY(ShipperID)
  86. );
  87.  
  88. --5. Orders
  89. DROP TABLE Orders CASCADE CONSTRAINTS;
  90. CREATE TABLE Orders
  91. (
  92. OrderID NUMBER(8,0) NOT NULL,
  93. CustomerID CHAR(8),
  94. EmployeeID NUMBER(8,0),
  95. TerritoryID VARCHAR2(20),
  96. OrderDate DATE,
  97. RequiredDate DATE,
  98. ShippedDate DATE,
  99. ShipVia NUMBER(8,0),
  100. Freight NUMBER(8,2),
  101. ShipName VARCHAR2(40),
  102. ShipAddress VARCHAR2(60),
  103. ShipCity VARCHAR2(15),
  104. ShipRegion VARCHAR2(15),
  105. ShipPostalCode VARCHAR2(10),
  106. ShipCountry VARCHAR2(15),
  107. CONSTRAINT Orders_OrderID_pk PRIMARY KEY(OrderID),
  108. CONSTRAINT Orders_Customers_fk FOREIGN KEY(CustomerID) REFERENCES Customers(CustomerID),
  109. CONSTRAINT Orders_Employees_fk FOREIGN KEY(EmployeeID) REFERENCES Employees(EmployeeID),
  110. CONSTRAINT Orders_Shippers_fk FOREIGN KEY(ShipVia) REFERENCES Shippers(ShipperID)
  111. );
  112.  
  113. --6. Products
  114. DROP TABLE Products CASCADE CONSTRAINTS;
  115. CREATE TABLE Products
  116. (
  117. ProductID NUMBER(8,0) NOT NULL,
  118. ProductName VARCHAR2(40) NOT NULL,
  119. SupplierID NUMBER(8,0),
  120. CategoryID NUMBER(8,0),
  121. QuantityPerUnit VARCHAR2(20),
  122. UnitPrice NUMBER(8,2),
  123. UnitsInStock NUMBER(6,0),
  124. UnitsOnOrder NUMBER(6,0),
  125. ReorderLevel NUMBER(6,0),
  126. Discontinued NUMBER(1,0) NOT NULL,
  127. CONSTRAINT Products_ProductID_pk PRIMARY KEY(ProductID),
  128. CONSTRAINT Products_UnitPrice_ck CHECK (UnitPrice >= 0),
  129. CONSTRAINT Products_ReorderLevel_ck CHECK (ReorderLevel >= 0),
  130. CONSTRAINT Products_UnitsInStock_ck CHECK (UnitsInStock >= 0),
  131. CONSTRAINT Products_UnitsOnOrder_ck CHECK (UnitsOnOrder >= 0),
  132. CONSTRAINT Products_Suppliers_fk FOREIGN KEY(SupplierID) REFERENCES Suppliers(SupplierID),
  133. CONSTRAINT Products_Categories_fk FOREIGN KEY(CategoryID) REFERENCES Categories(CategoryID)
  134. );
  135.  
  136. --4. OrderDetails
  137. DROP TABLE OrderDetails CASCADE CONSTRAINTS;
  138. CREATE TABLE OrderDetails
  139. (
  140. OrderID NUMBER(8,0) NOT NULL,
  141. ProductID NUMBER(8,0) NOT NULL,
  142. UnitPrice NUMBER(8,2) NOT NULL,
  143. Quantity NUMBER(8,0) NOT NULL,
  144. Discount NUMBER(2,2) NOT NULL,
  145. CONSTRAINT OrderDetails_OID_PID_pk PRIMARY KEY(OrderID, ProductID),
  146. CONSTRAINT OrderDetails_Discount_ck CHECK (Discount >= 0 AND Discount <= 1),
  147. CONSTRAINT OrderDetails_Quanitity_ck CHECK (Quantity > 0),
  148. CONSTRAINT OrderDetails_UnitPrice_ck CHECK (UnitPrice >= 0),
  149. CONSTRAINT OrderDetails_Products_fk FOREIGN KEY (ProductID) REFERENCES Products(ProductID),
  150. CONSTRAINT OrderDetails_Orders_fk FOREIGN KEY (OrderID) REFERENCES Orders(OrderID)
  151. );
  152.  
  153. -- Constraint Counts in Projects
  154. SELECT table_name, constraint_name, constraint_type, search_condition
  155. FROM USER_CONSTRAINTS
  156. WHERE table_name IN ('CATEGORIES','EMPLOYEES', 'ORDERS',
  157. 'ORDERDETAILS', 'SHIPPERS', 'SUPPLIERS',
  158. 'PRODUCTS', 'CUSTOMERS')
  159. AND constraint_name NOT LIKE 'SYS%'
  160. ORDER BY 1;
  161.  
  162. --EXEC dbms_stats.gather_schema_stats('Projects');
  163. --SELECT table_name, num_rows, 'Daniel Ndreca' FROM user_tables;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement