0% found this document useful (0 votes)
11 views2 pages

DBMS Mini Notes

Dbms manual for exam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views2 pages

DBMS Mini Notes

Dbms manual for exam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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