0% found this document useful (0 votes)
8 views

DBMS-1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

DBMS-1

Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

1.

LIBRARY DATABASE
1.CREATE TABLE PUBLISHER (NAME VARCHAR(20) PRIMARY KEY, PHONE INTEGER,
ADDRESS VARCHAR(20)); DESC PUBLISHER;
2.CREATE TABLE BOOK (BOOK_ID INTEGER PRIMARY KEY,TITLE VARCHAR(20),
PUB_YEAR VARCHAR(20), PUB_NAME VARCHAR(20),FOREIGN KEY (PUB_NAME) REFERENCES
PUBLISHER(NAME) ON DELETE CASCADE); DESC BOOK;

3.CREATE TABLE BOOK_AUTHORS (AUTHOR_NAME VARCHAR(20),


BOOK_ID INTEGER,FOREIGN KEY (BOOK_ID) REFERENCES BOOK(BOOK_ID) ON DELETE
CASCADE, PRIMARY KEY(BOOK_ID, AUTHOR_NAME)); DESC BOOK_AUTHORS;
4.CREATE TABLE LIBRARY_PROGRAMME (PROGRAMME_ID INTEGER PRIMARY KEY,
PROGRAMME_NAME VARCHAR(50),ADDRESS VARCHAR(50));
DESC LIBRARY_PROGRAMME;
5.CREATE TABLE BOOK_COPIES (NO_OF_COPIES INTEGER, BOOK_ID INTEGER,
PROGRAMME_ID INTEGER, FOREIGN KEY (BOOK_ID) REFERENCES BOOK(BOOK_ID) ON
DELETE CASCADE, FOREIGN KEY(PROGRAMME_ID) REFERENCES
LIBRARY_PROGRAMME(PROGRAMME_ID) ON DELETE CASCADE, PRIMARY KEY
(BOOK_ID,PROGRAMME_ID)); DESC BOOK_COPIES;
6.CREATE TABLE CARD (CARD_NO INTEGER PRIMARY KEY); DESC CARD;
7.CREATE TABLE BOOK_LENDING(BOOK_ID INTEGER,PROGRAMME_ID INTEGER,CARD_NO
INTEGER, DATE_OUT DATE, DUE_DATE DATE, FOREIGN KEY (BOOK_ID) REFERENCES
BOOK(BOOK_ID) ON DELETE CASCADE, FOREIGN KEY (PROGRAMME_ID) REFERENCES
LIBRARY_PROGRAMME(PROGRAMME_ID) ON DELETE CASCADE, FOREIGN KEY (CARD_NO)
REFERENCES CARD(CARD_NO) ON DELETE CASCADE, PRIMARY KEY
(BOOK_ID,PROGRAMME_ID,CARD_NO));
DESC BOOK_LENDING;

-INSERT INTO PUBLISHER VALUES('SAPNA',912121212,'BANGALORE');


-INSERT INTO BOOK VALUES(1,'BASICS OF EXCEL','JAN-2017','SAPNA');
-INSERT INTO BOOK_AUTHORS VALUES ('SRI DEVI',1);
-INSERT INTO LIBRARY_PROGRAMME VALUES(100,'HSR LAYOUT','BANGALORE');
-INSERT INTO BOOK_COPIES VALUES(10,1,100); -INSERT INTO CARD VALUES(500);
-INSERT INTO BOOK_LENDING VALUES(1, 100, 501, '2017-01-01','2017-01-31');
Queries…….. ->
1.select b.book_id,b.title,b.pub_name,a.author_name,c.no_of_copies,c.branch_id from
book b,book_author a,book_copies c where b.book_id=a.book_id and
b.book_id=c.book_id;
2.select card_no ,DATE_OUT,DUE_DATE from book_lending where date_out between
'2019-01-01' and '2019-06-30' group by card_no having count(*)>3;
3. delete from book where book_id=1001;
4. MariaDB [lib]> CREATE VIEW V_PUBLICATION AS SELECT PUB_YEAR FROM BOOK;
MariaDB [lib]> select * from v_publication;
5. CREATE VIEW V_BOOKS AS SELECT B.BOOK_ID, B.TITLE, C.NO_OF_COPIES FROM
BOOK B, BOOK_COPIES C, LIBRARY_BRANCH L WHERE B.BOOK_ID=C.BOOK_ID AND
C.BRANCH_ID=L.BRANCH_ID;
2.SALES ORDER DATABASE:

CREATE TABLE SALESMAN (SALESMAN_ID INTEGER PRIMARY KEY, NAME


VARCHAR(20), CITY VARCHAR(20), COMMISSION VARCHAR(20)); DESC SALESMAN;

