1.B> CREATE TABLE Employee (empid INT PRIMARY KEY,ename 4.
4.> CREATE TABLE AUTHOR (Author_ID INT PRIMARY KEY,Name
1.A> CREATE TABLE Student (regno VARCHAR(20) PRIMARY KEY,name VARCHAR(50),age INT,salary INT,deptno INT,FOREIGN KEY (deptno) VARCHAR(50),City VARCHAR(50),Country VARCHAR(50)); VARCHAR(50),class VARCHAR(20),bdate DATE,marks1 INT,marks2 INT,marks3 INT); REFERENCES Department(deptno)); ● CREATE TABLE PUBLISHER (Publisher_ID INT PRIMARY KEY,Name ● INSERT INTO Student (regno, name, class, bdate, marks1, marks2, marks3) ● CREATE TABLE Department (deptno INT PRIMARY KEY,dname VARCHAR(50),City VARCHAR(50),Country VARCHAR(50)); VALUES VARCHAR(50),manager_id INT,FOREIGN KEY (manager_id) ● CREATE TABLE CATEGORY (Category_ID INT PRIMARY ('S001', 'Alice', '10A', '2008-05-14', 85, 90, 88) REFERENCES Employee(empid)); KEY,Description VARCHAR(100)); SELECT * FROM Student WHERE marks1 > 80; ● INSERT INTO Department (deptno, dname, manager_id) VALUES ● CREATE TABLE CATALOG (Book_ID INT PRIMARY KEY,Title ● SELECT * FROM Student ORDER BY marks2 DESC; (1, 'HR', 101), VARCHAR(100),Author_ID INT,Publisher_ID INT,Category_ID INT,Year ● SELECT class, AVG(marks1) AS avg_marks1 ● INSERT INTO Employee (empid, ename, age, salary, deptno) VALUES INT,Price INT,FOREIGN KEY (Author_ID) REFERENCES FROM Student (101, 'Alice', 35, 60000, 1), AUTHOR(Author_ID),FOREIGN KEY (Publisher_ID) REFERENCES GROUP BY class ● SELECT empid, ename PUBLISHER(Publisher_ID),FOREIGN KEY (Category_ID) REFERENCES HAVING AVG(marks1) > 80; FROM Employee CATEGORY(Category_ID)); ● SELECT class, SUM(marks1 + marks2 + marks3) AS total_marks WHERE salary BETWEEN 10000 AND 50000; ● CREATE TABLE ORDER_DETAILS (Order_No INT,Book_ID INT,Quantity FROM Student ● SELECT e.ename, e.salary INT,PRIMARY KEY (Order_No, Book_ID),FOREIGN KEY (Book_ID) GROUP BY class; FROM Employee e REFERENCES CATALOG(Book_ID)); ● SELECT SUM(marks1 + marks2 + marks3) AS total_marks FROM Student; JOIN Department d ON e.deptno = d.deptno ● INSERT INTO AUTHOR (Author_ID, Name, City, Country) VALUES ● SELECT AVG(marks3) AS avg_marks3 FROM Student; WHERE d.dname = 'CS'; (1, 'Alice', 'New York', 'USA'), ● SELECT COUNT(*) AS student_count FROM Student WHERE class = '10A'; ● SELECT e.ename AS employee_name, d.dname AS department_name ● INSERT INTO PUBLISHER (Publisher_ID, Name, City, Country) ● SELECT * FROM Student WHERE name LIKE 'A%'; FROM Employee e VALUES ● SELECT * FROM Student WHERE marks2 BETWEEN 80 AND 90; JOIN Department d ON e.empid = d.manager_id; (1, 'Penguin', 'New York', 'USA'), ● SELECT MAX(marks1) AS max_marks1, MIN(marks1) AS min_marks1 FROM ● INSERT INTO CATEGORY (Category_ID, Description) VALUES Student; (1, 'Fiction'), BEGIN TRANSACTION; ● INSERT INTO CATALOG (Book_ID, Title, Author_ID, Publisher_ID, INSERT INTO Student (regno, name, class, bdate, marks1, marks2, marks3) 3. > CREATE TABLE PERSON (DRIVER_ID VARCHAR(20) PRIMARY Category_ID, VALUES ('S006', 'Frank', '10A', '2008-12-01', 76, 89, 85); KEY,Name VARCHAR(50),Address VARCHAR(100)); Year, Price) VALUES ROLLBACK; ● CREATE TABLE CAR (Regno VARCHAR(20) PRIMARY KEY,Model (1, 'Book A', 1, 1, 1, 2020, 500), BEGIN TRANSACTION; VARCHAR(50),Year INT); ● INSERT INTO ORDER_DETAILS (Order_No, Book_ID, Quantity) INSERT INTO Student (regno, name, class, bdate, marks1, marks2, marks3) ● CREATE TABLE ACCIDENT (Report_Number INT PRIMARY KEY,Date VALUES VALUES ('S006', 'Frank', '10A', '2008-12-01', 76, 89, 85); DATE,Location VARCHAR(100)); (1, 1, 3), COMMIT; ● CREATE TABLE OWNS (Driver_ID VARCHAR(20),Regno ● SELECT a.Author_ID, a.Name, COUNT(c.Book_ID) AS Book_Count VARCHAR(20),PRIMARY KEY (Driver_ID, Regno),FOREIGN KEY FROM AUTHOR a (Driver_ID) REFERENCES PERSON(DRIVER_ID),FOREIGN KEY (Regno) JOIN CATALOG c ON a.Author_ID = c.Author_ID 2. > CREATE TABLE SALESMAN (Salesman_id INT PRIMARY KEY,Name REFERENCES CAR(Regno)); WHERE c.Price > (SELECT AVG(Price) FROM CATALOG) VARCHAR(50),City VARCHAR(50),Commission DECIMAL(5,2)); ● CREATE TABLE PARTICIPATED (Driver_ID VARCHAR(20),Regno GROUP BY a.Author_ID, a.Name ● CREATE TABLE CUSTOMER (Customer_id INT PRIMARY KEY,Cust_Name VARCHAR(20),Report_Number INT,Damage_Amount INT,PRIMARY KEY HAVING COUNT(c.Book_ID) >= 2; VARCHAR(50),City VARCHAR(50),Grade INT,Salesman_id INT,FOREIGN KEY (Driver_ID, Regno, Report_Number),FOREIGN KEY (Driver_ID) ● SELECT a.Author_ID, a.Name, c.Title, SUM(o.Quantity) AS Total_Sales (Salesman_id) REFERENCES SALESMAN(Salesman_id)); REFERENCES PERSON(DRIVER_ID),FOREIGN KEY (Regno) REFERENCES FROM AUTHOR a ● CREATE TABLE ORDERS (Ord_No INT PRIMARY KEY,Purchase_Amt DECIMAL(10, CAR(Regno),FOREIGN KEY (Report_Number) REFERENCES JOIN CATALOG c ON a.Author_ID = c.Author_ID 2),Ord_Date DATE,Customer_id INT,Salesman_id INT,FOREIGN KEY (Customer_id) ACCIDENT(Report_Number)); JOIN ORDER_DETAILS o ON c.Book_ID = o.Book_ID REFERENCES CUSTOMER(Customer_id),FOREIGN KEY (Salesman_id) REFERENCES ● INSERT INTO PERSON (DRIVER_ID, Name, Address) VALUES GROUP BY a.Author_ID, a.Name, c.Title SALESMAN(Salesman_id)); ('D001', 'Alice', '123 Elm St'), ORDER BY Total_Sales DESC ● INSERT INTO SALESMAN (Salesman_id, Name, City, Commission) VALUES ● INSERT INTO CAR (Regno, Model, Year) VALUES LIMIT 1; (1, 'Alice', 'Bangalore', 0.15), ('R001', 'Toyota', 2015), ● UPDATE CATALOG ● INSERT INTO CUSTOMER (Customer_id, Cust_Name, City, Grade, Salesman_id) ● INSERT INTO ACCIDENT (Report_Number, Date, Location) VALUES SET Price = Price * 1.10 VALUES (1, '2002-03-15', 'Downtown'), WHERE Publisher_ID = 1; (1, 'John', 'Bangalore', 200, 1), ● INSERT INTO OWNS (Driver_ID, Regno) VALUES ● CREATE OR REPLACE FUNCTION Total_Sales_By_Author(author_id IN ● INSERT INTO ORDERS (Ord_No, Purchase_Amt, Ord_Date, Customer_id, ('D001', 'R001'), INT) Salesman_id) VALUES ● INSERT INTO PARTICIPATED (Driver_ID, Regno, Report_Number, RETURN INT IS (101, 5000, '2024-01-01', 1, 1), Damage_Amount) VALUES total_sales INT := 0; ● SELECT COUNT(*) AS Customer_Count ('D001', 'R001', 1, 5000), BEGIN FROM CUSTOMER ● UPDATE PARTICIPATED SELECT SUM(o.Quantity) WHERE Grade > ( SET Damage_Amount = 25000 INTO total_sales SELECT AVG(Grade) WHERE Regno = 'R001' AND Report_Number = 12; FROM CATALOG c FROM CUSTOMER ● INSERT INTO ACCIDENT (Report_Number, Date, Location) JOIN ORDER_DETAILS o ON c.Book_ID = o.Book_ID WHERE City = 'Bangalore'); VALUES (6, '2024-12-20', 'City Center'); WHERE c.Author_ID = author_id; ● SELECT s.Name, s.Salesman_id ● SELECT COUNT(DISTINCT o.Driver_ID) AS Total_Owners RETURN total_sales; FROM SALESMAN s FROM OWNS o EXCEPTION JOIN CUSTOMER c ON s.Salesman_id = c.Salesman_id JOIN PARTICIPATED p ON o.Regno = p.Regno WHEN NO_DATA_FOUND THEN GROUP BY s.Salesman_id, s.Name JOIN ACCIDENT a ON p.Report_Number = a.Report_Number RETURN 0; HAVING COUNT(c.Customer_id) > 1; WHERE YEAR(a.Date) = 2002; WHEN OTHERS THEN -- Salesmen with customers in their cities ● SELECT COUNT(DISTINCT p.Report_Number) AS Total_Accidents DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM); SELECT s.Name AS Salesman_Name, 'Has Customers' AS Status FROM PARTICIPATED p RETURN 0; FROM SALESMAN s JOIN CAR c ON p.Regno = c.Regno END; WHERE EXISTS ( WHERE c.Model = 'Toyota'; / SELECT 1 ● DECLARE ● DECLARE FROM CUSTOMER c total_accidents INT; author_sales INT; WHERE s.City = c.City AND s.Salesman_id = c.Salesman_id BEGIN BEGIN ) -- Attempt to count accidents in 2002 author_sales := Total_Sales_By_Author(1); UNION BEGIN DBMS_OUTPUT.PUT_LINE('Total Sales by Author 1: ' || author_sales); -- Salesmen without customers in their cities SELECT COUNT(*) END; SELECT s.Name AS Salesman_Name, 'No Customers' AS Status INTO total_accidents FROM SALESMAN s FROM ACCIDENT WHERE NOT EXISTS ( WHERE YEAR(Date) = 2002; SELECT 1 DBMS_OUTPUT.PUT_LINE('Total accidents in 2002: ' || total_accidents); FROM CUSTOMER c EXCEPTION WHERE s.City = c.City AND s.Salesman_id = c.Salesman_id WHEN NO_DATA_FOUND THEN ); DBMS_OUTPUT.PUT_LINE('No accidents found for 2002.'); CREATE VIEW Highest_Order_Salesman AS WHEN OTHERS THEN SELECT DBMS_OUTPUT.PUT_LINE('An error occurred: ' || SQLERRM); s.Salesman_id, END; s.Name AS Salesman_Name, END; c.Customer_id, c.Cust_Name AS Customer_Name, o.Ord_Date, o.Purchase_Amt FROM SALESMAN s JOIN CUSTOMER c ON s.Salesman_id = c.Salesman_id JOIN ORDERS o ON c.Customer_id = o.Customer_id WHERE o.Purchase_Amt = ( SELECT MAX(Purchase_Amt) FROM ORDERS o2 WHERE o2.Ord_Date = o.Ord_Date ); ● SELECT * FROM Highest_Order_Salesman; ALTER TABLE ORDERS DROP CONSTRAINT FK_Orders_Salesman; -- Replace with the actual FK name if necessary ALTER TABLE ORDERS ADD CONSTRAINT FK_Orders_Salesman FOREIGN KEY (Salesman_id) REFERENCES SALESMAN(Salesman_id) ON DELETE CASCADE; ● DELETE FROM SALESMAN WHERE Salesman_id = 1000; 6.> CREATE TABLE BOOK (Book_ID INT PRIMARY KEY,Title 7.>CREATE TABLE EMPLOYEE (SSN INT PRIMARY KEY,Name VARCHAR(100),Publisher_Name VARCHAR(100),Pub_Year INT); VARCHAR(50),Address VARCHAR(100),Sex CHAR(1),Salary ● CREATE TABLE BOOK_AUTHORS (Book_ID INT,Author_Name INT,SuperSSN INT,DNo INT,FOREIGN KEY (DNo) REFERENCES VARCHAR(100),PRIMARY KEY (Book_ID, Author_Name),FOREIGN KEY DEPARTMENT(DNo)); (Book_ID) REFERENCES BOOK(Book_ID)); ● CREATE TABLE DEPARTMENT (DNo INT PRIMARY KEY,DName ● CREATE TABLE PUBLISHER (Name VARCHAR(100) PRIMARY VARCHAR(50),MgrSSN INT,MgrStartDate DATE,FOREIGN KEY (MgrSSN) KEY,Address VARCHAR(200),Phone VARCHAR(15)); REFERENCES EMPLOYEE(SSN)); ● CREATE TABLE BOOK_COPIES (Book_ID INT,Branch_ID ● CREATE TABLE DLOCATION (DNo INT,DLoc VARCHAR(100),PRIMARY INT,No_of_Copies INT,PRIMARY KEY (Book_ID, Branch_ID),FOREIGN KEY (DNo, DLoc),FOREIGN KEY (DNo) REFERENCES KEY (Book_ID) REFERENCES BOOK(Book_ID),FOREIGN KEY (Branch_ID) DEPARTMENT(DNo)); REFERENCES LIBRARY_BRANCH(Branch_ID)); ● CREATE TABLE PROJECT (PNo INT PRIMARY KEY,PName ● CREATE TABLE BOOK_LENDING (Book_ID INT,Branch_ID INT,Card_No VARCHAR(50),PLocation VARCHAR(100),DNo INT,FOREIGN KEY (DNo) INT,Date_Out DATE,Due_Date DATE,PRIMARY KEY (Book_ID, REFERENCES DEPARTMENT(DNo)); Branch_ID, Card_No),FOREIGN KEY (Book_ID) REFERENCES ● CREATE TABLE WORKS_ON (SSN INT,PNo INT,Hours INT,PRIMARY BOOK(Book_ID),FOREIGN KEY (Branch_ID) REFERENCES KEY (SSN, PNo),FOREIGN KEY (SSN) REFERENCES LIBRARY_BRANCH(Branch_ID)); EMPLOYEE(SSN),FOREIGN KEY (PNo) REFERENCES PROJECT(PNo)); ● CREATE TABLE LIBRARY_BRANCH (Branch_ID INT PRIMARY ● INSERT INTO EMPLOYEE (SSN, Name, Address, Sex, Salary, KEY,Branch_Name VARCHAR(100),Address VARCHAR(200)); SuperSSN, DNo) ● INSERT INTO BOOK (Book_ID, Title, Publisher_Name, Pub_Year) VALUES VALUES (1, 'John Scott', 'NY', 'M', 60000, NULL, 1), (1, 'Introduction to Algorithms', 'MIT Press', 2011), ● INSERT INTO DEPARTMENT (DNo, DName, MgrSSN, MgrStartDate) ● INSERT INTO BOOK_AUTHORS (Book_ID, Author_Name) VALUES VALUES (1, 'Cormen'), (1, 'Accounts', 1, '2020-01-01'), ● INSERT INTO PUBLISHER (Name, Address, Phone) VALUES ● INSERT INTO DLOCATION (DNo, DLoc) VALUES ('MIT Press', 'Boston, USA', '1234567890'), (1, 'NY'), ● INSERT INTO LIBRARY_BRANCH (Branch_ID, Branch_Name, Address) ● INSERT INTO PROJECT (PNo, PName, PLocation, DNo) VALUES VALUES (101, 'IoT', 'NY', 1), (1, 'Central Library', 'Downtown, NY'), ● INSERT INTO WORKS_ON (SSN, PNo, Hours) VALUES ● INSERT INTO BOOK_COPIES (Book_ID, Branch_ID, No_of_Copies) (1, 101, 20), VALUES ● SELECT DISTINCT p.PNo (1, 1, 3), FROM PROJECT p ● INSERT INTO BOOK_LENDING (Book_ID, Branch_ID, Card_No, JOIN DEPARTMENT d ON p.DNo = d.DNo Date_Out, LEFT JOIN EMPLOYEE e ON e.DNo = d.DNo Due_Date) VALUES WHERE e.Name LIKE '%Scott%' (1, 1, 101, '2017-01-10', '2017-01-20'), OR d.MgrSSN = (SELECT SSN FROM EMPLOYEE WHERE Name LIKE ● SELECT b.Book_ID, b.Title, b.Publisher_Name, ba.Author_Name, '%Scott%'); c.Branch_ID, ● SELECT e.Name, e.Salary * 1.10 AS New_Salary c.No_of_Copies FROM EMPLOYEE e FROM BOOK b JOIN WORKS_ON w ON e.SSN = w.SSN JOIN BOOK_AUTHORS ba ON b.Book_ID = ba.Book_ID JOIN PROJECT p ON w.PNo = p.PNo JOIN BOOK_COPIES c ON b.Book_ID = c.Book_ID; WHERE p.PName = 'IoT'; ● SELECT l.Card_No, COUNT(*) AS Total_Books ● SELECT FROM BOOK_LENDING l SUM(e.Salary) AS Total_Salary, WHERE l.Date_Out BETWEEN '2017-01-01' AND '2017-06-30' MAX(e.Salary) AS Max_Salary, GROUP BY l.Card_No MIN(e.Salary) AS Min_Salary, HAVING COUNT(*) > 3; AVG(e.Salary) AS Avg_Salary ● DELETE FROM BOOK WHERE Book_ID = 1;DELETE FROM FROM EMPLOYEE e BOOK_AUTHORS JOIN DEPARTMENT d ON e.DNo = d.DNo WHERE Book_ID = 1; WHERE d.DName = 'Accounts';SELECT DISTINCT p.PNo ● DELETE FROM BOOK_COPIES WHERE Book_ID = 1; FROM PROJECT p ● DELETE FROM BOOK_LENDING WHERE Book_ID = 1; JOIN DEPARTMENT d ON p.DNo = d.DNo ● CREATE VIEW Available_Books AS LEFT JOIN EMPLOYEE e ON e.DNo = d.DNo SELECT b.Book_ID, b.Title, SUM(c.No_of_Copies) AS Total_Copies WHERE e.Name LIKE '%Scott%' FROM BOOK b OR d.MgrSSN = (SELECT SSN FROM EMPLOYEE WHERE Name LIKE JOIN BOOK_COPIES c ON b.Book_ID = c.Book_ID '%Scott%'); GROUP BY b.Book_ID, b.Title; ● CREATE VIEW Dept_Locations AS SELECT d.DName, l.DLoc FROM DEPARTMENT d JOIN DLOCATION l ON d.DNo = l.DNo; -- Display departments located in Dharwad SELECT DName FROM Dept_Locations WHERE DLoc = 'Dharwad';
5.> CREATE TABLE STUDENT (
Regno VARCHAR(20) PRIMARY KEY,Name VARCHAR(50),Major VARCHAR(50),Bdate DATE); ● CREATE TABLE COURSE (Course INT PRIMARY KEY,Cname VARCHAR(100),Dept VARCHAR(50)); ● CREATE TABLE ENROLL (Regno VARCHAR(20),Course INT,Sem INT,Marks INT,PRIMARY KEY (Regno, Course),FOREIGN KEY (Regno) REFERENCES STUDENT(Regno),FOREIGN KEY (Course) REFERENCES COURSE(Course)); ● CREATE TABLE TEXT (Book_ISBN INT PRIMARY KEY,Book_Title VARCHAR(100),Publisher VARCHAR(100),Author VARCHAR(100)); ● CREATE TABLE BOOK_ADOPTION ( Course INT, Sem INT, Book_ISBN INT, PRIMARY KEY (Course, Sem, Book_ISBN), FOREIGN KEY (Course) REFERENCES COURSE(Course), FOREIGN KEY (Book_ISBN) REFERENCES TEXT(Book_ISBN) ); ● INSERT INTO STUDENT (Regno, Name, Major, Bdate) VALUES ('S001', 'Alice', 'CS', '2001-05-12'), ● INSERT INTO COURSE (Course, Cname, Dept) VALUES (101, 'Data Structures', 'CS'), ● INSERT INTO ENROLL (Regno, Course, Sem, Marks) VALUES ('S001', 101, 1, 85), ● INSERT INTO TEXT (Book_ISBN, Book_Title, Publisher, Author) VALUES (1111, 'Introduction to Algorithms', 'MIT Press', 'Cormen'), ● INSERT INTO BOOK_ADOPTION (Course, Sem, Book_ISBN) VALUES (101, 1, 1111), ● -- Add a new textbook INSERT INTO TEXT (Book_ISBN, Book_Title, Publisher, Author) VALUES (6666, 'Artificial Intelligence', 'McGraw Hill', 'Russell'); -- Make this book adopted by the CS department INSERT INTO BOOK_ADOPTION (Course, Sem, Book_ISBN) VALUES (102, 2, 6666); ● SELECT b.Course, t.Book_ISBN, t.Book_Title FROM BOOK_ADOPTION b JOIN TEXT t ON b.Book_ISBN = t.Book_ISBN JOIN COURSE c ON b.Course = c.Course WHERE c.Dept = 'CS' GROUP BY b.Course, t.Book_ISBN, t.Book_Title HAVING COUNT(b.Book_ISBN) > 2 ORDER BY t.Book_Title; ● SELECT DISTINCT c.Dept FROM BOOK_ADOPTION b JOIN TEXT t ON b.Book_ISBN = t.Book_ISBN JOIN COURSE c ON b.Course = c.Course WHERE t.Publisher = 'McGraw Hill';