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

PROJRCT

Uploaded by

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

PROJRCT

Uploaded by

kalsdoyipode
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 52

1] Student-Enrollment Database.

Consider the following relations:


Student (snum: integer, sname: string, major: string, level: string, age:
integer) Class (name: string, meets at: string, room: string, fid: integer)
Enrolled (snum: integer, cname: string)
Faculty (fid: integer, fname: string, deptid: integer)
Enrolled has one record per Student-class pair such that the student is
enrolled in the
class. Develop an ER schema by reverse engineering from the above
relational schema.
 Write the following queries in SQL.
 Create the above tables by properly specifying all the integrity
constraints.
 Insert at least five tuples into each table.
 Find the names of all Juniors (level-JR) who are enrolled in a class
taught by I.John.
 For each level, print the level and the average age of students for that
level.
 Find the names of students not enrolled in any class
ER-DIAGRAM

RALETIONAL SCHEMA:
STUDENT:

SNUM SNAME MAJOR LEVEL1 AGE

FACULTY:

FID FNAME DEPITD

CLASS:

CLASS MEET_AT ROOM FID

ENROLLED:

SNUM NAME
CREATE TABLE STUDENT INSERT INTO student
VALUES(101,'FRED','SCIENCE','JR',19);
INSERT INTO student VALUES(102,'JENNY','MATHS','JR',18);
INSERT INTO student VALUES(103,'JERRY','HISTORY','SR',21);
INSERT INTO student VALUES(104,'SARA','SCIENCE','SR',22);
INSERT INTO student VALUES(105,'LARA','HISTORY','JR',20);
(SNUM INT,SNAME VARCHAR(15),MAJOR VARCHAR(10),LEVEL1
VARCHAR(10),AGE INT,PRIMARY KEY(SNUM));
SELECT * FROM STUDENT;
STUDENT

SNUM SNAME MAJOR LEVEL1 AGE


101 FRED SCIENCE JR 19
102 JENNY MATHS JR 18
103 JERRY HISTORY SR 21
104 SARA SCIENCE SR 22
105 LARA HISTORY JR 20

CREATE TABLE FACULTY (FID INT,FNAME VARCHAR(15),DEPTID INT,PRIMARY


KEY(FID));

INSERT INTO FACULTY VALUES(1,'I.JHON',501);


INSERT INTO FACULTY VALUES(2,'RAMESH',502);
INSERT INTO FACULTY VALUES(3,'PRIYA',501);
INSERT INTO FACULTY VALUES(4,'POOJA',503);
INSERT INTO FACULTY VALUES(5,'SHIV',503);

SELECT * FROM FACULTY;


FACULTY

FID FNAME DEPTID


1 I.JHON 501

2 RAMESH 502

3 PRIYA 501

4 POOJA 503

5 SHIV 503

CREATE TABLE CLASS (NAME VARCHAR(15),MEET_AT VARCHAR(15),ROOM


VARCHAR(15),FID INT,PRIMARY KEY(NAME),FOREIGN KEY(FID) REFERENCES
FACULTY7(FID));

INSERT INTO CLASS VALUES('C1','ONE','R1',1);


INSERT INTO CLASS VALUES('C2','TWO','R2',1);
INSERT INTO CLASS VALUES('C3','THREE','R3',5);
INSERT INTO CLASS VALUES('C4','FOUR','R1',3);
INSERT INTO CLASS VALUES('C5','FIVE','R2',2);
SELECT * FROM CLASS;
CLASS
MEET_A ROO
NAME FID
T M

C1 ONE R1 1

C2 TWO R2 1

C3 THREE R3 5

C4 FOUR R1 3

C5 FIVE R2
2

CREATE TABLE ENROLLED(SNUM INT,NAME VARCHAR(15),PRIMARY


KEY(SNUM,NAME),FOREIGN KEY(SNUM) REFERENCES
STUDENT7(SNUM),FOREIGN KEY(NAME) REFERENCES CLASS7(NAME));

INSERT INTO ENROLLED VALUES(101,'C1');


INSERT INTO ENROLLED VALUES(101,'C4');
INSERT INTO ENROLLED VALUES(102,'C2');
INSERT INTO ENROLLED VALUES(102,'C4');
INSERT INTO ENROLLED VALUES(103,'C3');
INSERT INTO ENROLLED VALUES(103,'C4');
INSERT INTO ENROLLED VALUES(105,'C5');

SELECT * FROM ENROLLED;

ENROLLED
SNUM NAME

101 C1

101 C4

102 C2
SNUM NAME

102 C4

103 C3

103 C4

105 C5

QUERRIES
 FIND THE NAMES OF ALL JUNIOURS (LEVEL=JR) WHO ARE ENROLLED IN
ACLASS TAUEGHT BY I.JOHN
 SELECT S.SNAME FROM STUDENT S,CLASS C, ENROLLED
E,FACULTY F
 WHERE F.FNAME='I.JHON' AND S.LEVEL1='JR' AND
S.SNUM=E.SNUM AND C.NAME=E.NAME AND C.FID=F.FID;

//OUT PUT//

sname
FRED
JENNY
2] INSURANCE DATABASE
Consider the insurance database given below.
PERSON (driverid: String, name: String, address: String)
CAR (regno: String, model: String, year: Int)
ACCIDENT (repno: Int, dat: Date, location: String)
OWNS (driverid: String, regno: String)
PARTICIPATED (driverid: String, regno: String, repno: Int, damageamt: Int)
Develop an ER schema by reverse engineering from the above relational
schema.

Write the following queries in SQL.


 Create the above tables by properly specifying the integrity constraints.
 Enter at least five tuples for each relation.
 Demonstrate how you
 Update the damage amount for the car with a specific Regno in
the accident with report number 12 to 25000
 Add a new accident to the database
 Find the total number of people who owned cars that were involved in
accidents in 2002.
 Find the number of accidents in which cars belonging to a specific model
were involved.

ER-DIAGRAM
RALETIONAL SCHEMA:

PERSON
DRIVEID DNAME ADDRESS
CAR
REGNO MODEL YEAR

OWNS

DRIVEID REGNO

ACCIDENT
REPNO DAT LOCA_TION

PARTICIPATED

DRIVEID REGNO REPNO DMGAMT

CREATE TABLE PERSON(DRIVEID VARCHAR(10),DNAME VARCHAR(15),ADDRESS


VARCHAR(20),PRIMARY KEY(DRIVEID));
INSERT INTO PERSON VALUES('D1','JOHN','HUBLI');
INSERT INTO PERSON VALUES('D2','JACK','BELGAUM');
INSERT INTO PERSON VALUES('D3','FRED','DHARAWAD');
INSERT INTO PERSON VALUES('D4','PRIYA','BANGLORE');
INSERT INTO PERSON VALUES('D5','JESSY','HUBLI');
SELECT * FROM PERSON;
PERSON
DRIVEID DNAME ADDRESS

