You are on page 1of 33

RELATIONAL DATABASE MANAGEMENT SYSTEM

SALESMAN DATABASE

1. Consider the following schema for order database:


SALESMAN (Salesman_id, Name, City, Commission)
CUSTOMER (Customer_id, City, Grade, Salesman_id)
ORDERS (Ord-no, Purchase_amt,Ord_date,Customer_id)
Write SQL queries to
1. Count the customers with grades above Mysore's average.
2. Find the name and numbers of all salesman who had more than one customer.
3. List all the salesman and indicate those who have and don't have customers in
their cities (use UNION operation.)
4. Find the salesman who has the customer with the highest order of a day.
5. Demonstrate the DELETE operation by removing sales with id 5000.All his
orders must also be deleted.

create database _4nm16is128_1


use _4nm16is128_1
SALESMAN TABLE
create table SALESMAN
(
Salesman_id int,
Name varchar (20),
City varchar (20),
Commission int,
primary key (Salesman_id));
ENTRIES
insert into SALESMAN values (1,'varun','udupi', 25);
insert into SALESMAN values (2,'shameeksha','manglore', 30);
insert into SALESMAN values (3,'meghana','pune', 15);
insert into SALESMAN values (4,'chanadan','andheri', 35);
insert into SALESMAN values (5,'vijaya','banglore', 40);
select *from SALESMAN;
drop table SALESMAN
OUTPUT

Page | 1
RELATIONAL DATABASE MANAGEMENT SYSTEM

CUSTOMER TABLE
create table CUSTOMER
(
Customer_id int,
City varchar (20),
Grade char (1),
Salesman_id int,
primary key (Customer_id),
foreign key (Salesman_id) references SALESMAN(Salesman_id))
ENTRIES
insert into CUSTOMER values(10,'mysore','H',1);
insert into CUSTOMER values(15,'thane','M',2);
insert into CUSTOMER values(20,'ankola','M',3);
insert into CUSTOMER values(32,'udupi','L',4)
insert into CUSTOMER values(35,'banglore','M',5);
select *from CUSTOMER;
drop table CUSTOMER
OUTPUT

ORDERS TABLE
create table ORDERS
(
Order_no int,
Purchase_amt DECIMAL(10,2),
Order_date DATETIME,
Customer_id int,
Salesman_id int,
primary key (Order_no,Customer_id,Salesman_id),
foreign key (Salesman_id) references SALESMAN(Salesman_id),
foreign key (Customer_id) references CUSTOMER(Customer_id))

Page | 2
RELATIONAL DATABASE MANAGEMENT SYSTEM

ENTRIES
insert into ORDERS values(1023,50200.25,'2018-08-12',10,1);
insert into ORDERS values(1024,6000.75,'2018-07-10',15,2);
insert into ORDERS values(1025,75000.55,'2018-05-05',20,3);
insert into ORDERS values(1026,8000.60,'2018-08-06',32,4);
insert into ORDERS values(1027,90256.25,'2018-09-27',35,5);
select *from ORDERS;
drop table ORDERS
OUTPUT

Page | 3
RELATIONAL DATABASE MANAGEMENT SYSTEM

WRITE SQL QUERIES TO:


1.Count the customers with grades above Mysore’s average.

ENTRIES GIVEN:
insert into CUSTOMER values(10,'mysore',50.23,1000);
insert into CUSTOMER values(15,'thane',65.26,2050);
insert into CUSTOMER values(20,'mysore',89.23,3000);
insert into CUSTOMER values(32,'udupi',98.44,5000)
insert into CUSTOMER values(35,'banglore',47.23,5050);
insert into CUSTOMER values(40,'mysore',99.23,1000);

QUERY:
SELECT Grade,City into tabl1
FROM CUSTOMER as C

SELECT COUNT(*) as No_of_customers


FROM CUSTOMER
WHERE Grade >(select AVG(Grade) as AVGGRADE from tabl1
WHERE City='mysore')

SELECT COUNT(*) as No_of_customers


FROM CUSTOMER
WHERE Grade >(select AVG(Grade) from CUSTOMER where City='mysore')

OUTPUT:

Page | 4
RELATIONAL DATABASE MANAGEMENT SYSTEM

2.Find the name and numbers of all salesman who had more than one customer.