CREATE TABLE CUSTOMER (CUSTOMER_ID INTEGER PRIMARY KEY, CUST_NAME


VARCHAR(20), CITY VARCHAR(20), GRADE INTEGER, SALESMAN_ID INTEGER,
FOREIGN KEY (SALESMAN_ID) REFERENCES SALESMAN(SALESMAN_ID) ON DELETE
SET NULL); DESC CUSTOMER;

CREATE TABLE ORDERS (ORDER_NO INTEGER PRIMARY KEY, PURCHASE_AMOUNT


DECIMAL(10,2), ORDER_DATE DATE, CUSTOMER_ID INTEGER, SALESMAN_ID
INTEGER, FOREIGN KEY (CUSTOMER_ID) REFERENCES
CUSTOMER(CUSTOMER_ID)ON DELETE CASCADE, FOREIGN KEY (SALESMAN_ID)
REFERENCES SALESMAN(SALESMAN_ID) ON DELETE CASCADE); DESC ORDERS;

-INSERT INTO SALESMAN VALUES(1000,'RAHUL','BANGALORE','20%');


-INSERT INTO CUSTOMER VALUES(1,'ADYA','BANGALORE',100,1000);
-INSERT INTO ORDERS VALUES(201,5000,'2020-06-02',1,1000);

Queries…….. ->
1.SELECT GRADE, COUNT(DISTINCT CUSTOMER_ID) FROM CUSTOMER GROUP BY
GRADE HAVING GRADE > (SELECT AVG(GRADE)FROM CUSTOMER WHERE
CITY='BANGALORE');

2.SELECT S.SALESMAN_ID, S.NAME FROM SALESMAN S WHERE 1< (SELECT COUNT(*)


FROM CUSTOMER C WHERE C.SALESMAN_ID=S.SALESMAN_ID);

3.SELECT S.SALESMAN_ID, NAME, CUST_NAME, COMMISSION FROM SALESMAN S,


CUSTOMER C WHERE S.CITY=C.CITY UNION SELECT SALESMAN_ID,NAME,'NO
MATCH',COMMISSION FROM SALESMAN WHERE CITY NOT IN (SELECT CITY FROM
CUSTOMER);

4.CREATE VIEW HIGHEST_ORDER AS SELECT O.ORD_DATE,S.SALESMAN_ID,S.NAME


FROM SALESMAN S,ORDERS O WHERE S.SALESMAN_ID=O.SALESMAN_ID AND
O.PURCHASE_AMT=(SELECT MAX(PURCHASE_AMT) FROM ORDERS OD WHERE
O.ORD_DATE=OD.ORD_DATE);

5.DELETE FROM SALESMAN WHERE SALESMAN_ID=1000;


3.MOVIE DATABASE:
1.CREATE TABLE ACTOR (ACT_ID INTEGER PRIMARY KEY, ACT_NAME VARCHAR(20),
ACT_GENDER CHAR(1)); DESC ACTOR;
2.CREATE TABLE DIRECTOR(DIR_ID INTEGER PRIMARY KEY, DIR_NAME VARCHAR(20),
DIR_PHONE INTEGER); DESC DIRECTOR;

3.CREATE TABLE MOVIES(MOV_ID INTEGER PRIMARY KEY, MOV_TITLE VARCHAR(25),


MOV_YEAR INTEGER, MOV_LANG VARCHAR(15), DIR_ID INTEGER, FOREIGN KEY
(DIR_ID) REFERENCES DIRECTOR(DIR_ID));
DESC MOVIES;
4.CREATE TABLE MOVIE_CAST(ACT_ID INTEGER, MOV_ID INTEGER, ROLE
VARCHAR(10), PRIMARY KEY (ACT_ID,MOV_ID), FOREIGN KEY (ACT_ID) REFERENCES
ACTOR(ACT_ID), FOREIGN KEY (MOV_ID) REFERENCES MOVIES(MOV_ID));
DESC MOVIE_CAST;

5.CREATE TABLE RATING(MOV_ID INTEGER PRIMARY KEY, REV_STARS VARCHAR(25),


FOREIGN KEY (MOV_ID) REFERENCES MOVIES(MOV_ID)); DESC RATING;

-INSERT INTO ACTOR VALUES(101,'RAHUL','M');


-INSERT INTO DIRECTOR VALUES(201,'ANUP',918181818);
-INSERT INTO MOVIES VALUES(1001,'MANASU',2017,'KANNADA',201);
-INSERT INTO MOVIE_CAST VALUES(101,1002,'HERO');
-INSERT INTO RATING VALUES(1001,4);
Queries………. ->
1.SELECT MOV_TITLE FROM MOVIES WHERE DIR_ID IN (SELECT DIR_ID FROM
DIRECTOR WHERE DIR_NAME = 'ABCD');