D1 JOHN HUBLI

D2 JACK BELGAUM

D3 FRED DHARAWAD

D4 PRIYA BANGLORE

D5 JESSY HUBLI

CREATE TABLE CAR(REGNO VARCHAR(10),MODEL VARCHAR(10),YEAR INT,


PRIMARY KEY(REGNO));
INSERT INTO CAR VALUES('C1','BMW',2019);
INSERT INTO CAR VALUES('C2','AUDI',2019);
INSERT INTO CAR VALUES('C3','HONDACITY',2021);
INSERT INTO CAR VALUES('C4','VOLKSWAGEN',2022);
INSERT INTO CAR VALUES('C5','AUDI',2022);
INSERT INTO CAR VALUES('C6','BMW',2021);
INSERT INTO CAR VALUES('C7','JAGUAR',2022);
UPDATE CAR SET MODEL='HONDACITY' WHERE REGNO='C2';
UPDATE CAR SET MODEL='AUDI' WHERE REGNO='C3';
SELECT * FROM CAR;
CAR
REGNO MODEL YEAR

C1 BMW 2019

C2 HONDACITY 2019

C3 AUDI 2021

C4 VOLKSWAGEN 2022

C5 AUDI 2022

C6 BMW 2021

C7 JAGUAR 2022
CREATE TABLE OWNS(DRIVEID VARCHAR(10),REGNO VARCHAR(10),FOREIGN
KEY(DRIVEID) REFERENCES PERSON(DRIVEID) ,FOREIGN KEY(REGNO)
REFERENCES CAR(REGNO),PRIMARY KEY(DRIVEID,REGNO));

INSERT INTO OWNS VALUES('D1','C1');


INSERT INTO OWNS VALUES('D1','C5');
INSERT INTO OWNS VALUES('D2','C4');
INSERT INTO OWNS VALUES('D3','C2');
INSERT INTO OWNS VALUES('D4','C3');
INSERT INTO OWNS VALUES('D5','C6');
INSERT INTO OWNS VALUES('D5','C7');

SELECT * FROM OWNS;

OWNS

DRIVEID REGNO

D1 C1

D1 C5

D2 C4

D3 C2

D4 C3

D5 C6

D5 C7
CREATE TABLE ACCIDENT(REPNO INT,DAT DATE,LOCA_TION
VARCHAR(10),PRIMARY KEY(REPNO));

INSERT INTO ACCIDENT VALUES(1,'10-JAN-23','HUBLI');


INSERT INTO ACCIDENT VALUES(2,'15-FEB-24','DHARAWAD');
INSERT INTO ACCIDENT VALUES(3,'10-MAR-23','BANGLORE');
INSERT INTO ACCIDENT VALUES(4,'18-APR-22','MYSORE');
INSERT INTO ACCIDENT VALUES(5,'20-MAY-22','BANGLORE');
INSERT INTO ACCIDENT VALUES(6,'30-JULY-23','HUBLI');
SELECT * FROM ACCIDENT;
ACCIDENT
REPNO DAT LOCA_TION

1 10-JAN-23 HUBLI

2 15-FEB-24 DHARAWAD

3 10-MAR-23 BANGLORE

4 18-APR-22 MYSORE

5 20-MAY-22 BANGLORE

6 30-JULY-23 HUBLI
CREATE TABLE PARTICIPATED(DRIVEID VARCHAR(10),REGNO
VARCHAR(10),REPNO INT,DMGAMT INT,FOREIGN KEY(DRIVEID) REFERENCES
PERSON(DRIVEID),FOREIGN KEY(REGNO) REFERENCES CAR(REGNO),FOREIGN
KEY(REPNO) REFERENCES ACCIDENT(REPNO),PRIMARY
KEY(DRIVEID,REGNO,REPNO));

INSERT INTO PARTICIPATED VALUES('D1','C1',1,10000);


INSERT INTO PARTICIPATED VALUES('D2','C4',2,12000);
INSERT INTO PARTICIPATED VALUES('D4','C3',2,10000);
INSERT INTO PARTICIPATED VALUES('D3','C2',3,15000);
SELECT * FROM PARTICIPATED ;
PARTICIPATED

DRIVEID REGNO REPNO DMGAMT

D1 C1 1 10000

D2 C4 2 12000

D4 C3 2 10000

D3 C2 3 15000

Querries:
 UPDATE PARTICIPATED SET DMGAMT=25000 WHERE REGNO='C1' AND
REPNO=1;
 SELECT * FROM PARTICIPATED ;

//OUTPUT//

DRIVEID REGNO REPNO DMGAMT

D1 C1 1 10000

D2 C4 2 12000

D4 C3 2 10000

D3 C2 3 15000
3] Movie Database. Data requirements of movie industry are captured.
 Each movie is identified by title and year of release. Each movie has
length in minutes and classified under one genres (like action, horror
etc.). Each movie has a plot outline.
 Production companies are identified by name and each has an address. A
production company produces one or more movies.
 Actors are identified by id. Other details like name and date of birth of
actors are also stored. Each actor acts in one or more movies. Each actor
has a role in movie.
 Directors are identified by id. Other details like name and date of birth of
directors are also stored. A Director can act in a movie (including the one
that he or she may also direct). Each director directs one or more movies.
 Each movie has one or more actors and one or more directors and is
produced by a production company.
 Draw an ER diagram that captures the preceding information. Identify any
constraints not captured by the ER diagram.
 Map the ER model to Relational schema and normalize the relations to
2NF.
 Create the tables & insert at least 8 tuples in each relation.
 Solve the following queries in SQL:-
 List the details of horror movies released in 2012 and directed by more
than 2 directors.
 List the details of actors who acted in movies having same titles but
released before 2000 and after 2010.
 List the details of production companies producing maximum movies.
 List the details of movies where director and actor have same date of
birth.
 Retrieve the names of directors directed all the movies produced by
any one production company.

ER-DIAGRAM
RALETIONAL SCHEMA:
ACTOR

ACTORID NAME DOB

DIRECTOR

DID NAME DOB

PRODUCTION

PNAME ADDRESS

MOVIE

TITLE YEAR1 GENER LEN PNAME DID

ACTSIN

ACTORID TITLE YEAR1

CREATE TABLE ACTOR (ACTORID INT,NAME VARCHAR(10),DOB DATE,PRIMARY


KEY(ACTORID));

INSERT INTO ACTOR VALUES(12341,'NEIL G','01/JAN/1951');