ENTRIES GIVEN:
SALESMAN:
insert into SALESMAN values (1000,'varun','mysore', 25);
insert into SALESMAN values (2050,'shameeksha','manglore', 30);
insert into SALESMAN values (3000,'meghana','pune', 15);
insert into SALESMAN values (5000,'chanadan','andheri', 35);
insert into SALESMAN values (5050,'vijaya','banglore', 40);

CUSTOMER:
insert into CUSTOMER values(10,'mysore',50.23,1000);
insert into CUSTOMER values(15,'thane',65.26,2050);
insert into CUSTOMER values(20,'mysore',89.23,3000);
insert into CUSTOMER values(32,'udupi',98.44,5000)
insert into CUSTOMER values(35,'banglore',47.23,5050);
insert into CUSTOMER values(40,'mysore',99.23,1000);

QUERY:

SELECT S.Salesman_id,COUNT(Customer_id) as No_of_customers


FROM SALESMAN AS S,CUSTOMER AS C
WHERE S.Salesman_id=C.Salesman_id
GROUP BY S.Salesman_id

OUTPUT:

3.List all the salesman and indicate those who have and don’t have customers in their
cities (use UNION operation).

Page | 5
RELATIONAL DATABASE MANAGEMENT SYSTEM

QUERY:

(SELECT S.Name
FROM SALESMAN AS S,CUSTOMER AS C
WHERE S.City=C.City) UNION
(SELECT S.Name
FROM SALESMAN AS S,CUSTOMER AS C
WHERE S.City!=C.City)

OUTPUT:

4.Find the salesman who has the customer with the highest order of a day.

ENTRIES GIVEN:
SALESMAN:
insert into SALESMAN values (1000,'varun','mysore', 25);
insert into SALESMAN values (2050,'shameeksha','manglore', 30);
insert into SALESMAN values (3000,'meghana','pune', 15);
insert into SALESMAN values (5000,'chanadan','andheri', 35);
insert into SALESMAN values (5050,'vijaya','banglore', 40);

CUSTOMER:
insert into CUSTOMER values(10,'mysore',50.23,1000);
insert into CUSTOMER values(15,'thane',65.26,2050);
insert into CUSTOMER values(20,'mysore',89.23,3000);
insert into CUSTOMER values(32,'udupi',98.44,5000)
insert into CUSTOMER values(35,'banglore',47.23,5050);
insert into CUSTOMER values(40,'mysore',99.23,1000);

Page | 6
RELATIONAL DATABASE MANAGEMENT SYSTEM

ORDERS:
insert into ORDERS values(1023,50200.25,'2018-08-12',10,1000);
insert into ORDERS values(1024,6000.75,'2018-07-10',15,2050);
insert into ORDERS values(1025,75000.55,'2018-05-05',20,3000);
insert into ORDERS values(1026,8000.60,'2018-08-06',32,5000);
insert into ORDERS values(1027,90256.25,'2018-09-27',35,5050);

QUERY:

SELECT S.Name,S.Salesman_id,MAX(O.Purchase_amt) AS No_of_Orders


FROM SALESMAN AS S,ORDERS AS O
WHERE S.Salesman_id=O.Salesman_id
GROUP BY S.Name,S.Salesman_id

OUTPUT:

Page | 7
RELATIONAL DATABASE MANAGEMENT SYSTEM

5. Demonstrate the DELETE operation by removing salesman with id 5000. All his
orders must also be deleted.

QUERY:
delete from ORDERS where Salesman_id=5000;
delete from CUSTOMER where Salesman_id=5000;
delete from SALESMAN where Salesman_id=5000;

OUTPUT:

Page | 8
RELATIONAL DATABASE MANAGEMENT SYSTEM

COMPANY DATABASE
2. EMPLOYEE (SSN, Name, Address, Sex, Salary, SuperSSN, DNo)
DEPARTMENT (DNo, DName,MgrSSN, MgrStartDate)
DLOCATION (DNo,DLoc)
PROJECT (PNo, PName, PLocation, DNo)
WORKS_ON (SSN,PNo,Hours)
Write SQL Queries to:
1. Make a list of all project numbers for projects that involve an employee whose last
name is ‘Khan’, either as a worker or as a manager of the department that controls
the project.
2. Show the resulting salaries if every employee working on the ‘SMART CITY’
project is given a 10 percent raise.
3. Find the sum of the salaries of all employees of the ‘Human Resources’ department,
as well as the maximum salary, the minimum salary, and the average salary in this
department.
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 greater than or equal to five employees, retrieve the
department number and the number of its employees who are making more than
Rs.10, 00,000.

