Order Database PDF
Order Database PDF
ER-Diagram:
SCHEMA:
Table Creation:
SALESMAN
CREATE TABLE SALESMAN(
SALESMAN_ID INTEGER PRIMARY KEY,
NAME VARCHAR(10) NOT NULL,
CITY VARCHAR(15) NOT NULL,
COMMISSION NUMERIC(5,2)
);
CUSTOMER
CREATE TABLE CUSTOMER(
CUSTOMER_ID INTEGER PRIMARY KEY,
CUST_NAME VARCHAR(10) NOT NULL,
CITY VARCHAR(10) NOT NULL,
GRADE INTEGER NOT NULL,
SALESMAN_ID INTEGER,
FOREIGN KEY (SALESMAN_ID) REFERENCES SALESMAN(SALESMAN_ID) ON DELETE SET NULL
);
ORDERS
CREATE TABLE ORDERS(
ORD_NO INTEGER PRIMARY KEY,
PURCHASE_AMT INTEGER NOT NULL,
ORD_DATE DATE NOT NULL,
CUSTOMER_ID INTEGER REFERENCES CUSTOMER(CUSTOMER_ID),
SALESMAN_ID INTEGER,
FOREIGN KEY (SALESMAN_ID) REFERENCES SALESMAN(SALESMAN_ID) ON DELETE CASCADE
);
Values for tables
SELECT COUNT(CUSTOMER_ID)
FROM CUSTOMER
WHERE GRADE > (SELECT AVG (GRADE)
FROM CUSTOMER
WHERE CITY = 'BENGALURU');
COUNT(CUSTOMER_ID)
2. Find the name and numbers of all salesmen who had more than one customer.
NAME COUNT(CUSTOMER_ID)
ASHWIN 2
RAJ 2
3. List all salesmen and indicate those who have and don’t have customers in their
cities (Use UNION operation.)
(SELECT NAME
FROM SALESMAN S, CUSTOMER C
WHERE S.SALESMAN_ID=C.SALESMAN_ID AND
S.CITY=C.CITY)
UNION
(SELECT NAME
FROM SALESMAN
WHERE SALESMAN_ID NOT IN(SELECT S1.SALESMAN_ID
FROM SALESMAN S1, CUSTOMER C1
WHERE S1.SALESMAN_ID=C1.SALESMAN_ID
AND S1.CITY=C1.CITY));
NAME
RAJ
ASHWIN
BINDU
LAVANYA
ROHIT
4. Create a view that finds the salesman who has the customer with the highest
order of a day.
SALESMAN_ID PURCHASE_AMT
1000 200000
5. Demonstrate the DELETE operation by removing salesman with id 1000. All his
orders must also be deleted.
BEFORE DELETION
AFTER DELETION