INSERT INTO ACTOR VALUES(12352,'CHRIS E','02/FEB/1962');
INSERT INTO ACTOR VALUES(12363,'CHRIS H','03/MAR/1973');
INSERT INTO ACTOR VALUES(12374,'ROBERT D','04/APR/1984');
INSERT INTO ACTOR VALUES(12385,'DANIEL R','05/MAY/1995');
INSERT INTO ACTOR VALUES(12396,'EMMA W','06/JUN/1998');
INSERT INTO ACTOR VALUES(12401,'SCARLET J','10/OCT/1966');
INSERT INTO ACTOR VALUES(12503,'MONICA G','12/DEC/2000');

SELECT * FROM ACTOR;


ACTOR

ACTORID NAME DOB

12341 NEIL G 01/JAN/1951

12352 CHRIS E 02/FEB/1962

12363 CHRIS H 03/MAR/1973

12374 ROBERT D 04/APR/1984

12385 DANIEL R 05/MAY/1995

12396 EMMA W 06/JUN/1998

12401 SCARLET J 10/OCT/1966

12503 MONICA G 12/DEC/2000

CREATE TABLE DIRECTOR(DID INT,NAME VARCHAR(10),DOB DATE,PRIMARY


KEY(DID));

INSERT INTO DIRECTOR VALUES(10011,'JOHN A','12/DEC/1942');


INSERT INTO DIRECTOR VALUES(10022,'CHRIS B','11/NOV/1954');
INSERT INTO DIRECTOR VALUES(10033,'DAXON C','10/NOV/1966');
INSERT INTO DIRECTOR VALUES(10044,'PAISLEY M','09/SEP/1978');
INSERT INTO DIRECTOR VALUES(10055,'BROOKLYN D','08/AUG/1980');
INSERT INTO DIRECTOR VALUES(10066,'RACHEL V','07/JUL/1982');
INSERT INTO DIRECTOR VALUES(10077,'PHOEBE B','06/JUN/1998');
INSERT INTO DIRECTOR VALUES(10088,'ROSS G','05/MAY/1995');

SELECT * FROM DIRECTOR;

DIRECTOR

DID NAME DOB

10011 JOHN A 12/DEC/1942

10022 CHRIS B 11/NOV/1954

10033 DAXON C 10/NOV/1966

10044 PAISLEY M 09/SEP/1978

10055 BROOKLYN D 08/AUG/1980

10066 RACHEL V 07/JUL/1982

10077 PHOEBE B 06/JUN/1998

10088 ROSS G 05/MAY/1995

CREATE TABLE PRODUCTION(PNAME VARCHAR(10),ADDRESS


VARCHAR(10),PRIMARY KEY(PNAME));

INSERT INTO PRODUCTION VALUES('PARAMOUNT','TEXAS');


INSERT INTO PRODUCTION VALUES('ACCE','COLORADO');
INSERT INTO PRODUCTION VALUES('MARVEL','NEWYORK');
INSERT INTO PRODUCTION VALUES('MARVEL_DC','NEWYORK');
INSERT INTO PRODUCTION VALUES('WARNER B','WASHINGTON');
INSERT INTO PRODUCTION VALUES('DISNEY P','CALIFORNIA');

SELECT * FROM PRODUCTION;


PRODUCTION

PNAME ADDRESS

PARAMOUNT TEXAS

ACCE COLORADO

MARVEL NEWYORK

MARVEL_DC NEWYORK

WARNER B WASHINGTON

DISNEY P CALIFORNIA

CREATE TABLE MOVIE(TITLE VARCHAR(20),YEAR1 INT, GENER VARCHAR(10),LEN


INT, PNAME VARCHAR(10), DID INT,PRIMARY KEY(TITLE,YEAR1), FOREIGN
KEY(PNAME) REFERENCES PRODUCTION(PNAME),FOREIGN KEY(DID)
REFERENCES DIRECTOR(DID));

INSERT INTO MOVIE