2.SELECT MOV_TITLE FROM MOVIES M, MOVIE_CAST C WHERE M.MOV_ID=C.MOV_ID


AND C.ACT_ID IN (SELECT ACT_ID FROM MOVIE_CAST GROUP BY ACT_ID HAVING
COUNT(act_ID)>0) GROUP BY MOV_TITLE HAVING COUNT(*)>1;

3.SELECT A.ACT_NAME FROM (ACTOR A JOIN MOVIE_CAST C ON A.ACT_ID=C.ACT_ID)


JOIN MOVIES M ON C.MOV_ID=M.MOV_ID WHERE M.MOV_YEAR<2000 AND EXISTS
(SELECT A.ACT_NAME FROM (ACTOR A JOIN MOVIE_CAST C ON A.ACT_ID=C.ACT_ID)
JOIN MOVIES M ON C.MOV_ID=M.MOV_ID WHERE M.MOV_YEAR>2015);

4.SELECT M.MOV_TITLE, MAX(R.REV_STARS) AS HIGHEST_RATING FROM MOVIES


M,RATING R WHERE M.MOV_ID=R.MOV_ID GROUP BY M.MOV_TITLE HAVING
COUNT(R.REV_STARS)>0 ORDER BY M.MOV_TITLE;

5.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 =
'XYZ'));
4.COLLEGE DATABASE:
1.CREATE TABLE STUDENT( USN VARCHAR(10) PRIMARY KEY, SNAME VARCHAR(25),
ADDRESS VARCHAR(25), PHONE INTEGER, GENDER CHAR(1)); DESC STUDENT;

2.CREATE TABLE SEMSEC( SSID VARCHAR(5) PRIMARY KEY, SEM INTEGER,


SEC CHAR(1)); DESC SEMSEC;

3.CREATE TABLE CLASS(USN VARCHAR(10) PRIMARY KEY, SSID VARCHAR(5),


FOREIGN KEY(USN) REFERENCES STUDENT(USN), FOREIGN KEY(SSID) REFERENCES
SEMSEC(SSID)); DESC CLASS;

4.CREATE TABLE SUBJECT(SUBCODE VARCHAR(8) PRIMARY KEY, TITLE


VARCHAR(20),
SEM INTEGER, CREDITS INTEGER); DESC SUBJECT;

5.CREATE TABLE IAMARKS(USN VARCHAR(10), SUBCODE VARCHAR(8), SSID


VARCHAR(5), TEST1 INTEGER, TEST2 INTEGER, TEST3 INTEGER, FINALIA INTEGER,
PRIMARY KEY(SUBCODE,USN,SSID), FOREIGN KEY(USN) REFERENCES
STUDENT(USN), FOREIGN KEY(SUBCODE) REFERENCES SUBJECT (SUBCODE),
FOREIGN KEY(SSID) REFERENCES SEMSEC(SSID)); DESC IAMARKS;

INSERT INTO STUDENT VALUES ('1BI13CS020','ANAND','BELAGAVI', 1233423,'M');

INSERT INTO SEMSEC VALUES ('CSE8A', 8,'A');

INSERT INTO CLASS VALUES ('1BI13CS020','CSE8A');

INSERT INTO SUBJECT VALUES ('10CS81','ACA', 8, 4);

INSERT INTO IAMARKS (USN, SUBCODE, SSID, TEST1, TEST2, TEST3) VALUES
('1BI15CS101','10CS81','CSE8C', 15, 16, 18);

1.SELECT S.*, SS.SEM, SS.SEC


FROM STUDENT S, SEMSEC SS, CLASS C
WHERE S.USN = C.USN AND
SS.SSID = C.SSID AND
SS.SEM = 4 AND
SS.SEC='C';

2.SELECT SS.SEM, SS.SEC, S.GENDER, COUNT(S.GENDER) AS GENDER_COUNT FROM


STUDENT S, SEMSEC SS, CLASS C
WHERE S.USN = C.USN AND SS.SSID=C.SSID
GROUP BY SS.SEM, SS.SEC, S.GENDER
ORDER BY SS.SEM;
3.CREATE VIEW STU_TEST1 AS
SELECT TEST1, SUBCODE
FROM IAMARKS
WHERE USN='11XX1234';

4.update iamarks set finalia=(test1+test2+test3-least(test1,test2,test3))/2;


select * from iamarks;

