Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions DDL.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
DROP TABLE ORDER_ITEMS;

DROP TABLE PRODUCTS;

DROP TABLE ORDERS;

DROP TABLE CATEGORIES;

DROP TABLE CUSTOMERS;

--Create the Customers table
CREATE TABLE CUSTOMERS(
CUSTOMER_ID NUMBER PRIMARY KEY,
FIRST_NAME VARCHAR(30),
LAST_NAME VARCHAR(30),
EMAIL VARCHAR(30) UNIQUE,
PHONE_NUMBER VARCHAR(20),
ADDRESS VARCHAR(40)
);

-- Create the Categories table
CREATE TABLE CATEGORIES (
CATEGORY_ID NUMBER PRIMARY KEY,
CATEGORY_NAME VARCHAR2(50)
);

-- Create the Orders table
CREATE TABLE ORDERS (
ORDER_ID NUMBER PRIMARY KEY,
CUSTOMER_ID NUMBER,
ORDER_DATE DATE,
TOTAL_PRICE NUMBER(10, 2),
FOREIGN KEY (CUSTOMER_ID) REFERENCES CUSTOMERS(CUSTOMER_ID) ON DELETE CASCADE
);

--Create the Products table
CREATE TABLE PRODUCTS (
PRODUCT_ID NUMBER PRIMARY KEY,
PRODUCT_NAME VARCHAR2(30),
PRICE NUMBER(10, 2),
DESCRIPTION VARCHAR2(100),
CATEGORY_ID NUMBER,
FOREIGN KEY (CATEGORY_ID) REFERENCES CATEGORIES(CATEGORY_ID) ON DELETE CASCADE
);

--Create the Order_Items table
CREATE TABLE ORDER_ITEMS (
ORDER_ID NUMBER,
PRODUCT_ID NUMBER,
QUANTITY NUMBER,
UNIT_PRICE NUMBER(10, 2) CHECK(UNIT_PRICE > 0),
PRIMARY KEY (ORDER_ID, PRODUCT_ID),
FOREIGN KEY (ORDER_ID) REFERENCES ORDERS(ORDER_ID) ON DELETE CASCADE,
FOREIGN KEY (PRODUCT_ID) REFERENCES PRODUCTS(PRODUCT_ID) ON DELETE CASCADE
);

--showing the attributes of all the tables
DESC CUSTOMERS;

DESCRIBE CATEGORIES;

DESC ORDERS;

DESC ORDER_ITEMS;

--add column in the table
ALTER TABLE CATEGORIES ADD DESCRIPTION CHAR(20);

--modify domain type of a column
ALTER TABLE CATEGORIES MODIFY DESCRIPTION VARCHAR(20);

--ramane column
ALTER TABLE CATEGORIES RENAME COLUMN DESCRIPTION TO CATEGORY_DESC;

--deleting a column
ALTER TABLE CATEGORIES DROP COLUMN CATEGORY_DESC;

-- computed column
-- ALTER TABLE Orders
-- ADD total_price AS (
-- SELECT SUM(quantity * unit_price)
-- FROM Order_Items
-- WHERE order_id = Orders.order_id
-- );
Loading