VALUES('COARLINE',2012,'HORROR',2,'PARAMOUNT',10011);
INSERT INTO MOVIE VALUES('GRAVYARD',2008,'HORROR',3,'ACCE',10022);
INSERT INTO MOVIE VALUES('AVENGERS',1998,'ACTION',2,'MARVEL',10033);
INSERT INTO MOVIE VALUES('AVENGERS',2011,'ACTION
COM',3,'MARVEL_DC',10044);
INSERT INTO MOVIE VALUES('HARRYPOTR',2006,'FICTION',2,'WARNER
B',10055);
INSERT INTO MOVIE VALUES('HARYPOTG',2010,'FANTACY',2,'DISNEY P',10066);
INSERT INTO MOVIE VALUES('AVENGERS',1999,'ACTION',2,'MARVEL',10077);

SELECT*FROM MOVIE;
MOVIE

YEAR
TITLE GENER LEN PNAME DID
1

PARAMOUN 1001
COARLINE 2012 HORROR 2
T 1

1002
GRAVYARD 2008 HORROR 3 ACCE
2

1003
AVENGERS 1998 ACTION 2 MARVEL
3

ACTION 1004
AVENGERS 2011 3 MARVEL_DC
COM 4

HARRYPOT 1005
2006 FICTION 2 WARNER B
R 5

1006
HARYPOTG 2010 FANTACY 2 DISNEY P
6

1007
AVENGERS 1999 ACTION 2 MARVEL
7
CREATE TABLE ACTSIN(ACTORID INT,TITLE VARCHAR(20),YEAR1 INT,PRIMARY
KEY(ACTORID,TITLE),FOREIGN KEY(ACTORID) REFERENCES
ACTOR1(ACTORID),FOREIGN KEY(TITLE,YEAR1) REFERENCES
MOVIE(TITLE,YEAR1));

INSERT INTO ACTSIN VALUES(12341,'COARLINE',2012);


INSERT INTO ACTSIN VALUES(12352,'GRAVYARD',2008);
INSERT INTO ACTSIN VALUES(12363,'AVENGERS',1998);
INSERT INTO ACTSIN VALUES(12374,'AVENGERS',2011);
INSERT INTO ACTSIN VALUES(12385,'HARRYPOTR',2006);
INSERT INTO ACTSIN VALUES(12396,'HARYPOTG',2010);
INSERT INTO ACTSIN VALUES(12401,'AVENGERS',1998);

SELECT * FROM ACTSIN;


ACTSIN

ACTORID TITLE YEAR1

12341 COARLINE 2012

12352 GRAVYARD 2008

12363 AVENGERS 1998

12374 AVENGERS 2011

12385 HARRYPOTR 2006

12396 HARYPOTG 2010

12401 AVENGERS 1998

Querries:
 SELECT * FROM MOVIE WHERE YEAR1=2012 AND GENER='HORROR';

//OUT PUT//

YEAR LE
TITLE GENER PNAME DID
1 N

COARLIN HORRO PARAMOU 100


2012 2
E R NT 11
 SELECT DISTINCT(A.ACTORID),A.NAME,A.DOB FROM ACTOR1 A,ACTSIN
A1,ACTSIN A2,MOVIE M WHERE A1.TITLE=A2.TITLE AND A1.YEAR12010 AND
(A.ACTORID=A1.ACTORID OR A.ACTORID=A2.ACTORID);

//OUTPUT//
ACTORID NAME DOB

12363 CHRIS H 03/MAR/1973

12374 ROBERT D 04/APR/1984

12401 SCARLET J 10/OCT/1966

 SELECT * FROM MOVIE M,ACTSIN A,ACTOR1 A1,DIRECTOR D WHERE


D.DID=M.DID AND A.ACTORID=A1.ACTORID AND A.YEAR1=M.YEAR1 AND
A.TITLE=M.TITLE AND D.DOB=A1.DOB;
//OUTPUT//

TITLE YEAR1 GENER LEN PNAME

AVENGERS 1998 ACTION 2 MARVEL

 SELECT D.NAME FROM DIRECTOR D,PRODUCTION P,MOVIE M WHERE


D.DID=M.DID AND M.PNAME=P.PNAME;

//output//

NAME

JOHN A

CHRIS B

DAXON C

PAISLEY M

BROOKLYN D

RACHEL V
NAME

PHOEBE B

 SELECT PNAME,COUNT(PNAME) FROM MOVIE GROUP BY PNAME HAVING


COUNT(PNAME) > 1;

//output//
PNAME COUNT(PNAME)

MARVEL 2

Bank Database.
Address and phone for each bank are also stored. Each branch is identified by its
bank. Branch has name address and phone. A customer can open different kinds of
accounts with the branches. An account can belong to more than one customer.
Customers are identified by their SSN, name, address and phone number. There are
different types of loans, each identified by a loan number. A customer can take more
than one type of loan and a loan can be given to more than one customer. Loans
have a duration and interest rate. Make suitable assumptions and use them in
showing maximum and minimum cardinality ratios.
1. Draw an ER diagram that captures the preceding information. Identify any
constraints not captured by the ER diagram.
2. Map the ER model to Relational schema and normalize the relations to 2NF.
3. Create the tables & insert at least 8 tuples in each relation.
4. Solve the following queries in SQL:
a. List the details of customers who have joint account and also have at least one
loan.
b. List the details of the branch that has given the maximum loan.
c. List the details of savings accounts opened in the SBI branches located at
Bangalore d. List the name of branch along with its bank name and total amount of
loan
given by it.
e. Retrieve the names of customers who have accounts in all the branches

ER-DIAGRAM
Relational Schema:
BANK

NAME PHONE ADDRESS

BRANCH

ADDR NAME PHONE

ACCOUNT
ACCNO TYPE ADDR NAME

CUSTOMER

SSN CNAME CADDR PNO

L DURATIO
AMT LTYPE RATE ADDR NAM
NO N
LOAN

CUST_ACC

ACCNO SSN

CUST_LOAN

LNO SSN

CREATE TABLE BANK(NAME VARCHAR(10),PHONE INT,ADDRESS VARCHAR(15),PRIMARY


KEY(NAME));
INSERT INTO BANK VALUES('SBI',80505,'BANGLORE');
INSERT INTO BANK VALUES('UNION',64463,'DHARWAD');
INSERT INTO BANK VALUES('ICICI',34533,'DELHI');
INSERT INTO BANK VALUES('PNB',32422,'BANGLORE');
INSERT INTO BANK VALUES('KVGB',42123,'BANGLORE');
INSERT INTO BANK VALUES('VIJAY',23121,'CHENNAI');
INSERT INTO BANK VALUES('BOB',54533,'MUMBAI');
INSERT INTO BANK VALUES('CANARA',34223,'HUBLI');
SELECT * FROM BANK 1
BANK 1

NAME PHONE ADDRESS


SBI 80505 BANGLORE
UNION 64463 DHARWAD
ICICI 34533 DELHI
PNB 32422 BANGLORE
KVGB 42123 BANGLORE
VIJAY 23121 CHENNAI
BOB 54533 MUMBAI
CANARA 34223 HUBLI

CREATE TABLE BRANCH(ADDR VARCHAR(15),NAME VARCHAR(10),PHONE INT,FOREIGN


KEY(NAME) REFERENCES BANK(NAME),PRIMARY KEY(NAME,ADDR));

INSERT INTO BRANCH VALUES('VIDYANAGAR','SBI',43234);


INSERT INTO BRANCH VALUES('SAINAGAR','UNION',75634);
INSERT INTO BRANCH VALUES('GANDHINAGAR','ICICI',86343);
INSERT INTO BRANCH VALUES('DADAR','PNB',23453);
INSERT INTO BRANCH VALUES('KCD','KVGB',54356);
INSERT INTO BRANCH VALUES('KUD','VIJAY',74433);
INSERT INTO BRANCH VALUES('BADLAPUR','BOB',46744);
INSERT INTO BRANCH VALUES('MIRZAPUR','CANARA',87543);

SELECT * FROM BRANCH 2

BRANCH 1

ADDR NAME PHONE


BANGLORE SBI 43234
SAINAGAR UNION 75634
GANDHINAGAR ICICI 86343
DADAR PNB 23453
KCD KVGB 54356
KUD VIJAY 74433
BADLAPUR BOB 46744
MIRZAPUR CANARA 87543

CREATE TABLE ACCOUNT(ACCNO INT,TYPE VARCHAR(15),ADDR VARCHAR(15),NAME


VARCHAR(10), FOREIGN KEY(ADDR) REFERENCES BRANCH(ADDR), FOREIGN KEY(NAME)
REFERENCES BRANCH(NAME),PRIMARY KEY(ACCNO));

INSERT INTO ACCOUNT VALUES(12877,"SAVINGS","VIDYANAGAR","SBI");

INSERT INTO ACCOUNT VALUES(13838,"JOINT","SAINAGAR","UNION");

INSERT INTO ACCOUNT VALUES(49444,"JOINT","GANDHINAGAR","ICICI");

INSERT INTO ACCOUNT VALUES(34944,"CURRENT","DADAR","PNB");

INSERT INTO ACCOUNT VALUES(12873,"SAVINGS","KCD","KVGB");

INSERT INTO ACCOUNT VALUES(12872,"CURRENT","KUD","VIJAY");

INSERT INTO ACCOUNT VALUES(12233,"JOINT","BADLAPUR","BOB");

INSERT INTO ACCOUNT VALUES(34877,"SAVINGS","MIRZAPUR","CANARA");


SELECT * FROM ACCOUNT 1;

ACCOUNT 1

ACCN
TYPE ADDR NAME
O
12877 SAVINGS BANGLORE SBI
CURREN
13838 SAINAGAR UNION
T
GANDHINAGA
49444 SAVINGS ICICI
R
CURREN
34944 DADAR PNB
T
12873 SAVINGS KCD KVGB
CURREN
12872 KUD VIJAY
T
CURREN
12233 BADLAPUR BOB
T
34877 SAVINGS MIRZAPUR CANARA

CREATE TABLE CUSTOMER (SSN INT,CNAME VARCHAR(15), CADDR VARCHAR(15),PNO


INT,PRIMARY KEY(SSN));

INSERT INTO CUSTOMER VALUES(1,"ALEX","HUBLI",754967);

INSERT INTO CUSTOMER VALUES(2,"JOHN","DHARAWAD",235455);

INSERT INTO CUSTOMER VALUES(3,"PRASANNA","BANGLORE",754962);

INSERT INTO CUSTOMER VALUES(4,"SAM","HAVERI",754961);

INSERT INTO CUSTOMER VALUES(5,"HOBS","HUBLI",754945);

INSERT INTO CUSTOMER VALUES(6,"PRAVEEN","BANGLORE",456787);


INSERT INTO CUSTOMER VALUES(7,"ANAND","KITTUR",754954);

INSERT INTO CUSTOMER VALUES(8,"ABHAY","BADLAPUR",754998);

SELECT * FROM CUSTOMER 1;

CUSTOMER 1

SS
CNAME CADDR PNO
N
75496
1 ALEX HUBLI
7
23545
2 JOHN DHARAWAD
5
75496
3 PRASANNA BANGLORE
2
75496
4 SAM HAVERI
1
75494
5 HOBS HUBLI
5
45678
6 PRAVEEN BANGLORE
7
75495
7 ANAND KITTUR
4
75499
8 ABHAY BADLAPUR
8

CREATE TABLE LOAN(LNO INT,AMT INT,DURATION TIME,LTYPE VARCHAR(10), RATE INT,ADDR


VARCHAR(15),NAME VARCHAR(10),FOREIGN KEY(ADDR,NAME) REFERENCES
BRANCH(ADDR,NAME),PRIMARY KEY(LNO));

INSERT INTO LOAN VALUES(12,12000,3,'VEHICLE',12,'SAINAGAR','UNION');

INSERT INTO LOAN VALUES(13,20000,2,'HOME',15,'DADAR','PNB');


INSERT INTO LOAN VALUES(14,30000,1,'EDUCATION',8,'BANGLORE','SBI');

INSERT INTO LOAN VALUES(15,50000,4,'HOME',12,'KCD','KVGB');

INSERT INTO LOAN VALUES(16,20000,3,'MEDICAL',11,'KUD','VIJAY');

INSERT INTO LOAN VALUES(17,40000,3,'HOME',17,'BADLAPUR','BOB');

INSERT INTO LOAN VALUES(18,80000,5,'EDUCATION',9,'BANGLORE','SBI');

SELECT * FROM LOAN 1 ;

LOAN 1

L DURATIO
AMT LTYPE RATE ADDR NAME
NO N

1000
11 2 EDUCATION 10 BANGLORE SBI
0

1200
12 3 VEHICLE 12 SAINAGAR UNION
0

2000
13 2 HOME 15 DADAR PNB
0

3000
14 1 EDUCATION 8 BANGLORE SBI
0

5000
15 4 HOME 12 KCD KVGB
0

2000
16 3 MEDICAL 11 KUD VIJAY
0

4000
17 3 HOME 17 BADLAPUR BOB
0

8000
18 5 EDUCATION 9 BANGLORE SBI
0
CREATE TABLE CUST_ACC(ACCNO INT,SSN INT,FOREIGN KEY(ACCNO) REFERENCES
ACCOUNT(ACCNO),FOREIGN KEY(SSN) REFERENCES CUSTOMER (SSN),PRIMARY
KEY(ACCNO,SSN));
INSERT INTO CUST_ACC VALUES(12877,1);

INSERT INTO CUST_ACC VALUES(49444,2);

INSERT INTO CUST_ACC VALUES(34944,3);

INSERT INTO CUST_ACC VALUES(12873,2);

INSERT INTO CUST_ACC VALUES(12873,4);


INSERT INTO CUST_ACC VALUES(12233,5);

INSERT INTO CUST_ACC VALUES(34877,6);

INSERT INTO CUST_ACC VALUES(34877,7);

SELECT * FROM CUST_ACC 1;


CUST_ACC 1

ACCNO SSN
12877 1
49444 2
34944 3
12873 2
12873 4
12233 5
34877 6
34877 7
CREATE TABLE CUST_LOAN(LNO INT,SSN INT,FOREIGN KEY(LNO) REFERENCES LOAN(LNO),
FOREIGN KEY(SSN) REFERENCES CUSTOMER (SSN),PRIMARY KEY(LNO,SSN));

INSERT INTO CUST_LOAN VALUES(11,1);

INSERT INTO CUST_LOAN VALUES(12,2);

INSERT INTO CUST_LOAN VALUES(15,3);

INSERT INTO CUST_LOAN VALUES(14,2);

INSERT INTO CUST_LOAN VALUES(13,4);

INSERT INTO CUST_LOAN VALUES(18,5);

INSERT INTO CUST_LOAN VALUES(17,6);

INSERT INTO CUST_LOAN VALUES(17,7);

SELECT * FROM CUST_LOAN;


CUST_LOAN

LNO SSN
11 1
12 2
15 3
14 2
13 4
18 5
17 6
17 7
1. List the details of customers who have joint account and also have at least one
loan.
SELECT DISTINCT C.SSN,C.CNAME,C.CADDR,C.PNO

FROM CUSTOMER C,CUST_ACC B,ACCOUNT A,CUST_LOAN D,LOAN L

WHERE C.SSN=B.SSN AND B.ACCNO=A.ACCNO AND C.SSN=D.SSN AND D.LNO=L.LNO;

Output
SSN CNAME CADDR PNO

1 ALEX HUBLI 754967

2 JOHN DHARAWAD 235455

3 PRASANNA BANGLORE 754962

4 SAM HAVERI 754961

5 HOBS HUBLI 754945

6 PRAVEEN BANGLORE 456787

7 ANAND KITTUR 754954

2. List the name of branch along with its bank name and total amount of loan given
by it.
SELECT B.NAME,B.ADDR,L.AMT

FROM BRANCH B,LOAN L

WHERE B.NAME=L.NAME AND B.ADDR=L.ADDR

GROUP BY B.NAME,B.ADDR,L.AMT

ORDER BY SUM(L.AMT) DESC;

Output
NAME ADDR AMT

SBI BANGLORE 80000

KVGB KCD 50000


NAME ADDR AMT

BOB BADLAPUR 40000

SBI BANGLORE 30000

PNB DADAR 20000

VIJAY KUD 20000

UNION SAINAGAR 12000

SBI BANGLORE 10000

3. List the details of savings accounts opened in the SBI branches located at
Bangalore
SELECT A.*
FROM ACCOUNT A,BRANCH B
WHERE A.ADDR=B.ADDR AND B.NAME="SBI" AND B.ADDR="BANGLORE";

Output
ACCNO TYPE ADDR NAME

12877 SAVINGS BANGLORE SBI

4. Retrieve the names of customers who have accounts in all the branches at
specific location.
SELECT C.CNAME

FROM CUSTOMER C,BRANCH B,ACCOUNT A,CUST_ACC D


WHERE C.SSN=D.SSN AND A.ACCNO=D.ACCNO AND B.ADDR=A.ADDR AND B.NAME=A.NAME
AND
B.ADDR="BANGLORE";
Output
CNAME

ALEX

5.List the details of the branch that has given the maximum loan.
SELECT B.*,MAX(L.AMT)
FROM BRANCH B,LOAN L,CUST_LOAN C
WHERE B.ADDR=L.ADDR AND L.LNO=C.LNO AND B.NAME=L.NAME ;

Output
ADDR NAME PHONE MAX(L.AMT)

BANGLORE SBI 43234 80000


Pharmacy Database.
The Prescriptions-R-X chain of pharmacies has offered to give you
a free lifetime supply of medicine if you design its database. Given
the rising cost of health care, you agree. Here's the information
that you gather:
1. Patients are identified by an SSN, and their names, addresses,
and ages must be recorded.
2. Doctors are identified by an SSN. For each doctor, the name,
specialty, and years of experience must be recorded.
3. Each pharmaceutical company is identified by name and has a
phone number.
4. For each drug, the trade name and formula must be recorded.
Each drug is sold by a given pharmaceutical company, and the
trade name identifies a drug uniquely from among the products of
that company. If a pharmaceutical company is deleted, you need
not keep track of its products any longer.
5. Each pharmacy has a name, address, and phone number.
6. Every patient has a primary physician. Every doctor has at least
one patient.
7. At several pharmacies, and the price could vary from one
pharmacy to another.
8. Doctors prescribe drugs for patients. A doctor could prescribe
one or more drugs for several patients, and a patient could obtain
prescriptions from several doctors.
9. Each prescription has a date and a quantity associated with it.
You can assume that, if a doctor prescribes the same drug for the
same patient more than once, only the last such prescription
needs to be stored.
10. Pharmaceutical companies have long-term contracts with
pharmacies. A pharmaceutical company can contract with several
pharmacies, and a pharmacy can contract with several
pharmaceutical companies. For each contract, you have to store a
start date, an end date, and the text of the contract.
11. Pharmacies appoint a supervisor for each contract. There
must always be a supervisor for each contract, but the contract
supervisor can change over the lifetime of the contract.
1. Draw an ER diagram that captures the preceding information.
Identify any constraints not captured by the ER diagram
2. Map the ER model to Relational schema and normalize the
relations to 2NF.
3. Create the tables & insert at least 8 tuples in each relation.
4. Solve the following queries in SQL-
a. For cach patient list out the patient's name, patient's doctor's
name & prescription details. h. For each pharmacy list out the
drugs that it sells, containing Patacetemol as one of the ingredient
in its formula along with its Pharmaceutical Company.
b. Produce a listing Pharmacy name, Pharmaceutical company,
Drug trade name, contract start date & end date, supervisor for
each contract between Pharmacy & Pharmaceutical Company.
c. For each doctor display the doctor's name and the count of
prescriptions given by doctor containing the drugs made by
NAVYYA LABS.
d. For each patient display the patient's name, drug name & the
pharmacy name from where the patient bought the drug.

ER-DIAGRAM
Relational Schema:
DOCTOR 1
DSSN DNAME SPECIALITY YRS_EXP

PATIENT 1
PSS
PNAME ADDRESS AGE DSSN
N

PH_COMPANY 1
CNAME PHONE

PHARMACY 1
PH_NAME PH_ADDRESS PH_PHONE

DRUG 1
TRADE_NAME CNAME FORMULA

SELLS 1
PH_NAME TRADE_NAME PRICE

CONTRACTS 1
PH_NAME CNAME S_SSN S_DATE E_DATE

PRESCRIBES 1
DSSN PSSN TRADE_NAME QUANTITY P_DATE

1) CREATE TABLES BY SPECIFYING ALL THE INTEGRITY


CONSTRAINTS.
CREATE TABLE DOCTOR (DSSN INT,DNAME VARCHAR(20),SPECIALITY
VARCHAR(20),YRS_EXP INT,PRIMARY KEY (DSSN));
INSERT INTO DOCTOR 1 VALUES(1, 'Sujatha', 'Heart', 5);
INSERT INTO DOCTOR 1 VALUES(2, 'Rashmi', 'GeneralMedicine', 4);
INSERT INTO DOCTOR 1VALUES(3, 'Sneha', 'Neuro', 10);
INSERT INTO DOCTOR 1 VALUES(4, 'Sagar', 'Dentist', 8);
INSERT INTO DOCTOR 1 VALUES(5, 'Rohit', 'Psychologist', 7);
SELECT * FROM DOCTOR 1;
DSSN DNAME SPECIALITY YRS_EXP

1 Sujatha Heart 5

2 Rashmi GeneralMedicine 4

3 Sneha Neuro 10

4 Sagar Dentist 8

5 Rohit Psychologist 7

CREATE TABLE PATIENT 1 (PSSN INT,PNAME VARCHAR(20),ADDRESS


VARCHAR(20),AGE INT,DSSN INT,PRIMARY KEY (PSSN),FOREIGN KEY
(DSSN) REFERENCES DOCTOR(DSSN));

INSERT INTO PATIENT 1 VALUES(11, 'Banashree', 'Badami', 22, 1);


INSERT INTO PATIENT 1 VALUES(12, 'Laxmi', 'Belgaum', 22, 2);
INSERT INTO PATIENT 1 VALUES(13, 'Vyshnavi', 'Hubli', 22, 3);
INSERT INTO PATIENT 1 VALUES(14, 'Ramesh', 'Arabhavi', 22, 4);
INSERT INTO PATIENT 1 VALUES(15, 'Aravind', 'Gattaprabha', 22, 5);
SELECT * FROM PATIENT 1 ;
PSS
PNAME ADDRESS AGE DSSN
N

11 Banashree Badami 22 1

12 Laxmi Belgaum 22 2

13 Vyshnavi Hubli 22 3

14 Ramesh Arabhavi 22 4

15 Aravind Gattaprabha 22 5

CREATE TABLE PH_COMPANY 1 (CNAME VARCHAR(20),


PHONE VARCHAR(15),needed PRIMARY KEY (CNAME) );
INSERT INTO PH_COMPANY 1 VALUES ('APOLLO', 12345);
INSERT INTO PH_COMPANY 1 VALUES ('MEDPLUS', 88888);
INSERT INTO PH_COMPANY 1 VALUES ('NAVYALABS', 22222);
INSERT INTO PH_COMPANY 1 VALUES ('KIMS', 77777);

SELECT * FROM PH_COMPANY 1;

CNAME PHONE

APOLLO 12345

MEDPLUS 88888

NAVYALABS 22222

KIMS 77777

CREATE TABLE PHARMACY 1 (PH_NAME


VARCHAR(20),PH_ADDRESS VARCHAR(20),PH_PHONE
INT,PRIMARY KEY (PH_NAME));
INSERT INTO PHARMACY 1 VALUES ('SUSHRUTH', 'BADAMI',
6789);
INSERT INTO PHARMACY 1 VALUES ('ANJALI', 'HUBLI', 7777);
INSERT INTO PHARMACY 1 VALUES ('SOUMYA', 'DHARWAD',
6589);
INSERT INTO PHARMACY 1 VALUES ('TEJAS', 'BELGAUM',
6739);
INSERT INTO PHARMACY 1 VALUES ('SIDDHARTH', 'GADAG',
6989);
SELECT * FROM PHARMACY 1;

PH_NAME PH_ADDRESS PH_PHONE

SUSHRUTH BADAMI 6789

ANJALI HUBLI 7777

SOUMYA DHARWAD 6589

TEJAS BELGAUM 6739

SIDDHARTH GADAG 6989

CREATE TABLE DRUG 1 (TRADE_NAME VARCHAR(20),CNAME


VARCHAR(20),FORMULA VARCHAR(20),PRIMARY KEY
(TRADE_NAME, CNAME),FOREIGN KEY (CNAME) REFERENCES
PH_COMPANY(CNAME));

INSERT INTO DRUG 1 VALUES ('HEARTAB', 'APOLLO',


'IMMUNOSUP');
INSERT INTO DRUG 1 VALUES ('CROCIN', 'APOLLO',
'PARACET');
INSERT INTO DRUG 1 VALUES ('DOLO650', 'MEDPLUS',
'PARACET');
INSERT INTO DRUG 1 VALUES ('ORBITOL', 'NAVYALABS',
'ANTIOR');
INSERT INTO DRUG 1 VALUES ('HYPNO8', 'NAVYALABS',
'PARACET');
INSERT INTO DRUG 1 VALUES ('RENAL9', 'NAVYALABS',
'IMMUNOSUP');
INSERT INTO DRUG 1 VALUES ('ATIVA', 'KIMS', 'ATIVICIN');
INSERT INTO DRUG 1 VALUES ('AZITHROMYCIN', 'NAVYALABS',
'PARACET');
SELECT * FROM DRUG 1 ;
DELETE FROM DRUG 1;

DRUG 1
TRADE_NAME CNAME FORMULA

IMMUNOSU
HEARTAB APOLLO
P

CROCIN APOLLO PARACET

DOLO650 MEDPLUS PARACET

ORBITOL NAVYALABS ANTIOR

HYPNO8 NAVYALABS PARACET

IMMUNOSU
RENAL9 NAVYALABS
P

ATIVA KIMS ATIVICIN

AZITHROMYCIN NAVYALABS PARACET

CREATE TABLE SELLS 1 (PH_NAME


VARCHAR(20),TRADE_NAME VARCHAR(20),CNAME
VARCHAR(20),PRICE INT,PRIMARY KEY (PH_NAME,
TRADE_NAME),FOREIGN KEY (PH_NAME) REFERENCES
PHARMACY(PH_NAME),FOREIGN KEY (TRADE_NAME,
CNAME) REFERENCES DRUG(TRADE_NAME, CNAME));

INSERT INTO SELLS 1 VALUES ('SUSHRUTH', 'HEARTAB', 100);


INSERT INTO SELLS 1 VALUES ('SUSHRUTH', 'CROCIN', 5);
INSERT INTO SELLS 1 VALUES ('ANJALI', 'DOLO650', 10);
INSERT INTO SELLS 1 VALUES ('TEJAS', 'ATIVA', 30);
INSERT INTO SELLS 1 VALUES ('SIDDHARTH', 'AZITHROMYCIN', 25);
INSERT INTO SELLS 1 VALUES ('SIDDHARTH', 'RENAL9', 25);
INSERT INTO SELLS 1 VALUES ('ANJALI', 'ORBITOL', 25);
INSERT INTO SELLS 1 VALUES ('TEJAS', 'HYPNO8', 30);
INSERT INTO SELLS 1 VALUES ('SOUMYA', 'HYPNO8', 30);
SELECT * FROM SELLS 1;
SELLS 1
PH_NAME TRADE_NAME PRICE

SUSHRUTH HEARTAB 100

SUSHRUTH CROCIN 5

ANJALI DOLO650 10

TEJAS ATIVA 30

SIDDHARTH AZITHROMYCIN 25

SIDDHARTH RENAL9 25

ANJALI ORBITOL 25

TEJAS HYPNO8 30

SOUMYA HYPNO8 30
INSERT INTO CONTRACTS 1 VALUES('SUSHRUTH', 'APOLLO', 123,
2020, 2025);
INSERT INTO CONTRACTS 1 VALUES('ANJALI', 'MEDPLUS', 124, 2021,
2026);
INSERT INTO CONTRACTS 1 VALUES('SUSHRUTH', 'NAVYALABS', 125,
2019, 2029);
INSERT INTO CONTRACTS 1 VALUES('ANJALI', 'NAVYALABS', 126,
2021, 2026);
INSERT INTO CONTRACTS 1 VALUES('SOUMYA', 'NAVYALABS', 127,
2018, 2028);
INSERT INTO CONTRACTS 1 VALUES('TEJAS', 'KIMS', 128, 2022, 2027);
INSERT INTO CONTRACTS 1 VALUES('SIDDHARTH', 'NAVYALABS', 129,
2022, 2027);
SELECT * FROM CONTRACTS 1 ;
DELETE FROM CONTRACTS 1;
PH_NAME CNAME S_SSN S_DATE E_DATE

SUSHRUTH APOLLO 123 2020 2025

ANJALI MEDPLUS 124 2021 2026

SUSHRUTH NAVYALABS 125 2019 2029

ANJALI NAVYALABS 126 2021 2026

SOUMYA NAVYALABS 127 2018 2028

TEJAS KIMS 128 2022 2027

SIDDHARTH NAVYALABS 129 2022 2027

CREATE TABLE PRESCRIBES 1 (DSSN INT,PSSN INT,TRADE_NAME


VARCHAR(20), CNAME
VARCHAR(20),QUANTITY INT,P_DATE DATE,
PRIMARY KEY(DSSN,PSSN,TRADE_NAME,CNAME),
FOREIGN KEY(DSSN)REFERENCES DOCTOR,
FOREIGN KEY(PSSN)REFERENCES PATIENT,
FOREIGN KEY (TRADE_NAME,CNAME)REFERENCES
DRUG(TRADE_NAME,CNAME));

INSERT INTO PRESCRIBES 1 VALUES (1, 11, 'HEARTAB', 20, '2023-05-


27');
INSERT INTO PRESCRIBES 1 VALUES (2, 12, 'ORBITOL', 10, '2024-05-
25');
INSERT INTO PRESCRIBES 1 VALUES (3, 13, 'HYPNO8', 30, '2024-05-
24');
INSERT INTO PRESCRIBES 1 VALUES (2, 13, 'RENAL9', 5, '2024-05-25');
INSERT INTO PRESCRIBES 1 VALUES (4, 15, 'ATIVA', 7, '2024-05-20');
INSERT INTO PRESCRIBES 1 VALUES (5, 14, 'AZITHROMYCIN', 10,
'2024-05-22');
INSERT INTO PRESCRIBES 1 VALUES (1, 15, 'DOLO650', 30, '2024-05-
20');
INSERT INTO PRESCRIBES 1 VALUES (2, 13, 'CROCIN', 10, '2024-05-
22');

SELECT * FROM PRESCRIBES 1;

PRESCRIBES 1

DSS PSS
TRADE_NAME QUANTITY P_DATE
N N

2023-
1 11 HEARTAB 20
05-27
DSS PSS
TRADE_NAME QUANTITY P_DATE
N N

2024-
2 12 ORBITOL 10
05-25

2024-
3 13 HYPNO8 30
05-24

2024-
2 13 RENAL9 5
05-25

2024-
4 15 ATIVA 7
05-20

2024-
5 14 AZITHROMYCIN 10
05-22

2024-
1 15 DOLO650 30
05-20

2024-
2 13 CROCIN 10
05-22

//1 For each patient list out the patent's name, patient's
doctor's name & prescription details.

SELECT P.PNAME,
D.DNAME,R.TRADE_NAME,R.QUANTITY,R.P_DATE
FROM DOCTOR D, PATIENT P, PRESCRIBES R
WHERE P.DSSN = D.DSSN AND P.DSSN = R.DSSN ;

PNAME DNAME TRADE_NAME QUANTITY P_DATE

Banashr 2023-05-
Sujatha HEARTAB 20
ee 27

Banashr 2024-05-
Sujatha DOLO650 30
ee 20

2024-05-
Laxmi Rashmi ORBITOL 10
25
PNAME DNAME TRADE_NAME QUANTITY P_DATE

2024-05-
Laxmi Rashmi CROCIN 10
22

2024-05-
Laxmi Rashmi RENAL9 5
25

Vyshnav 2024-05-
Sneha HYPNO8 30
i 24

2024-05-
Ramesh Sagar ATIVA 7
20

2024-05-
Aravind Rohit AZITHROMYCIN 10
22

//2 For each pharmacy list but the drugs that it sells,
containing Paracetemol as one of the ingredient in its formula
along with its Pharmaceutical Company.
SELECT S.PH_NAME, S.TRADE_NAME, D.CNAME
FROM SELLS S, DRUG D
WHERE D.FORMULA LIKE 'PARACET' AND S.TRADE_NAME =
D.TRADE_NAME;

PH_NAME TRADE_NAME CNAME

ANJALI DOLO650 MEDPLUS

SIDDHARTH AZITHROMYCIN NAVYALABS

SOUMYA HYPNO8 NAVYALABS

SUSHRUTH CROCIN APOLLO

TEJAS HYPNO8 NAVYALABS

//3 Produce a listing Pharmacy name, Pharmaceutical


company, Drug trade name, contract start date & end date,
supervisor for each contract between a Pharmacy &
Pharmaceutical Company.
SELECT C.PH_NAME, C.CNAME, D.TRADE_NAME, C.S_SSN,
C.S_DATE, C.E_DATE FROM CONTRACTS C, DRUG D WHERE
C.CNAME = D.CNAME;
PH_NAME CNAME TRADE_NAME S_SSN S_DATE E_DATE

Pharmacy A Apollo Drug A 1 2023-01-01 2024-01-01


Pharmacy B Medplus Drug A 2 2023-02-01 2024-02-01
Pharmacy C KIMS Drug A 3 2023-03-01 2024-03-01
Pharmacy C Navya Labs Drug A 4 2023-04-01 2024-04-01
Pharmacy E Health corp Drug A 5 2023-05-01 2024-05-01

//4 For each doctor display the doctor's name and the count
of prescriptions given by doctor containing the drugs made
by NAVYYA LABS.
SELECT D.DNAME, COUNT(P.DSSN)
FROM DOCTOR D, PRESCRIBESP, DRUG T
WHERE D.DSSN = P.DSSN AND P.TRADE_NAME =
T.TRADE_NAME AND T.CNAME LIKE 'NAVYALABS'
GROUPBY P.DSSN, D.DNAME;
DNAME COUNT(P.DSSN)
Sagar 1
//5 For each patient display the patient's name, drug name &
the pharmacy name from where the patient bought the drug.

SELECT P.PNAME, R.TRADE_NAME,S.PH_NAME FROM


PATIENT P, PRESCRIBESR, SELLS S WHERE P.PSSN = R.PSSN
AND R.TRADE_NAME = S.TRADE_NAME;

PNAME DNAME TRADE_NAM QUANTITY P_DATE


E
AMIT SUJATHA DRUG A 10 2023-06-01
BHAVANA RASHMI DRUG B 20 2023-07-01
CHITRA SNEHA DRUG C 30 2023-08-01
DINESH SAGAR DRUG D 40 2023-09-01
ESHA ROHIT DRUG E 50 2023-10-01

You might also like