First Commit
This commit is contained in:
commit
d861a1a02c
36 files changed
+2996
No files matched your search
@@ -0,0 +1,144 @@
|
||||
-- (1) Categories ---
|
||||
-- DROP TABLE Categories CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE categories (
|
||||
categoryId NUMBER(8,0),
|
||||
categoryName VARCHAR2(15) NOT NULL,
|
||||
categoryCode NUMBER(6,0),
|
||||
description VARCHAR2(300),
|
||||
|
||||
CONSTRAINT Categories_CategoryID_pk PRIMARY KEY (CategoryId),
|
||||
);
|
||||
|
||||
-- (2) Customers --
|
||||
-- DROP TABLE Customers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE customers (
|
||||
customerId CHAR(5),
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
contactName VARCHAR2(30),
|
||||
contactTitle VARCHAR2(30),
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
phone VARCHAR2(24),
|
||||
fax VARCHAR2(24),
|
||||
email VARCHAR2(50),
|
||||
|
||||
CONSTRAINT Customers_CustomerId_pk PRIMARY KEY (customerId)
|
||||
);
|
||||
|
||||
-- (3) Employees --
|
||||
-- DROP TABLE Employees CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE employees (
|
||||
employeeId NUMBER(8,0),
|
||||
lastName VARCHAR2(20) NOT NULL,
|
||||
firstName VARCHAR2(10) NOT NULL,
|
||||
title VARCHAR2(30),
|
||||
titleOfCourtesy VARCHAR2(25),
|
||||
birthDate DATE,
|
||||
hireDate DATE,
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
homePhone VARCHAR2(24),
|
||||
extension VARCHAR2(4),
|
||||
notes VARCHAR2(600),
|
||||
reportsTo NUMBER(8,0),
|
||||
photograph VARCHAR2(255),
|
||||
SIN CHAR(9),
|
||||
|
||||
CONSTRAINT Employees_EmployeeId_pk PRIMARY KEY (employeeId),
|
||||
);
|
||||
|
||||
-- (4) OrderDetails --
|
||||
-- DROP TABLE OrderDetails CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE orderDetails (
|
||||
orderId NUMBER(8,0) NOT NULL,
|
||||
productId NUMBER(8,0) NOT NULL,
|
||||
unitPrice NUMBER(8,2) NOT NULL,
|
||||
quantity NUMBER(6,0) NOT NULL,
|
||||
discount NUMBER(5,2) NOT NULL,
|
||||
CONSTRAINT orderDetails_OID_PID_pk PRIMARY KEY (orderId, productId),
|
||||
);
|
||||
|
||||
-- (5) Orders --
|
||||
-- DROP TABLE Orders CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE orders (
|
||||
orderId NUMBER(8,0) NOT NULL,
|
||||
customerId CHAR(5),
|
||||
employeeId NUMBER(8,0),
|
||||
territoryId VARCHAR2(20),
|
||||
orderDate DATE,
|
||||
requiredDate DATE,
|
||||
shippedDate DATE,
|
||||
shipVia NUMBER(8,0),
|
||||
freight NUMBER(8,2),
|
||||
shipName VARCHAR2(40),
|
||||
shipAddress VARCHAR2(60),
|
||||
shipCity VARCHAR2(15),
|
||||
shipRegion VARCHAR2(15),
|
||||
shipPostalCode VARCHAR2(10),
|
||||
shipCountry VARCHAR2(15),
|
||||
|
||||
CONSTRAINT Orders_OrderId_pk PRIMARY KEY (orderId),
|
||||
);
|
||||
|
||||
-- (6) Products --
|
||||
-- DROP TABLE Products CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE products (
|
||||
productId NUMBER(8,0) NOT NULL,
|
||||
productName VARCHAR2(40) NOT NULL,
|
||||
supplierId NUMBER(8,0),
|
||||
categoryId NUMBER(8,0),
|
||||
quantityPerUnit VARCHAR2(20),
|
||||
unitPrice NUMBER(8,2),
|
||||
unitsInStock NUMBER(6,0),
|
||||
unitsOnOrder NUMBER(6,0),
|
||||
reorderLevel NUMBER(6,0),
|
||||
discontinued NUMBER(1,0) NOT NULL,
|
||||
|
||||
CONSTRAINT Products_ProductID_pk PRIMARY KEY (productId)
|
||||
);
|
||||
|
||||
-- (7) Suppliers --
|
||||
-- DROP TABLE Suppliers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE suppliers (
|
||||
supplierId NUMBER(8,0) NOT NULL,
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
contactName VARCHAR2(30),
|
||||
contactTitle VARCHAR2(30),
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
phone VARCHAR2(24),
|
||||
fax VARCHAR2(24),
|
||||
homepage VARCHAR2(200),
|
||||
|
||||
CONSTRAINT Suppliers_SupplierId_pk PRIMARY KEY (supplierId),
|
||||
);
|
||||
|
||||
-- (8) Shippers --
|
||||
-- DROP TABLE Shippers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE shippers (
|
||||
shipperId NUMBER(8,0) NOT NULL,
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
phone VARCHAR2(24),
|
||||
|
||||
CONSTRAINT Shippers_Shipper_ID_pk PRIMARY KEY (shipperId),
|
||||
);
|
||||
|
||||
SELECT table_name, 'Levi McLean' FROM user_tables
|
||||
WHERE table_name != 'HTMLDB_PLAN_TABLE';
|
||||
@@ -0,0 +1,48 @@
|
||||
CREATE TABLE test_customer (
|
||||
Id NUMBER(6,0),
|
||||
Name VARCHAR2(20)
|
||||
);
|
||||
|
||||
INSERT INTO test_Customer (Id, Name) VALUES (100,'SMITH');
|
||||
INSERT INTO test_Customer (Id, Name) VALUES (101,'JONES');
|
||||
INSERT INTO test_Customer (Id, Name) VALUES (100,'BROWN');
|
||||
|
||||
SELECT * FROM test_customer;
|
||||
|
||||
--TRUNCATE TABLE test_customer;
|
||||
DROP TABLE test_customer;
|
||||
|
||||
CREATE TABLE test_customer (
|
||||
Id NUMBER(6,0) PRIMARY KEY,
|
||||
Name VARCHAR2(20)
|
||||
);
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS test_customer;
|
||||
|
||||
CREATE TABLE test_customer (
|
||||
Id NUMBER(6,0),
|
||||
Name VARCHAR2(20),
|
||||
CONSTRAINT test_customer_Id_pk PRIMARY KEY (Id)
|
||||
);
|
||||
|
||||
-- Viewing the Data Dictionary
|
||||
SELECT table_name, num_rows FROM USER_TABLES WHERE table_name != 'HTMLDB_PLAN_TABLE';
|
||||
|
||||
-- Table Creation through Sub Queries
|
||||
CREATE TABLE cust_marketing AS
|
||||
(SELECT Id, Lastname, FirstName, City, Province FROM Customers);
|
||||
|
||||
SELECT * FROM cust_marketing;
|
||||
|
||||
-- Modify Existing Tables
|
||||
ALTER TABLE Vendors ADD Ext NUMBER(4,0);
|
||||
|
||||
ALTER TABLE VENDORS MODIFY Ext NUMBER(5,0);
|
||||
|
||||
ALTER TABLE vendors DROP COLUMN Ext;
|
||||
|
||||
|
||||
|
||||
SELECT table_name, num_rows FROM user_tables
|
||||
WHERE table_name != 'HTMLDB_PLAN_TABLE';
|
||||
@@ -0,0 +1,51 @@
|
||||
DROP TABLE test_customers;
|
||||
|
||||
CREATE TABLE test_customers (
|
||||
CustomerID NUMBER(8),
|
||||
CustName VARCHAR2(35) NOT NULL,
|
||||
CustAge NUMBER(2),
|
||||
CONSTRAINT pk_test_customers_CustomerID PRIMARY KEY(CustomerID),
|
||||
CONSTRAINT uk_test_customers_CustName UNIQUE(CustName),
|
||||
CONSTRAINT ck_test_customers_CustAge CHECK(CustAge>=16 AND CustAge<=70)
|
||||
);
|
||||
|
||||
INSERT INTO test_customers VALUES(100, 'John Smith', null);
|
||||
INSERT INTO test_customers VALUES(350, 'Mark Smith', 20);
|
||||
|
||||
SELECT * FROM test_customers;
|
||||
|
||||
CREATE TABLE test_orders (
|
||||
OrderID NUMBER(8),
|
||||
CustomerID NUMBER(8),
|
||||
OrderDate Date,
|
||||
OrderAmount NUMBER(8,2),
|
||||
CONSTRAINT pk_test_orders_OrderID PRIMARY KEY(OrderID),
|
||||
CONSTRAINT fk_test_orders_test_customers FOREIGN KEY(CustomerID) REFERENCES test_customers(CustomerID)
|
||||
);
|
||||
|
||||
INSERT INTO test_orders VALUES(1, 100, '2023-01-15', 125.3);
|
||||
INSERT INTO test_orders VALUES(2, 100, '2023-01-18', 300.3);
|
||||
|
||||
SELECT * FROM test_orders;
|
||||
SELECT * FROM test_customers c JOIN test_orders o ON c.CustomerID = o.CustomerID;
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT constraint_name, constraint_type, search_condition, table_name, 'Levi McLean' AS "Created By"
|
||||
FROM user_constraints
|
||||
WHERE table_name IN('CATEGORIES','EMPLOYEES','CUSTOMERS', 'ORDERS','ORDER_DETAILS','PRODUCTS','VENDORS','PRODUCT_VENDORS')
|
||||
AND constraint_name NOT LIKE 'SYS%'
|
||||
ORDER BY 1;
|
||||
|
||||
|
||||
|
||||
SELECT 'Customers' AS "Levi McLean's Tables", COUNT(*) AS "Row Count" FROM CUSTOMERS
|
||||
UNION
|
||||
SELECT 'Employees', COUNT(*) FROM Employees UNION
|
||||
SELECT 'Orders', COUNT(*) FROM Orders UNION
|
||||
SELECT 'Orders Details', COUNT(*) FROM OrderDetails UNION
|
||||
SELECT 'Products', COUNT(*) FROM Products UNION
|
||||
SELECT 'Categories', COUNT(*) FROM Categories UNION
|
||||
SELECT 'Shippers', COUNT(*) FROM Shippers UNION
|
||||
SELECT 'Suppliers', COUNT(*) FROM Suppliers;
|
||||
@@ -0,0 +1,162 @@
|
||||
-- (1) Customers --
|
||||
DROP TABLE Customers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE customers (
|
||||
customerId CHAR(5),
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
contactName VARCHAR2(30),
|
||||
contactTitle VARCHAR2(30),
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
phone VARCHAR2(24),
|
||||
fax VARCHAR2(24),
|
||||
email VARCHAR2(50),
|
||||
|
||||
CONSTRAINT Customers_CustomerId_pk PRIMARY KEY (customerId),
|
||||
CONSTRAINT Customers_Email_uk UNIQUE(email),
|
||||
);
|
||||
|
||||
-- (2) Employees --
|
||||
DROP TABLE Employees CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE employees (
|
||||
employeeId NUMBER(8,0),
|
||||
lastName VARCHAR2(20) NOT NULL,
|
||||
firstName VARCHAR2(10) NOT NULL,
|
||||
title VARCHAR2(30),
|
||||
titleOfCourtesy VARCHAR2(25),
|
||||
birthDate DATE,
|
||||
hireDate DATE,
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
homePhone VARCHAR2(24),
|
||||
extension VARCHAR2(4),
|
||||
notes VARCHAR2(600),
|
||||
reportsTo NUMBER(8,0),
|
||||
photograph VARCHAR2(255),
|
||||
SIN CHAR(9),
|
||||
|
||||
CONSTRAINT Employees_EmployeeId_pk PRIMARY KEY (employeeId),
|
||||
CONSTRAINT Employees_SIN_uk UNIQUE (SIN),
|
||||
CONSTRAINT Employees_ReportsTO_fk REFERENCES employees(employeeId),
|
||||
);
|
||||
|
||||
-- (3) Shippers --
|
||||
DROP TABLE Shippers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE shippers (
|
||||
shipperId NUMBER(8,0) NOT NULL,
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
phone VARCHAR2(24),
|
||||
|
||||
CONSTRAINT Shippers_Shipper_ID_pk PRIMARY KEY (shipperId),
|
||||
);
|
||||
|
||||
-- (4) Suppliers --
|
||||
DROP TABLE Suppliers CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE suppliers (
|
||||
supplierId NUMBER(8,0) NOT NULL,
|
||||
companyName VARCHAR2(40) NOT NULL,
|
||||
contactName VARCHAR2(30),
|
||||
contactTitle VARCHAR2(30),
|
||||
address VARCHAR2(60),
|
||||
city VARCHAR2(15),
|
||||
region VARCHAR2(15),
|
||||
postalCode VARCHAR2(10),
|
||||
country VARCHAR2(15),
|
||||
phone VARCHAR2(24),
|
||||
fax VARCHAR2(24),
|
||||
homepage VARCHAR2(200),
|
||||
|
||||
CONSTRAINT Suppliers_SupplierId_pk PRIMARY KEY (supplierId),
|
||||
);
|
||||
|
||||
-- (5) Categories ---
|
||||
DROP TABLE Categories CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE categories (
|
||||
categoryId NUMBER(8,0),
|
||||
categoryName VARCHAR2(15) NOT NULL,
|
||||
categoryCode NUMBER(6,0),
|
||||
description VARCHAR2(300),
|
||||
|
||||
CONSTRAINT Categories_CategoryID_pk PRIMARY KEY (categoryId),
|
||||
CONSTRAINT Categories_CategoryCode_uk UNIQUE(categoryCode),
|
||||
);
|
||||
|
||||
-- (6) Orders --
|
||||
DROP TABLE Orders CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE orders (
|
||||
orderId NUMBER(8,0) NOT NULL,
|
||||
customerId CHAR(5),
|
||||
employeeId NUMBER(8,0),
|
||||
territoryId VARCHAR2(20),
|
||||
orderDate DATE,
|
||||
requiredDate DATE,
|
||||
shippedDate DATE,
|
||||
shipVia NUMBER(8,0),
|
||||
freight NUMBER(8,2),
|
||||
shipName VARCHAR2(40),
|
||||
shipAddress VARCHAR2(60),
|
||||
shipCity VARCHAR2(15),
|
||||
shipRegion VARCHAR2(15),
|
||||
shipPostalCode VARCHAR2(10),
|
||||
shipCountry VARCHAR2(15),
|
||||
|
||||
CONSTRAINT Orders_OrderId_pk PRIMARY KEY (orderId),
|
||||
CONSTRAINT Orders_CustomerId_fk REFERENCES customers(customerId),
|
||||
CONSTRAINT Orders_EmployeeId_fk REFERENCES employees(employeeId),
|
||||
CONSTRAINT Orders_ShippedVia_fk REFERENCES shippers(shipperId),
|
||||
);
|
||||
|
||||
-- (7) Products --
|
||||
DROP TABLE Products CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE products (
|
||||
productId NUMBER(8,0) NOT NULL,
|
||||
productName VARCHAR2(40) NOT NULL,
|
||||
supplierId NUMBER(8,0),
|
||||
categoryId NUMBER(8,0),
|
||||
quantityPerUnit VARCHAR2(20),
|
||||
unitPrice NUMBER(8,2),
|
||||
unitsInStock NUMBER(6,0),
|
||||
unitsOnOrder NUMBER(6,0),
|
||||
reorderLevel NUMBER(6,0),
|
||||
discontinued NUMBER(1,0) NOT NULL,
|
||||
|
||||
CONSTRAINT Products_ProductID_pk PRIMARY KEY (productId),
|
||||
CONSTRAINT Products_UnitPrice_ck CHECK (unitPrice >= 0),
|
||||
CONSTRAINT Products_ReorderLevel_ck CHECK (reorderLevel >= 0),
|
||||
CONSTRAINT Products_Quantity_ck CHECK (quantity >= 0),
|
||||
CONSTRAINT Products_UnitsOnOrder_ck CHECK (unitsOnOrder >= 0),
|
||||
CONSTRAINT Products_SupplierId_fk REFERENCES suppliers(supplierId),
|
||||
CONSTRAINT Products_CategoryId_fk REFERENCES categories(categoryId),
|
||||
);
|
||||
|
||||
-- (8) OrderDetails --
|
||||
DROP TABLE OrderDetails CASCADE CONSTRAINTS; -- uncomment after 1st run
|
||||
|
||||
CREATE TABLE orderDetails (
|
||||
orderId NUMBER(8,0) NOT NULL,
|
||||
productId NUMBER(8,0) NOT NULL,
|
||||
unitPrice NUMBER(8,2) NOT NULL,
|
||||
quantity NUMBER(6,0) NOT NULL,
|
||||
discount NUMBER(5,2) NOT NULL,
|
||||
|
||||
CONSTRAINT orderDetails_OID_PID_pk PRIMARY KEY (orderId, productId),
|
||||
CONSTRAINT orderDetails_Discount_ck CHECK (discount >= 0 AND discount <= 1),
|
||||
CONSTRAINT orderDetails_Quantity_ck CHECK (quantity > 0),
|
||||
CONSTRAINT orderDetails_UnitPrice_ck CHECK (unitPrice >= 0),
|
||||
CONSTRAINT orderDetails_ProductId_fk REFERENCES products(productId),
|
||||
);
|
||||
|
||||
SELECT table_name, 'Levi McLean' FROM user_tables
|
||||
WHERE table_name != 'HTMLDB_PLAN_TABLE';
|
||||
Reference in new issue
Block a user