5.SELECT
S.USN,S.SNAME,SS.SEM,SS.SEC,SUB.TITLE,IA.TEST1,IA.TEST2,IA.TEST3,IA.FINALIA,
(
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,SUBJECT SUB, IAMARKS IA
WHERE S.USN=IA.USN AND SS.SSID=IA.SSID AND SUB.SUBCODE=IA.SUBCODE AND
SS.SEM=8 AND
SS.SEC IN('A','B','C');
5.COMPANY DATABASE:
CREATE TABLE DEPARTMENT(DNO VARCHAR(20) PRIMARY KEY, DNAME
VARCHAR(20), MGR_SSN VARCHAR(20), MGR_START_DATE DATE); DESC
DEPARTMENT;

CREATE TABLE EMPLOYEE (SSN VARCHAR(20) PRIMARY KEY, NAME VARCHAR(20),


ADDRESS VARCHAR(20),SEX CHAR(1), SALARY INTEGER, SUPERSSN VARCHAR(20),
DNO VARCHAR(20), FOREIGN KEY (SUPERSSN) REFERENCES EMPLOYEE (SSN),
FOREIGN KEY (DNO) REFERENCES DEPARTMENT (DNO)); DESC EMPLOYEE;

ALTER TABLE DEPARTMENT ADD FOREIGN KEY (MGR_SSN) REFERENCES


EMPLOYEE(SSN);

CREATE TABLE DLOCATION (DLOC VARCHAR(20),DNO VARCHAR(20), FOREIGN KEY


(DNO) REFERENCES DEPARTMENT(DNO), PRIMARY KEY (DNO, DLOC)); DESC
DLOCATION;

CREATE TABLE PROJECT(PNO INTEGER PRIMARY KEY, PNAME VARCHAR(20),


PLOCATION VARCHAR(20), DNO VARCHAR(20), FOREIGN KEY (DNO) REFERENCES
DEPARTMENT(DNO)); DESC PROJECT;

CREATE TABLE WORKS_ON(HOURS INTEGER, SSN VARCHAR(20), PNO INTEGER,


FOREIGN KEY (SSN) REFERENCES EMPLOYEE(SSN), FOREIGN KEY (PNO)
REFERENCES PROJECT(PNO), PRIMARY KEY (SSN, PNO)); DESC WORKS_ON;

INSERT INTO EMPLOYEE (SSN, NAME, ADDRESS, SEX, SALARY) VALUES ('ABC01','BEN
SCOTT','BANGALORE','M', 450000);

INSERT INTO DEPARTMENT VALUES ('1','ACCOUNTS','ABC09', '2016-01-03');

UPDATE EMPLOYEE SET SUPERSSN=NULL, DNO='3' WHERE SSN='ABC01';

INSERT INTO DLOCATION VALUES ('BENGALURU', '1');

INSERT INTO PROJECT VALUES (1000,'IOT','BENGALURU','5');

INSERT INTO WORKS_ON VALUES (4, 'ABC02', 1000);

QUERY 1:
(SELECT DISTINCT P.PNO
FROM PROJECT P, DEPARTMENT D, EMPLOYEE E
WHERE P.DNO=D.DNO
AND D.MGRSSN=E.SSN
AND E.LNAME='SOCTT')
UNION
(SELECT DISTINCT P1.PNO
FROM PROJECT P1, WORKS_ON W, EMPLOYEE E1
WHERE P1.PNO=W.PNO
AND E1.SSN=W.SSN
AND E1.LNAME='SOCTT');

QUERY 2:
SELECT E.FNAME, E.LNAME, 1.1*E.SALARY AS INCR_SAL FROM
EMPLOYEE E, WORKS_ON W, PROJECT P
WHERE E.SSN=W.SSN
AND W.PNO=P.PNO
AND P.PNAME='IOT';

QUERY 3:
SELECT SUM(E.SALARY)AS TOTAL_SALARY, MAX(E.SALARY)AS MAXIMUM,
MIN(E.SALARY) AS
MINIMUM, AVG(E.SALARY) AS AVERAGE
FROM EMPLOYEE E, DEPARTMENT D
WHERE E.DNO=D.DNO
AND D.DNAME='ACCOUNTS';

QUERY 4:
SELECT E.FNAME, E.LNAME
FROM EMPLOYEE E
WHERE NOT EXISTS
(SELECT PNO FROM PROJECT P WHERE DNO=5
AND P.PNO NOT IN(SELECT PNO FROM WORKS_ON WHERE E.SSN=SSN));

QUERY 5:
SELECT E.DNO, COUNT(*) AS NO_OF_EMPLOYEE
FROM EMPLOYEE E
WHERE E.SALARY>600000
AND E.DNO IN (SELECT E1.DNO
FROM EMPLOYEE E1
GROUP BY E1.DNO
HAVING COUNT(*)>5)
GROUP BY E.DNO;

You might also like