0% found this document useful (0 votes)
3 views

DBMS Mini Notes

Dbms manual for exam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

DBMS Mini Notes

Dbms manual for exam
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

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';

You might also like