DBMS ASSIGNMENT -2
Submitted by
Vivek Kumar
Bfia- 1 B
19402
Question number 1:
a)
create table LibraryBooks
(
Accession_no int(4) PRIMARY KEY,
Title varchar(40),
Author varchar(30),
Department Varchar(30),
DOP date,
Price int(5)
);
insert into LibraryBooks values(101,'Database System Concepts', 'Navathe', 'CS', '1989-10-14', 150);
insert into LibraryBooks values (102,'Computer Fundamentals', 'Anita Goel', 'Discrete Maths', '1999-08-20', 200);
insert into LibraryBooks values (103,'Multimedia', 'Tay Vaugan', 'Discrete Maths', '2000-09-20', 300);
insert into LibraryBooks values (104,'Visual Basics', 'Bayross', 'CS', '2003-11-10', 450);
insert into LibraryBooks values (105,'Micro Economics', 'Forte', 'Economics', '2004-10-14', 500);
insert into LibraryBooks values (106,'GE', 'Coronel', 'Hindi', '2005-09-21', 350);
select * from LibraryBooks;
mysql> select * from LibraryBooks;
+--------------+-------------------------- +------------+----------------+------------+-------+
| Accession_no | Title | Author | Department | DOP | Price |
+--------------+--------------------------+------------+----------------+------------+-------+
| 101 | Database System Concepts | Navathe | CS | 1989-10-14 | 150 |
| 102 | Computer Fundamentals | Anita Goel | Discrete Maths | 1999-08-20 | 200 |
| 103 | Multimedia | Tay Vaugan | Discrete Maths | 2000-09-20 | 300 |
| 104 | Visual Basics | Bayross | CS | 2003-11-10 | 450 |
| 105 | Micro Economics | Forte | Economics | 2004-10-14 | 500 |
| 106 | GE | Coronel | Hindi | 2005-09-21 | 350 |
+--------------+--------------------------+------------+----------------+------------+-------+
6 rows in set (0.03 sec)
Create table IssuedBooks
(
Accession_no int(4),
Borrower varchar(40),
FOREIGN KEY (Accession_no) REFERENCES LibraryBooks(Accession_no)
);
insert into IssuedBooks VALUES(102, 'SONIA');
insert into IssuedBooks VALUES(103, 'RITU');
insert into IssuedBooks VALUES(104, 'AMRESH');
insert into IssuedBooks VALUES(105, 'Raju');
insert into IssuedBooks VALUES(106, 'Mohit');
mysql> select * from IssuedBooks;
+--------------+----------+
| Accession_no | Borrower |
+--------------+----------+
| 102 | SONIA |
| 103 | RITU |
| 104 | AMRESH |
| 105 | Raju |
| 106 | Mohit |
+--------------+----------+
5 rows in set (0.01 sec)
b)
Delete from LibraryBooks Where Title ='Database System Concepts';
c)
UPDATE LibraryBooks set Department = 'CS' WHERE Department='Discrete Maths';
d) SELECT * from LibraryBooks Where Department='CS';
e) Select * from LibraryBooks Where Department = 'CS' AND Author='Navathe';
f)
Select * From LibraryBooks, IssuedBooks
WHERE LibraryBooks.Accession_no = IssuedBooks.Accession_no
AND Department = 'CS';
g)
SELECT * From LibraryBooks
WHERE price<500 OR DOP BETWEEN '1999-01-01' AND '2004-01-01';
Question no 2.
a)
create table studentinfo
(
croll varchar(5) PRIMARY KEY,
name varchar(40),
dob date,
address varchar(40),
marks int(5),
phone bigint(15)
);
INSERT into studentinfo values('A101','Mohit','1989-05-16', 'Delhi',75,7894561239);
INSERT into studentinfo values('A102','Parul','1989-10-12','Mumbai',80,9258963140);
INSERT into studentinfo values('A103','Sanjay','1989-07-18','Delhi',50,8954632107);
INSERT into studentinfo values('A104','Vivek','1989-03-30','UP',30,5544112233);
INSERT into studentinfo values('A105','Arjun','1989-08-22','Delhi',80,1236547790);
mysql> select * from studentinfo;
+-------+--------+------------+---------+-------+------------+
| croll | name | dob | address | marks | phone |
+-------+--------+------------+---------+-------+------------+
| A101 | Mohit | 1989-05-16 | Delhi | 75 | 7894561239 |
| A102 | Parul | 1989-10-12 | Mumbai | 80 | 9258963140 |
| A103 | Sanjay | 1989-07-18 | Delhi | 50 | 8954632107 |
| A104 | Vivek | 1989-03-30 | UP | 30 | 5544112233 |
| A105 | Arjun | 1989-08-22 | Delhi | 80 | 1236547790 |
+-------+--------+------------+---------+-------+------------+
5 rows in set (0.00 sec)
create table paper_details
(
paper_code varchar(5) PRIMARY KEY,
paper_name varchar(5),
croll varchar(5),
foreign key (croll) references studentinfo(croll)
);
INSERT INTO paper_details values('P101','P1','A101');
INSERT INTO paper_details values('P102','P2','A102');
INSERT INTO paper_details values('P103','P3','A103');
INSERT INTO paper_details values('P104','P4','A104');
INSERT INTO paper_details values('P105','P5','A105');
mysql> select * from paper_details;
+------------+------------+-------+
| paper_code | paper_name | croll |
+------------+------------+-------+
| P101 | P1 | A101 |
| P102 | P2 | A102 |
| P103 | P3 | A103 |
| P104 | P4 | A104 |
| P105 | P5 | A105 |
+------------+------------+-------+
5 rows in set (0.00 sec)
create table academic_details
(
croll varchar(5),
paper_code varchar(5),
Attendence int(5),
moh int(5),
primary key (croll,paper_code),
foreign key (croll) references studentinfo(croll),
foreign key (paper_code) references paper_details(paper_code)
);
INSERT INTO academic_details values('A101','P101',70,85);
INSERT INTO academic_details values('A102','P102',92,75);
INSERT INTO academic_details values('A103','P103',80,80);
INSERT INTO academic_details values('A104','P104',93,70);
INSERT INTO academic_details values('A105','P105',50,90);
mysql> select * from academic_details;
+-------+------------+------------+------+
| croll | paper_code | Attendence | moh |
+-------+------------+------------+------+
| A101 | P101 | 70 | 85 |
| A102 | P102 | 92 | 75 |
| A103 | P103 | 80 | 80 |
| A104 | P104 | 93 | 70 |
| A105 | P105 | 50 | 90 |
+-------+------------+------------+------+
5 rows in set (0.00 sec)
b)
select name, paper_name FROM studentinfo, paper_details, academic_details
WHERE Attendence>75 AND moh>60
AND paper_name ='P2'
AND studentinfo.croll = paper_details.croll AND paper_details.paper_code=academic_details.paper_code;
c)
SELECT name FROM paper_details, studentinfo, academic_details
WHERE studentinfo.address = 'Delhi' AND paper_details.paper_name='P1' AND academic_details.moh>60
AND studentinfo.croll = paper_details.croll AND paper_details.paper_code = academic_details.paper_code;
SELECT name FROM studentinfo, paper_details, academic_details
WHERE studentinfo.address = 'Delhi' AND paper_details.paper_name='P1' AND academic_details.moh>60
AND studentinfo.croll = paper_details.croll AND paper_details.paper_code = academic_details.paper_code;
d)
SELECT SUM(academic_details.moh) as 'Total Marks', SUM(academic_details.Attendence) as 'Total
Attendence'FROM academic_details;
e)
SELECT studentinfo.name, max(academic_details.moh) FROM studentinfo, paper_details, academic_details
WHERE paper_name='P2'
AND studentinfo.croll = paper_details.croll AND paper_details.paper_code = academic_details.paper_code;
Question no 3.
a)
create table customer
(
c_cid varchar(5) PRIMARY KEY,
email Varchar(20),
name varchar(20),
phone bigint(10),
refer_id varchar(20)
);
INSERT INTO customer VALUES ('C101', '[email protected]', 'RAM', 9874563210, 'C1');
INSERT INTO customer VALUES ('C102', '
[email protected]', 'VINAY', 850697412, 'C1');
INSERT INTO customer VALUES ('C103', '
[email protected]', 'AMIT', 8146235897, 'C5');
INSERT INTO customer VALUES ('C104', '
[email protected]', 'BHUSHAN', 875210369, 'C3');
INSERT INTO customer VALUES ('C105', '
[email protected]', 'SANJAY', 4545123698, 'C4');
mysql> select * from customer;
+-------+---------------------+---------+------------+----------+
| c_cid | email | name | phone | refer_id |
+-------+---------------------+---------+------------+----------+
| C101 |
[email protected] | RAM | 9874563210 | C1 |
| C102 |
[email protected] | VINAY | 850697412 | C1 |
| C103 |
[email protected] | AMIT | 8146235897 | C5 |
| C104 |
[email protected] | BHUSHAN | 875210369 | C3 |
| C105 |
[email protected] | SANJAY | 4545123698 | C4 |
+-------+---------------------+---------+------------+----------+
5 rows in set (0.01 sec)
create table bicyclemodel
(
bmodel_no varchar(5) primary key,
manufacturer varchar(20),
style varchar(10),
c_cid varchar(5),
foreign key (c_cid) references customer(c_cid)
);
INSERT INTO bicyclemodel VALUES('M101', 'HONDA', 'GEAR SHIFT', 'C101');
INSERT INTO bicyclemodel VALUES('M102', 'TATA', 'SIMPLE', 'C101');
INSERT INTO bicyclemodel VALUES('M103', 'TOYOTA', 'GEAR SHIFT', 'C103');
INSERT INTO bicyclemodel VALUES('M104', 'HONDA', 'SIMPLE', 'C105');
INSERT INTO bicyclemodel VALUES('M105', 'MARUTI', 'SIMPLE', 'C102');
mysql> select * from bicyclemodel;
+-----------+--------------+------------+-------+
| bmodel_no | manufacturer | style | c_cid |
+-----------+--------------+------------+-------+
| M101 | HONDA | GEAR SHIFT | C101 |
| M102 | TATA | SIMPLE | C101 |
| M103 | TOYOTA | GEAR SHIFT | C103 |
| M104 | HONDA | SIMPLE | C105 |
| M105 | MARUTI | SIMPLE | C102 |
+-----------+--------------+------------+-------+
5 rows in set (0.00 sec)
create table bicycle
(
b_id varchar(5) primary key,
purchase_date date,
color varchar(10),
b_cid varchar(5),
model_no varchar(10),
foreign key (b_cid) references customer (c_cid),
foreign key (model_no) references bicyclemodel(bmodel_no)
);
INSERT INTO bicycle VALUES('B101', '2003-12-13', 'RED','C102', 'M101');
INSERT INTO bicycle VALUES('B102', '2006-10-13', 'RED','C101', 'M101');
INSERT INTO bicycle VALUES('B103', '2006-02-13', 'BLUE','C103', 'M103');
INSERT INTO bicycle VALUES('B104', '2005-05-13', 'BLACK','C103', 'M104');
INSERT INTO bicycle VALUES('B105', '2004-07-13', 'PURPLE','C105', 'M105');
mysql> select * from bicycle;
+------+---------------+--------+-------+----------+
| b_id | purchase_date | color | b_cid | model_no |
+------+---------------+--------+-------+----------+
| B101 | 2003-12-13 | RED | C102 | M101 |
| B102 | 2006-10-13 | RED | C101 | M101 |
| B103 | 2006-02-13 | BLUE | C103 | M103 |
| B104 | 2005-05-13 | BLACK | C103 | M104 |
| B105 | 2004-07-13 | PURPLE | C105 | M105 |
+------+---------------+--------+-------+----------+
5 rows in set (0.00 sec)
create table service
(
bicycle_id varchar(10) primary key,
startdate date,
enddate date,
foreign key (bicycle_id) references bicycle(b_id)
);
INSERT INTO service VALUES('B101', '2005-12-13', '2005-12-13');
INSERT INTO service VALUES('B102', '2006-10-13', '2006-10-13');
INSERT INTO service VALUES('B103', '2006-02-13', '2005-02-25');
INSERT INTO service VALUES('B104', '2005-05-13', '2005-05-20');
INSERT INTO service VALUES('B105', '2004-07-13', '2005-07-28');
mysql> select * from service;
+------------+------------+------------+
| bicycle_id | startdate | enddate |
+------------+------------+------------+
| B101 | 2005-12-13 | 2005-12-13 |
| B102 | 2006-10-13 | 2006-10-13 |
| B103 | 2006-02-13 | 2005-02-25 |
| B104 | 2005-05-13 | 2005-05-20 |
| B105 | 2004-07-13 | 2005-07-28 |
+------------+------------+------------+
5 rows in set (0.00 sec)
b)
SELECT name from customer, bicyclemodel where manufacturer='HONDA'
And customer.c_cid=bicyclemodel.c_cid;
c)
select b_id from bicycle, customer
WHERE customer.refer_id='C1' And customer.c_cid=bicycle.b_cid;
d)
SELECT distinct manufacturer from bicyclemodel, bicycle
WHERE bicycle.color="RED"
AND bicycle.model_no=bicyclemodel.bmodel_no;
e)
select distinct bmodel_no from bicyclemodel, bicycle, service where service.bicycle_id=bicycle.b_id
AND bicyclemodel.bmodel_no=bicycle.model_no;
Question no 4.
a)
create table employee
(
e_pid varchar(5) primary key,
person_name varchar(30),
street varchar(30),
city varchar(10)
);
insert into employee values('p101', 'shyam kumar', 'a/11', 'delhi');
insert into employee values('p102', 'rohan sharma', 'b block', 'delhi');
insert into employee values('p103', 'aniket singh', 'alpha i', 'ghaziabad');
insert into employee values('p104', 'vibha', 'beta ii', 'noida');
insert into employee values('p105', 'divya dutta', 'phase ii', 'noida');
insert into employee values('p106', 'priya', 'vasundhra', 'ghaziabad');
mysql> select * from employee;
+-------+--------------+-----------+-----------+
| e_pid | person_name | street | city |
+-------+--------------+-----------+-----------+
| p101 | shyam kumar | a/11 | delhi |
| p102 | rohan sharma | b block | delhi |
| p103 | aniket singh | alpha i | ghaziabad |
| p104 | vibha | beta ii | noida |
| p105 | divya dutta | phase ii | noida |
| p106 | priya | vasundhra | ghaziabad |
+-------+--------------+-----------+-----------+
6 rows in set (0.00 sec)
create table company
(
c_id varchar(5) primary key,
company_name varchar(30),
city varchar(10)
);
insert into company values('b1', 'samba bank', 'delhi');
insert into company values('b3', 'samba bank', 'noida');
insert into company values('b4', 'ncb bank', 'delhi');
insert into company values('b5', 'ncb bank', 'noida');
insert into company values('b6', 'icici bank', 'delhi');
insert into company values('b7', 'axis bank', 'madras');
mysql> select * from company;;
+------+--------------+--------+
| c_id | company_name | city |
+------+--------------+--------+
| b1 | samba bank | delhi |
| b3 | samba bank | noida |
| b4 | ncb bank | delhi |
| b5 | ncb bank | noida |
| b6 | icici bank | delhi |
| b7 | axis bank | madras |
+------+--------------+--------+
6 rows in set (0.00 sec)
create table works
(
w_pid varchar(5),
w_id varchar(5),
wp_name varchar(30),
wcompany_name varchar(30),
salary varchar(10),
primary key (w_pid, w_id),
foreign key (w_pid) references employee (e_pid),
foreign key (w_id) references company(c_id)
);
insert into works values('p101', 'b1','shyam kumar', 'samba bank', 15000);
insert into works values('p102', 'b3','rohan sharma', 'ncb bank', 22000);
insert into works values('p103', 'b5','aniket singh', 'icici bank', 10000);
insert into works values('p104', 'b2','vibha', 'samba bank', 8000);
insert into works values('p105', 'b4','divya dutta', 'ncb bank', 11000);
insert into works values('p106', 'b6','priya', 'axis bank', 7000);
mysql> select * from works;
+-------+------+--------------+---------------+--------+
| w_pid | w_id | wp_name | wcompany_name | salary |
+-------+------+--------------+---------------+--------+
| p101 | b1 | shyam kumar | samba bank | 15000 |
| p102 | b3 | rohan sharma | ncb bank | 22000 |
| p103 | b5 | aniket singh | icici bank | 10000 |
| p105 | b4 | divya dutta | ncb bank | 11000 |
| p106 | b6 | priya | axis bank | 7000 |
+-------+------+--------------+---------------+--------+
5 rows in set (0.00 sec)
create table manager
(
m_id varchar(5) primary key,
mp_name varchar(30),
m_name varchar(30),
foreign key (m_id) references employee(e_pid)
);
insert into manager values ('p101', 'vibha', 'shyam kumar');
insert into manager values ('p102', 'divya dutta', 'rohan sharma');
insert into manager values ('p103', 'aniket singh', 'aniket singh');
mysql> select * from manager;
+------+--------------+--------------+
| m_id | mp_name | m_name |
+------+--------------+--------------+
| p101 | vibha | shyam kumar |
| p102 | divya dutta | rohan sharma |
| p103 | aniket singh | aniket singh |
+------+--------------+--------------+
3 rows in set (0.00 sec)
b)
alter tabler employee add(email varchar(20));
c)
select m_name from manager, works where manager.m_id=works.w_pid and (works.wcompany_name = 'samba
bank' or works.wcompany_name='ncb bank');
d)
select person_name, street, city, salary from employee, works where employee.e_pid =works.w_pid
and (works.salary >'100000' AND works.wcompany_name='samba bank');
e)
select distinct person_name from employee, company where employee.city=company.city;
f)
select wcompany_name, max(salary), min(salary) from works group by wcompany_name;
g)
select sum(salary), count(w_pid) from works group by wcompany_name;
h)
select wcompany_name from works where salary = (select max(salary) from works);
Question no 5.
a)
create table suppliers
(
sno varchar(5) primary key,
sname varchar(30),
status int(5),
scity varchar(10)
);
insert into suppliers values ('s101', 's1', 18, 'new york');
insert into suppliers values ('s102', 's2', 20, 'london');
insert into suppliers values ('s103', 's3', 25, 'paris');
insert into suppliers values ('s104', 's4', 28, 'london');
insert into suppliers values ('s105', 's5', 30, 'paris');
+------+-------+--------+----------+
| sno | sname | status | scity |
+------+-------+--------+----------+
| s101 | s1 | 18 | new york |
| s102 | s2 | 20 | london |
| s103 | s3 | 25 | paris |
| s104 | s4 | 28 | london |
| s105 | s5 | 30 | paris |
+------+-------+--------+----------+
5 rows in set (0.06 sec)
create table parts
(
pno varchar(5) primary key,
pname varchar(30),
pcolor varchar(10),
pweight float(5),
pcity varchar(30)
);
insert into parts values('p101', 'p1', 'orange', 20, 'new york');
insert into parts values('p102', 'p2', 'white', 18, 'london');
insert into parts values('p103', 'p3', 'pink', 16, 'paris');
insert into parts values('p104', 'p4', 'red', 15, 'london');
insert into parts values('p105', 'p5', 'yellow', 11, 'new york');
mysql> select * from parts;
+------+-------+--------+---------+----------+
| pno | pname | pcolor | pweight | pcity |
+------+-------+--------+---------+----------+
| p101 | p1 | orange | 20 | new york |
| p102 | p2 | white | 18 | london |
| p103 | p3 | pink | 16 | london |
| p104 | p4 | red | 15 | london |
| p105 | p5 | yellow | 11 | paris |
+------+-------+--------+---------+----------+
5 rows in set (0.03 sec)
create table project
(
jno varchar(5) primary key,
jname varchar(30),
jcity varchar(30)
);
insert into project values('j101', 'main', 'new york');
insert into project values('j102', 'action', 'london');
insert into project values('j103', 'nothing', 'paris');
insert into project values('j104', 'zoom', 'london');
insert into project values('j105', 'game', 'paris');
+------+---------+----------+
| jno | jname | jcity |
+------+---------+----------+
| j101 | main | new york |
| j102 | action | london |
| j103 | nothing | paris |
| j104 | zoom | london |
| j105 | game | paris |
+------+---------+----------+
5 rows in set (0.00 sec)
create table shipment
(
s_sno varchar(5),
s_pno varchar(5),
s_jno varchar(5),
quantity float(5),
primary key (s_sno, s_pno, s_jno),
foreign key(s_sno) references suppliers(sno),
foreign key(s_pno) references parts(pno),
foreign key(s_jno) references project(jno)
);
insert into shipment values ('s101', 'p101', 'j101', 200);
insert into shipment values ('s102', 'p102', 'j102', 325);
insert into shipment values ('s103', 'p103', 'j103', 800);
insert into shipment values ('s104', 'p104', 'j104', 400);
insert into shipment values ('s105', 'p105', 'j105', 300);
mysql> select * from shipment;
+-------+-------+-------+----------+
| s_sno | s_pno | s_jno | quantity |
+-------+-------+-------+----------+
| s101 | p101 | j101 | 200 |
| s102 | p102 | j102 | 325 |
| s103 | p103 | j103 | 800 |
| s104 | p104 | j104 | 400 |
| s105 | p105 | j105 | 300 |
+-------+-------+-------+----------+
5 rows in set (0.00 sec)
b)
select sno, status from suppliers where scity='Paris' and status>20;
c)
select sno, sname from suppliers, parts, shipment where parts.pname='P2' and suppliers.sno=shipment.s_sno and
parts.pno=shipment.s_pno;
d)
select sno, sname from suppliers, parts, shipment where suppliers.sno=shipment.s_sno and
parts.pno=shipment.s_pno and not parts.pname='p2';
e)
select s_sno, s_pno, s_jno, parts.pweight*shipment.quantity as " shipment" from shipment, parts where
parts.pno=shipment.s_pno;
f)
select * from shipment where quantity between 300 and 700;
+-------+-------+-------+----------+
| s_sno | s_pno | s_jno | quantity |
+-------+-------+-------+----------+
| s102 | p102 | j102 | 325 |
| s104 | p104 | j104 | 400 |
| s105 | p105 | j105 | 300 |
+-------+-------+-------+----------+
3 rows in set (0.02 sec)
g)
select distinct pno from parts, suppliers where parts.pweight>16 or suppliers.sname='s2';
h)
select pcity from parts, shipment where parts.pno=shipment.s_pno and parts.pcolor='red' and
shipment.quantity>5;
i)
select pno, pname, pcolor, pcity, pweight from parts, shipment, suppliers where suppliers.sno=shipment.s_sno
and shipment.s_pno=parts.pno and suppliers.scity='london';
j)
select pno from parts, suppliers, shipment, project where project.jcity='london' and suppliers.scity='london' and
suppliers.sno=shipment.s_sno and shipment.s_pno= parts.pno and project.jno=shipment.s_jno;
k)
select count(jno) from suppliers, shipment, project where suppliers.sno = shipment.s_sno and
project.jno=shipment.s_jno and suppliers.sname='s1' group by jno;
l)
select sum(quantity) from suppliers, parts, shipment where suppliers.sname = 's1' and parts.pname='p1' and
suppliers.sno=shipment.s_sno and parts.pno = shipment.s_pno group by sno;