use _4nm16is128

EMPLOYEE TABLE:
create table EMPLOYEE
(
SSN char(9),
Fname varchar(30),
Mint char(1),
Lname varchar(30),
Addresses varchar(30),
Sex char(1),
Salary float,
SuperSSN char(9),
DNo int,
primary key (SSN),
foreign key (SuperSSN) references EMPLOYEE(SSN),
foreign key (DNo) references DEPARTMENT(DNo));
select *from EMPLOYEE
drop table EMPLOYEE

Page | 9
RELATIONAL DATABASE MANAGEMENT SYSTEM

ENTRIES:
insert into EMPLOYEE values(123456789,'Dhwani','M','Jain','15
Street,Mysore','F',40000.00,null,null);

insert into EMPLOYEE values(333444555,'Abdul','K','Khan','98 Fire


oak,Banglore','M',1045000.00,null,null);

insert into EMPLOYEE values(456789123,'Kavya','B','Bhat','254


Vijayanagar,Banglore','F',78000.00,null,null);

insert into EMPLOYEE values(444555666,'Agustus','P','Smith','78 Stone


city,Haryana','M',100000.00,null,null);

insert into EMPLOYEE values(489756132,'Preethi','G','Shetty','156 Third


street,Manglore','F',150000.00,null,null);

insert into EMPLOYEE values(555888999,'Edward','J','Pinto','16


Rice,Houston','M',60000.00,null,null);

insert into EMPLOYEE values(754123456,'Shlok','A','Prabhu','7


Cross,Banglore','M',90000.00,null,null);

insert into EMPLOYEE values(666777888,'Anjali','K','Sharma','89


Cross,Thane','F',85000.00,null,null);

insert into EMPLOYEE values(999888777,'Ramesh','V','Narayan','3321


Hastle,Spring','M',1025000.00,null,null);

insert into EMPLOYEE values(987654321,'Jennifer','S','Wallace','291


Berry,Bellaire','F',75000.00,null,null);

UPDATED ENTRIES:

update EMPLOYEE set SuperSSN='333444555',DNo='1'where SSN=123456789;


update EMPLOYEE set SuperSSN='456789123',DNo='5'where SSN=333444555;
update EMPLOYEE set SuperSSN='555888999',DNo='4'where SSN=456789123;
update EMPLOYEE set SuperSSN='456789123',DNo='5'where SSN=444555666;
update EMPLOYEE set SuperSSN='333444555',DNo='1'where SSN=489756132;
update EMPLOYEE set SuperSSN='456789123',DNo='5'where SSN=555888999;
update EMPLOYEE set SuperSSN='555888999',DNo='4'where SSN=754123456;
update EMPLOYEE set SuperSSN='456789123',DNo='5'where SSN=666777888;
update EMPLOYEE set SuperSSN='333444555',DNo='1'where SSN=999888777;
update EMPLOYEE set SuperSSN='456789123',DNo='5'where SSN=987654321;

Page | 10
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

OUTPUT (UPDATED ENTRIES):

DEPARTMENT TABLE:
create table DEPARTMENT
(
DNo int,
DName varchar(30),
MgrStartDate DATE,
primary key (DNo))

alter table DEPARTMENT


add MgrSSN char(9) references EMPLOYEE(SSN);
select *from DEPARTMENT
drop table DEPARTMENT

Page | 11
RELATIONAL DATABASE MANAGEMENT SYSTEM

ENTREIS:
insert into DEPARTMENT values (1,'Administration','1995-01-01',null);
insert into DEPARTMENT values (4,'Research','1982-05-05',null);
insert into DEPARTMENT values (5,'Human Resources','1981-06-19',null);

UPDATED ENTRIES:
update DEPARTMENT set MgrSSN=456789123 where DName='Human Resources';
update DEPARTMENT set MgrSSN=555888999 where DName='Research';
update DEPARTMENT set MgrSSN=333444555 where DName='Administration';

OUTPUT:

OUTPUT (UPDATED ENTRIES):

DELOCATION TABLE:
create table DLOCATION
(
DNo int,
Dloc varchar(30),
primary key (Dno,DLoc),
foreign key(DNo) references DEPARTMENT(DNo))
select *from DLOCATION
drop table DLOCATION

ENTRIES:

Page | 12
RELATIONAL DATABASE MANAGEMENT SYSTEM

insert into DLOCATION values (1,'BANGLORE');


insert into DLOCATION values (4,'MYSORE');
insert into DLOCATION values (5,'MANGLORE');

OUTPUT:

PROJECT TABLE:
create table PROJECT
(
PNo int,
PName varchar(30),
PLocation varchar(30),
DNo int,
primary key(PNo),
foreign key (DNo) references DEPARTMENT(DNo));
select *from PROJECT
drop table PROJECT

ENTRIES:
insert into PROJECT values (100,'BIG DATA','BANGLORE',4);
insert into PROJECT values (101,'SMART CITY','MYSORE',5);
insert into PROJECT values (102,'SENSOR','MANGLORE',1);
insert into PROJECT values (103,'IOT','BANGLORE',5);
insert into PROJECT values (104,'GRAPHICS','MYSORE',1);
insert into PROJECT values (105,'CLOUD COMPUTING','BANGLORE',5);

OUTPUT:

Page | 13
RELATIONAL DATABASE MANAGEMENT SYSTEM

WORKS_ON TABLE:
create table WORKS_ON
(
Hourss DECIMAL(3,2),
PNo int,
SSN char(9),
primary key(SSN,PNo),
foreign key (SSN) references EMPLOYEE (SSN),
foreign key (PNo) references PROJECT(PNo))
select *from WORKS_ON
drop table WORKS_ON

ENTRIES:
insert into WORKS_ON values(5.5,100,'489756132');
insert into WORKS_ON values(6.0,101,'123456789');
insert into WORKS_ON values(2.2,102,'333444555');
insert into WORKS_ON values(8.0,103,'666777888');
insert into WORKS_ON values(3.5,104,'754123456');
insert into WORKS_ON values(9.3,101,'333444555');
insert into WORKS_ON values(2.0,103,'444555666');
insert into WORKS_ON values(1.3,105,'555888999');
insert into WORKS_ON values(5.2,104,'123456789');
insert into WORKS_ON values(9.5,101,'489756132');
insert into WORKS_ON values(2.8,105,'987654321');
insert into WORKS_ON values(3.4,102,'444555666');

OUTPUT:

Page | 14
RELATIONAL DATABASE MANAGEMENT SYSTEM

QUERIES:
1. Make a list of all project numbers for projects that involve an employee whose last
name is ‘Khan’, either as a worker or as a manager of the department that controls
the project.

(SELECT DISTINCT P.PNo


FROM PROJECT AS P,DEPARTMENT AS D,EMPLOYEE AS E
WHERE E.DNo=D.DNo AND D.MgrSSN=E.SSN AND E.Lname='Khan')
UNION
(SELECT DISTINCT P1.PNo
FROM PROJECT AS P1,WORKS_ON AS W,EMPLOYEE AS E1
WHERE P1.PNo=W.PNo AND E1.SSN=W.SSN AND E1.Lname='Khan');

OUTPUT:

2. Show the resulting salaries if every employee working on the ‘SMART CITY’ project
is given a 10 percent raise.

SELECT E.Fname,E.Lname,1.1*E.Salary AS INCR_SAL


FROM PROJECT AS P,EMPLOYEE AS E,WORKS_ON AS W
WHERE E.SSN=W.SSN AND W.PNo=P.PNo AND P.PName='SMART CITY';

OUTPUT:

3. Find the sum of the salaries of all employees of the ‘Human Resources’ department,
as well as the maximum salary, the minimum salary, and the average salary in this
department.

Page | 15
RELATIONAL DATABASE MANAGEMENT SYSTEM

SELECT SUM(E.Salary),MAX(E.Salary),MIN(E.Salary),AVG(E.Salary)
FROM EMPLOYEE AS E,DEPARTMENT AS D
WHERE E.DNo=D.DNo AND D.DName='Human Resources';

OUTPUT:

6. For each department that has greater than or equal to five employees, retrieve the
department number and the number of its employees who are making more than
Rs.10, 00,000.

SELECT D.DNo,COUNT(*)
FROM DEPARTMENT AS D,EMPLOYEE AS E
WHERE D.DNo=E.DNo AND Salary>1000000.00 AND
E.DNo IN(SELECT DNo
FROM EMPLOYEE
GROUP BY DNo
HAVING COUNT(*)>=5)
GROUP BY D.DNo;

OUTPUT:

Page | 16
RELATIONAL DATABASE MANAGEMENT SYSTEM

LIBRARY DATABASE
3.Consider the following schema for a Library Database:
BOOK(Book_id,Title,Publisher_Name,Pub_Year)
BOOK_AUTHORS(Book_id,Author_Name)
PUBLISHER(Name,Address,Phone)
BOOK_COPIES(Book_id,Branch_id,No_of_Copies)
BOOK_LENDING(Book_id,Branch_id,Card_No,Date_Out,Due_Date)
LIBRARY_BRANCH(Branch_id,Branch_Name,Address)
Write SQL queries to:
1.Retrieve details of all books in the library-id,title,name of publisher,authors,number
of copies in each branch,etc.
2.Get the particulars of borrowers who have borrowed more than 4 books,but from Jan
2018 to April 2018.
3.Retrieve the name of the library branch which has more than 10 copies of Book
named “Fundamentals of Database Systems”.
4.Write a stored procedure to update the number of copies of a particular book.
5.Create view of all books and its number of copies that are currently available in
Library.

create database _4nm16is128_1


use _4nm16is128_1

BOOK TABLE:

create table BOOK


(Book_id int,
Title varchar(30),
Publisher_Name varchar(30),
Pub_Year Date,
primary key (Book_id),
foreign key (Publisher_Name) references PUBLISHER(Name))
select *from BOOK
drop table BOOK

ENTRIES:
insert into BOOK values(1005,'Fundamental database system','Arpitha K','2007-08-19');
insert into BOOK values(1010,'Fault in our Stars','ALice Lorin','2016-05-05');
insert into BOOK values(1023,'Its all in Planets','Meghana v','2011-10-02');
insert into BOOK values(1025,'The English Teacher','Cello House','1998-08-27');
insert into BOOK values(1078,'Harry Potter Part-2','Seven Brothers','2000-04-01');
insert into BOOK values(1086,'Microprocessor','Augustus Mcli','2002-03-15');

Page | 17
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

BOOK_AUTHORS TABLE:
create table BOOK_AUTHORS
(
Book_id int,
Author_Name varchar(30),
primary key (Book_id,Author_Name),
foreign key(Book_id) references BOOK(Book_id))
select *from BOOK_AUTHORS
drop table BOOK_AUTHORS

ENTRIES:

insert into BOOK_AUTHORS values(1005,'Ramez Elmasri');


insert into BOOK_AUTHORS values(1010,'John Green');
insert into BOOK_AUTHORS values(1023,'Preethi Shenoy');
insert into BOOK_AUTHORS values(1025,'R K Narayan');
insert into BOOK_AUTHORS values(1078,'J K Rowling');
insert into BOOK_AUTHORS values(1086,'Douglas V Hall');

OUTPUT:

PUBLISHER TABLE:
create table PUBLISHER
(
Name varchar(30),
Addresses varchar(30),

Page | 18
RELATIONAL DATABASE MANAGEMENT SYSTEM

Phone char(10),
primary key(Name))
select*from PUBLISHER
drop table PUBLISHER

ENTRIES:

insert into PUBLISHER values('Arpitha K','156 Cross FloatWood',9449089435);


insert into PUBLISHER values('Meghana V','56 Street Banglore',9482256781);
insert into PUBLISHER values('ALice Lorin','19 Street Mysore',9441187735);
insert into PUBLISHER values('Cello House','8 Fire wood Shivmogga',8995674213);
insert into PUBLISHER values('Seven Brothers','98 Manhattan New York',2235698742);
insert into PUBLISHER values('Augustus Mcli','45 Cross America',3365981124);

OUTPUT:

BOOK_COPIES TABLE:

create table BOOK_COPIES


(
Book_id int,
Branch_id char(10),
No_of_Copies int,
primary key(Book_id,Branch_id),
foreign key(Book_id)references BOOK(Book_id),
foreign key(Branch_id)references LIBRARY_BRANCH(Branch_id)
);
Select * from BOOK_COPIES
drop table BOOK_COPIES

ENTRIES:
insert into BOOK_COPIES values(1010,456789,12);
insert into BOOK_COPIES values(1005,123456,15);
insert into BOOK_COPIES values(1025,555696,9);
insert into BOOK_COPIES values(1023,789256,10);
insert into BOOK_COPIES values(1078,112899,23);
insert into BOOK_COPIES values(1086,856223,7);

Page | 19
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

BOOK_LENDING TABLE:

create table BOOK_LENDING


(
Book_id int,
Branch_id char(10),
Card_no varchar(10),
Date_Out date,
Due_Date date,
primary key(Book_id,Branch_id,Card_no),
foreign key(Book_id)references BOOK(Book_id),
foreign key(Branch_id)references LIBRARY_BRANCH(Branch_id)
);
Select * from BOOK_LENDING
drop table BOOK_LENDING

ENTRIES:

insert into BOOK_LENDING values(1005,123456,11,'2017-02-02','2017-03-08');


insert into BOOK_LENDING values(1010,456789,15,'2018-01-01','2018-04-01');
insert into BOOK_LENDING values(1025,555696,19,'2016-06-06','2016-08-03');
insert into BOOK_LENDING values(1023,789256,20,'2017-02-01','2017-05-05');
insert into BOOK_LENDING values(1078,112899,21,'2018-04-01','2018-06-08');
insert into BOOK_LENDING values(1086,856223,25,'2018-08-19','2018-10-19');

OUTPUT:

Page | 20
RELATIONAL DATABASE MANAGEMENT SYSTEM

LIBRARY_BRANCH TABLE:

create table LIBRARY_BRANCH


(
Branch_id char(10),
Branch_Name varchar(20),
Addresss varchar(30),
primary key(Branch_id)
);
Select * from LIBRARY_BRANCH
drop table LIBRARY_BRANCH

ENTRIES:
insert into LIBRARY_BRANCH values(123456,'Social Department','8 cross Banglore');
insert into LIBRARY_BRANCH values(456789,'Department of Fictions','5 street Mysore');
insert into LIBRARY_BRANCH values(789256,'Science and Fiction','889 crosswood
Nasik');
insert into LIBRARY_BRANCH values(555696,'Readers Corner','69 mains Newyork');
insert into LIBRARY_BRANCH values(112899,'Fictional Diary','23 Firestroke Banglore');
insert into LIBRARY_BRANCH values(856223,'Writers Choice','852 oak Manglore');

OUTPUT:

QUERY 1:

SELECT
B.Book_id,B.Title,B.Publisher_Name,A.Author_Name,C.No_of_Copies,L.Branch_id
FROM BOOK AS B,BOOK_AUTHORS AS A,BOOK_COPIES AS
C,LIBRARY_BRANCH AS L
WHERE B.Book_id=A.Book_id AND B.Book_id=C.Book_id AND
L.Branch_id=C.Branch_id;

Page | 21
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

QUERY 2:
SELECT Card_no,COUNT(*)
FROM BOOK_LENDING
WHERE DATE_OUT BETWEEN'2016-06-06' AND '2016-08-03'
GROUP BY Card_no
HAVING COUNT(*)=1;

OUTPUT:

QUERY 3:
SELECT Branch_name
FROM LIBRARY_BRANCH AS L,BOOK_COPIES AS C,BOOK AS B
WHERE L.Branch_id=C.Branch_id AND B.Book_id=C.Book_id AND C.No_of_Copies>10
AND B.Title='Fundamental database system'

OUTPUT:

QUERY 5:

Create View V_BOOK AS


SELECT B.Book_id,B.Title,C.No_of_Copies
FROM BOOK_COPIES AS C,BOOK AS B,LIBRARY_BRANCH AS L
WHERE B.Book_id=C.Book_id AND L.Branch_id=C.Branch_id

Page | 22
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

Page | 23
RELATIONAL DATABASE MANAGEMENT SYSTEM

MOVIE DATABASE

ACTOR (Act_id, Act_name, Act_gender)


DIRECTOR (Dir_id, Dir_name, Dir_phone)
MOVIES (Mov_id, Mov_title, Mov_year, Mov_lang, Dir_id)
MOVIE_CAST (Act_id, Mov_id, Role)
RATING (Mov_id, Rev_stars)
Write SQL queries to
1. Find the movie names where one or more actors acted in two or more movies.
2. List all actors who acted in a movie before 2000 and also in a movie after 2017.
3. 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.
4. Update rating of all movies directed by ‘Subhash Ghai’ to 5 except for the
movies released in the year 1998.
5. Using cursor display details of all the movies in the database.

use _4nm16is128_1

ACTOR TABLE:

create table ACTOR


(Act_id int,
Act_name varchar(30),
Act_gender char(1),
primary key(Act_id))
select*from ACTOR

ENTRIES:

insert into ACTOR values(456,'Chadwick Boseman','M');


insert into ACTOR values(123,'Robert Downey Jr','M');
insert into ACTOR values(896,'Scarlett','F');
insert into ACTOR values(786,'Akshay Kumar','M');
insert into ACTOR values(222,'Sonakshi Sinha','F');
insert into ACTOR values(555,'Deepika Padukon','F');

Page | 24
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

DIRECTOR TABLE:
create table DIRECTOR
(
Dir_id int,
Dir_name varchar(30),
Dir_phone char(10),
primary key (Dir_id))
select *from DIRECTOR

ENTRIES:

insert into DIRECTOR values(10,'Rajkumar Hirani',9876543211);


insert into DIRECTOR values(20,'Subhash Ghai',9876543212);
insert into DIRECTOR values(30,'James Gunn',9876543233);
insert into DIRECTOR values(40,'Ryan Coogler',9638527412);

OUTPUT:

MOVIE TABLE:

create table MOVIES


(
Mov_id int,
Mov_title varchar(30),
Mov_year int,
Mov_language varchar(20),
Dir_id int,

Page | 25
RELATIONAL DATABASE MANAGEMENT SYSTEM

primary key(Mov_id),
foreign key (Dir_id) references DIRECTOR(DIr_id))
select *from MOVIES

ENTRIES:

insert into MOVIES values(789,'Black Panther',2017,'English',40);


insert into MOVIES values(236,'Gabbar is Back',2000,'Hindi',20);
insert into MOVIES values(129,'Baby',1998,'Hindi',20);
insert into MOVIES values(333,'Civil War',2018,'English',30);
insert into MOVIES values(999,'3 Idiots',2015,'Hindi',10);
insert into MOVIES values(777,'Deapool',1995,'English',40);

OUTPUT:

MOVIECAST TABLE:

create table MOVIE_CAST


(
Act_id int,
Mov_id int,
Roles varchar(20),
primary key(Act_id,Mov_id),
foreign key (Act_id) references ACTOR(Act_id),
foreign key (Mov_id) references MOVIES(Mov_id))
select *from MOVIE_CAST

ENTRIES:

insert into MOVIE_CAST values(456,789,'Hero');


insert into MOVIE_CAST values(896,789,'Heroin');
insert into MOVIE_CAST values(786,236,'Hero');
insert into MOVIE_CAST values(222,236,'Heroin');
insert into MOVIE_CAST values(786,129,'Hero');
insert into MOVIE_CAST values(555,129,'Heroin');
insert into MOVIE_CAST values(123,333,'Hero');

Page | 26
RELATIONAL DATABASE MANAGEMENT SYSTEM

insert into MOVIE_CAST values(456,333,'Villain');


insert into MOVIE_CAST values(123,999,'Hero');
insert into MOVIE_CAST values(896,777,'Heroin');
insert into MOVIE_CAST values(456,777,'Hero');

OUTPUT:

RATING TABLE:
create table RATING
(
Mov_id int,
Rev_stars float,
primary key (Mov_id),
foreign key (Mov_id) references MOVIES(Mov_id))
select *from RATING

ENTRIES:

insert into RATING values(789,4.5);


insert into RATING values(236,3.0);
insert into RATING values(129,4.0);
insert into RATING values(333,4.7);
insert into RATING values(999,4.2);
insert into RATING values(777,4.8);

Page | 27
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

QUERIES:

1.
SELECT Mov_title
FROM MOVIES
WHERE Mov_id IN(
SELECT Mov_id
FROM Movie_cast
WHERE Act_id IN(
SELECT Act_id
FROM ACTOR
WHERE Act_id IN(
SELECT Act_id
FROM MOVIE_CAST GROUP BY Act_id
HAVING COUNT (Act_id)>2)));

OUTPUT:

2.
SELECT A.Act_name,C.Mov_title,C.Mov_year
FROM ACTOR AS A,MOVIE_CAST AS B,MOVIES AS C
WHERE A.Act_id=B.Act_id AND B.Mov_id=C.Mov_id AND C.Mov_year NOT
BETWEEN 2000 and 2017;

Page | 28
RELATIONAL DATABASE MANAGEMENT SYSTEM

OUTPUT:

Page | 29
RELATIONAL DATABASE MANAGEMENT SYSTEM

5)Consider the following schema for a college database


STUDENT (snum,sname,major,level,age,addr)
CLASS(cname,room,fid)
ENROLLED(snum,cname)
FACULTY(fid,fname,deptid)

 Find the names of all Juniors(level=JR) who are enrolled in a class taught
by John
 Print the level and the average age of students for that level,for each level
 Display the details of all faculties who teach more than two course
 Create an assertion on the database such that every student must be
enrolled for atleast two courses
 Create a trigger that is fired after insertion of a new student and stores
the details of the new student in a separate table, if the new student is
from Banglore

use 4nm16is128_1

STUDENT TABLE
create table STUDENT(
snum varchar(10),
sname varchar(20),
major varchar(20),
level_ int,
age int,
saddr varchar(50),
primary key(snum));

drop table STUDENT;

FACULTY TABLE
create table FACULTY(
fid int,
fname varchar(20),

Page | 30
RELATIONAL DATABASE MANAGEMENT SYSTEM

deptid int,
primary key(fid));

CLASS TABLE
create table CLASS(
cname varchar(20),
room varchar(10),
fid int,
primary key(cname),
foreign key(fid) references FACULTY(fid));

drop table CLASS;

ENROLLED TABLE
create table ENROLLED(
snum varchar(10),
cname varchar(20),
primary key(snum,cname),
foreign key(snum) references STUDENT(snum),
foreign key(cname) references CLASS(cname));

drop table ENROLLED;

STUDENT ENTRIES:
insert into STUDENT
values('16IS041','John','Computers',3,20,'Malleshwaram,Bangalore');
insert into STUDENT values('16IS042','Franklin','Electronics',2,19,'Brooklyn,New
York');
insert into STUDENT
values('16IS043','Michael','Automobile',1,18,'Detroit,Chicago');
insert into STUDENT values('16IS044','Trevor','Commerce',1,21,'Houston,Texas');
insert into STUDENT values('16IS045','Wade','Data Analytics',2,20,'Grove Street,San
Andreas');

CLASS ENTRIES:
insert into CLASS values('Algorithms','LC500',001);
insert into CLASS values('Digital Systems','LC505',002);
insert into CLASS values('Comburstion Engines','LC503',003);

Page | 31
RELATIONAL DATABASE MANAGEMENT SYSTEM

insert into CLASS values('Economics','LC308',004);


insert into CLASS values('Hadoop','LC300',005);
insert into CLASS values('Machine Learning','LH100',001);

FACULTY ENTRIES:
insert into FACULTY values(001,'Robert Downey',2012);
insert into FACULTY values(002,'Benedict Cumberbatch',2212);
insert into FACULTY values(003,'Tom Holland',2452);
insert into FACULTY values(004,'Chris Evans',2114);
insert into FACULTY values(005,'Chris Hemsworth',2622);

OUTPUTS;

Page | 32
RELATIONAL DATABASE MANAGEMENT SYSTEM

QUERIES:
1.
SELECT S.sname
FROM STUDENT as S,STUDENT as D
WHERE S.level_< D.level_ and D.sname like 'John';

OUTPUT:

2.
SELECT level_,avg(age)
FROM STUDENT
GROUP BY level_;

OUTPUT:

3.
SELECT F.fid,F.fname
FROM FACULTY as F,CLASS as C
WHERE F.fid=C.fid
GROUP BY fname,F.fid
HAVING count(*)>=2;

OUTPUT:

Page | 33

You might also like