Dbms Lab
Dbms Lab
------
-----------------------------------------------------------------------------------
------
------------------------------------ PROGRAM 1
---------------------------------------
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
-- CREATION OF TABLES
-- PUBLISHER
-- BOOK
-- BOOK_AUTHORS
-- LIBRARY_BRANCH
-- BOOK_COPIES
-- BOOK_LENDING
-- PUBLISHER
-- BOOK
-- BOOK_AUTHORS
-- LIBRARY_BRANCH
-- BOOK_COPIES
-- BOOK_LENDING
INSERT INTO BOOK_LENDING VALUES(2222,11,1,'2017-01-10','2017-08-20');
INSERT INTO BOOK_LENDING VALUES(3333,22,2,'2017-07-09','2017-08-12');
INSERT INTO BOOK_LENDING VALUES(4444,55,1,'2017-04-11','2017-08-09');
INSERT INTO BOOK_LENDING VALUES(2222,11,5,'2017-08-09','2017-08-19');
INSERT INTO BOOK_LENDING VALUES(4444,33,1,'2017-06-10','2017-08-15');
INSERT INTO BOOK_LENDING VALUES(1111,11,1,'2017-05-12','2017-06-10');
INSERT INTO BOOK_LENDING VALUES(3333,22,1,'2017-07-10','2017-07-15');
-- DISPLAYING TABLES
-- BOOK
SELECT * FROM BOOK;
-- BOOK_AUTHORS
SELECT * FROM BOOK_AUTHORS;
-- PUBLISHER
SELECT * FROM PUBLISHER;
-- BOOK_COPIES
SELECT * FROM BOOK_COPIES;
-- BOOK_LENDING
SELECT * FROM BOOK_LENDING;
-- LIBRARY_BRANCH
SELECT * FROM LIBRARY_BRANCH;
-- QUERIES
-- 2) Get the particulars of borrowers who have borrowed more than 3 books,
SELECT CARD_NO
FROM BOOK_LENDING
WHERE DATE_OUT BETWEEN '2017-01-01' AND '2017-06-30'
GROUP BY CARD_NO
HAVING COUNT(*) > 3;
-- 5)Create a view of all books and its number of copies that are currently
available in
-- the Library.
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
------------------------------------ PROGRAM 2
---------------------------------------
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
-- CREATION OF TABLES
-- SALESMAN
-- CUSTOMER1
-- ORDERS
-- SALESMAN
-- CUSTOMER1
-- ORDERS
-- DISPLAYING TABLES
-- SALESMAN
SELECT * FROM SALESMAN;
-- CUSTOMER1
SELECT * FROM CUSTOMER1;
-- ORDERS
SELECT * FROM ORDERS;
-- QUERIES
-- 2) Find the name and numbers of all salesmen who had more than one
customer.
-- 3) List all salesmen and indicate those who have and don't have
customers in their cities (Use UNION operation.)
-- 4) Create a view that finds the salesman who has the customer with the
highest order of a day.
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
------------------------------------ PROGRAM 3
---------------------------------------
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
-- CREATION OF TABLES
-- ACTOR
-- DIRECTOR
-- MOVIES
-- MOVIE_CAST
-- RATING
-- ACTOR
-- DIRECTOR
-- MOVIES
-- MOVIE_CAST
-- RATING
-- DISPLAYING TABLES
-- ACTOR
SELECT * FROM ACTOR;
-- DIRECTOR
SELECT * FROM DIRECTOR;;
-- MOVIES
SELECT * FROM MOVIES;
-- MOVIE_CAST
SELECT * FROM MOVIE_CAST;
-- RATING
SELECT * FROM RATING;
-- QUERIES
SELECT MOV_TITLE
FROM MOVIES
WHERE DIR_ID IN (SELECT DIR_ID
FROM DIRECTOR
WHERE DIR_NAME = 'HITCHCOCK');
-- 2)Find the movie names where one or more actors acted in two or more
movies.
SELECT MOV_TITLE
FROM MOVIES M, MOVIE_CAST MV
WHERE M.MOV_ID=MV.MOV_ID AND ACT_ID IN(SELECT ACT_ID
FROM MOVIE_CAST GROUP BY ACT_ID
HAVING COUNT(ACT_ID)>1)
GROUP BY MOV_TITLE
HAVING COUNT(*) > 1;
-- 3)List all actors who acted in a movie before 2000 and also in a movie
after 2015 (use JOIN operation).
-- OR
-- 4) Find the title of movies and number of stars for each movie that has
at least one
-- rating and find the highest number of stars that movie received. Sort
the result by
-- movie title.
UPDATE RATING
SET REV_STARS=5
WHERE MOV_ID IN (SELECT MOV_ID FROM MOVIES
WHERE DIR_ID IN (SELECT DIR_ID
FROM DIRECTOR
WHERE DIR_NAME = 'STEVEN SPIELBERG'));
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
------------------------------------ PROGRAM 4
---------------------------------------
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
-- CREATION OF TABLES
-- STUDENT
-- SEMSEC
-- CLASS
-- SUBJECT
-- IAMARKS
-- STUDENT
-- SEMSEC
-- CLASS
-- SUBJECT
-- IAMARKS
INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1RN13CS091','10CS81','CSE8C', 15, 16, 18);
INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1RN13CS091','10CS82','CSE8C', 12, 19, 14);
INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1RN13CS091','10CS83','CSE8C', 19, 15, 20);
INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1RN13CS091','10CS84','CSE8C', 20, 16, 19);
INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1RN13CS091','10CS85','CSE8C', 15, 15, 12);
-- DISPLAYING TABLES
-- STUDENT
SELECT * FROM STUDENT;
-- SEMSEC
SELECT * FROM SEMSEC;
-- CLASS
SELECT * FROM CLASS;
-- SUBJECT
SELECT * FROM SUBJECT;
-- IAMARKS
SELECT * FROM IAMARKS;
-- QUERIES
-- 1) List all the student details studying in fourth semester 'C' section.
-- 2) Compute the total number of male and female students in each semester
and in eachsection.
-- 4) Calculate the FinalIA (average of best two test marks) and update the
corresponding table for all students.
UPDATE IAMARKS
SET FINALIA=GREATEST(TEST1+TEST2,TEST2+TEST3,TEST1+TEST3)/2;
SELECT * FROM IAMARKS;
SELECT S.USN,S.SNAME,S.ADDRESS,S.PHONE,S.GENDER,
(CASE
WHEN IA.FINALIA BETWEEN 17 AND 20 THEN 'OUTSTANDING'
WHEN IA.FINALIA BETWEEN 12 AND 16 THEN 'AVERAGE'
ELSE 'WEAK'
END) AS CAT
FROM STUDENT S, SEMSEC SS, IAMARKS IA, SUBJECT SUB
WHERE S.USN = IA.USN AND
SS.SSID = IA.SSID AND
SUB.SUBCODE = IA.SUBCODE AND
SUB.SEM = 8;
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
------------------------------------ PROGRAM 5
--------------------------------------
-----------------------------------------------------------------------------------
------
-----------------------------------------------------------------------------------
------
-- CREATION OF TABLES
-- EMPLOYEE
-- DEPARTMENT
-- ALTERING EMPLPOYEE
-- DLOCATION
-- PROJECT
-- WORKS_ON
-- EMPLOYEE
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSECE01','JOHN','SCOTT','BANGALORE','M', 450000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE01','JAMES','SMITH','BANGALORE','M', 500000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE02','HEARN','BAKER','BANGALORE','M', 700000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE03','EDWARD','SCOTT','MYSORE','M', 500000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE04','PAVAN','HEGDE','MANGALORE','M', 650000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE05','GIRISH','MALYA','MYSORE','M', 450000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSCSE06','NEHA','SN','BANGALORE','F', 800000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSACC01','AHANA','K','MANGALORE','F', 350000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSACC02','SANTHOSH','KUMAR','MANGALORE','M', 300000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSISE01','VEENA','M','MYSORE','M', 600000);
INSERT INTO EMPLOYEE (SSN, FNAME, LNAME, ADDRESS, SEX, SALARY) VALUES
('RNSIT01','NAGESH','HR','BANGALORE','M', 500000);
-- DEPARTMENT
-- DLOCATION
-- PROJECT
-- WORKS_ON
-- DISPLAYING TABLES
-- EMPLOYEE
SELECT * FROM EMPLOYEE;
-- DEPARTMENT
SELECT * FROM DEPARTMENT ;
-- DLOCATION
SELECT * FROM DLOCATION ;
-- PROJECT
SELECT * FROM PROJECT ;
-- WORKS_ON
SELECT * FROM WORKS_ON;
-- QUERIES
-- 4) Retrieve the name of each employee who works on all the projects
Controlled by department number 5
-- (use NOT EXISTS operator).
-- 5) For each department that has more than five employees, retrieve the
department number and the number of
-- its employees who are making more than Rs. 6, 00,000.
-----------------------------------------------------------------------------------
---------------------------------------
-----------------------------------------------------------------------------------
---------------------------------------
-----------------------------------------------------------------------------------
---------------------------------------
-----------------------------------------------------------------------------------
---------------------------------------
-----------------------------------------------------------------------------------
---------------------------------------
-----------------------------------------------------------------------------------
---------------------------------------
1. What is SQL?
Structured Query Language
2. What is database?
A database is a logically coherent collection of data with some inherent
meaning, representing some aspect of real world and
which is designed, built and populated with data for a specific purpose.
3. What is DBMS?
It is a collection of programs that enables user to create and maintain a
database. In other words it is general-purpose
software that provides the users with the processes of defining,
constructing and manipulating the database for various
applications.
5. Advantages of DBMS?
-> Redundancy is controlled.
-> Unauthorized access is restricted.
-> Providing multiple user interfaces.
-> Enforcing integrity constraints.
-> Providing backup and recovery.