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

DBMS Prog 1

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

DBMS Prog 1

khj
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 9
DBMS Lab Manual-2018 EXPERIMENTS PART A: SOL PROGRAMMING 1. 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, ete. 2. Get the particulars of borrowers who have borrowed more than 3 books, but from Jan 2017 to Jun 2017 3. Delete a book in BOOK table, Update the contents of other tables to reflect this data manipulation operation. 4. Partition the BOOK table based on year of publication. Demonstrate its working with a simple query. 5. Create a view of all books and its number of copies that are currently available in the Library. SS ~ hema Di Book CSE Dept,MSEC Page 22 ram DBMS Lab Manual-2018 Title | Pub_Year | Publisher Name f Book_Aut thors Name [ Phone_no | Address Book_Copies Branch id | No_of_Copies WT Book_Lending Book id | Branch id | Card_no | Date_out | Due_date Library_Branch 4 Branch id] ‘Address | Branch_name LD) Table Creation CREATE TABLE PUBLISHER. (NAME VARCHAR? (20) PRIMARY KEY, PHONE INTEGER, ADDRESS VARCHAR2 (20); CREATE TABLE BOOK. (BOOK_ID INTEGER PRIMARY KEY, TITLE VARCHAR? (20), PUB_YEAR VARCHAR? (20), PUBLISHER_NAME REFERENCES PUBLISHER (NAME) ON DELETE CASCADE); CREATE TABLE BOOK_AUTHORS, (AUTHOR_NAME VARCHAR2 (20), BOOK_ID REFERENCES BOOK (BOOK_ID) ON DELETE CASCADE, CSE Dept,MSEC Page 23 DBMS Lab Manual-2018 PRIMARY KEY (BOOK_ID, AUTHOR_NAME)); CREATE TABLE LIBRARY_BRANCH (BRANCH_ID INTEGER PRIMARY KEY, BRANCH_NAME VARCHAR? (50), ADDRESS VARCHAR2 (50); CREATE TABLE BOOK_COPIES (NO_OF_COPIES INTEGER, BOOK_ID REFERENCES BOOK (BOOK_ID) ON DELETE CASCADE, BRANCH_ID REFERENCES LIBRARY_BRANCH (BRANCH_ID) ON DELETE CASCADE, PRIMARY KEY (BOOK_ID, BRANC! LID); CREATE TABLE CARD (CARD_NO INTEGER PRIMARY KEY); CREATE TABLE BOOK_LENDING (DATE_OUT DATE DUE_DATE DATE, BOOK_ID REFERENCES BOOK (BOOK_ID) ON DELETE CASCADE, BRANCH_ID REFERENCES LIBRARY_BRANCH (BRANCH_ID) ON. CASCADE, CARD_NO REFERENCES CARD (CARD_NO) ON DELETE CASCADE, PRIMARY KEY (BOOK_ID, BRANCH_ID, CARD_NO)); Table Descriptions DESC PUBLISHER; SQL> dese publishers Name null? Type Nate NOT NULL VARCHAR (20) PHONE NUMBER (38) ADDRESS, ‘vaRCHAR2(20) DESC BOOK; SQL> DESC 800K; Mane nuit? Type 00K_1D NOT NULL NUMBER(38) THTLE varcAan2(20) PuB_YEAR UaecHAR? (29) PUBLISHER NAHE varcnan2(20) CSE Dept,MSEC Page 24 DBMS Lab Manual-2018 DESC BOOK_AUTHORS; SQL> DESC BOOK AUTHORS; Nane AUTHOR_NANE NOT NULL aRCHAR?(28) BooK_10 NOT MULL HUWDER(98) DESC LIBRARY_BRANCH; SOL> DESC LIBRARY_BRANCH; Hane til? Type ‘BRANCH_1D MOT MULL HUNBERC3B) ‘BRANCH MANE VaRcHAn2(s0) ADDRESS ‘aRcHAR2cs0) DESC BOOK_COPIES; SOL> DESC BO0K_coPrES: Nane MULL? type NO_OF_caPTEs HUNBER(38) BooK_ID NOT MULL MUNBER(38) BRANCH_LD NOT NULL NUNBER(38) DESC CARD; SOL> DESC carp; Nane Null? Type temo NOT MULL NUNBER(38) DESC BOOK_LENDIN' SAL> dese ook_ Lendl ane Dave our DUE. DATE 0% 10. ‘BRANT 1D Insertion of Values to Tables INSERT INTO PUBLISHER VALUES (‘MCGRAW-HILL’, 9989076587, ‘BANGALORE’); INSERT INTO PUBLISHER VALUES (‘PEARSON’, 9889076565, ‘NEWDELH’); INSERT INTO PUBLISHER VALUES (‘RANDOM HOUSE”, 7455679345, ‘HYDRABAD’); CSE Dept,MSEC Page 25 DBMS Lab Manual-2018 INSERT INTO PUBLISHER VALUES (‘HACHETTE LIVRE’, 8970862340, ‘CHENAI’); INSERT INTO PUBLISHER VALUES (‘GRUPO PLANETA’, 7756120238, ‘BANGALORE’); INSERT INTO BOOK VALUES (1,’DBMS’,‘JAN-2017", ‘MCGRAW-HILL’); INSERT INTO BOOK VALUES (2,'ADBMS’,"JUN-2016", ‘MCGRAW-HILL’); INSERT INTO BOOK VALUES (3,'CN’,’SEP-2016", ‘PEARSON’); INSERT INTO BOOK VALUES (4,'CG’,’SEP-2015", ‘GRUPO PLANETA’); INSERT INTO BOOK VALUES (5,'0S",’MAY-2016", PEARSON) INSERT INTO BOOK_AUTHORS VALUES (‘NAVATHE’, 1); INSERT INTO BOOK_AUTHORS VALUES (‘NAVATHE’, 2); INSERT INTO BOOK_AUTHORS VALUES (‘TANENBAUM', INSERT INTO BOOK_AUTHORS VALUES (‘EDWARD ANGI INSERT INTO BOOK_AUTHORS VALUES (’GALVIN’, 5); INSERT INTO LIBRARY_BRANCH VALUES (10,’RR NAGAR’, BANGALORE’); INSERT INTO LIBRARY_BRANCH VALUES (11,’RNSIT’,/BANGALORE’); INSERT INTO LIBRARY_BRANCH VALUES (12,’RAJAJI NAGAR’, BANGALORE’); INSERT INTO LIBRARY_BRANCH VALUES (13,’NITTE”,, MANGALORE’); INSERT INTO LIBRARY_BRANCH VALUES (14,’MANIPAL’,"UDUPI’); INSERT INTO BOOK_COPIES VALUES (10, 1, 10); INSERT INTO BOOK_COPIES VALUES (5, 1, 11); INSERT INTO BOOK_COPIES VALUES (2, 2, 12); INSERT INTO BOOK_COPIES VALUES (5, 2, 13); INSERT INTO BOOK_COPIES VALUES (7, 3, 14); INSERT INTO BOOK_COPIES VALUES (1, 5, 10); INSERT INTO BOOK_COPIES VALUES (3, 4, 11); INSERT INTO CARD VALUES (100); INSERT INTO CARD VALUES (101); INSERT INTO CARD VALUES (102); INSERT INTO CARD VALUES (103); INSERT INTO CARD VALUES (104); INSERT INTO BOOK_LENDING VALUES (’01-JAN-17’,'01-JUN-17’, 1, 10, 101); INSERT INTO BOOK_LENDING VALUES (’11-JAN-17’,11-MAR-17’, 3, 14, 101); INSERT INTO BOOK_LENDING VALUES (’21-FEB-17’,'21-APR-17’, 2, 13, 101); INSERT INTO BOOK_LENDING VALUES (’15-MAR-17°,15-JUL-17°, 4, 11, 101); INSERT INTO BOOK_LENDING VALUES (*12-APR-17°,'12-MAY-17’, 1, 11, 104); CSE Dept,MSEC Page 26 DBMS Lab Manual-2018 SELECT * FROM PUBLISHER; SQL> select * from publisher; NAHE PHONE ADDRESS NCGRAW-HILL 9989676587 BANGALORE PEARSON 9889676565 NEVDELHI RANDOM HOUSE 7455679345 HYDRABAD HACHETTE LIURE 8970862940 CHENAT GRUPO PLANETA 7756120228 BANGALORE SELECT * FROM BOOK; SQL> SELECT * FROM BOOK; BoOK_ID TITLE Pup_veaR PUBLISHER_NAWE 4 DBMS JAN-2017 MCGRAY-HILL 2 aDBHs SuN-2016 HeCRAU-HILL 3 GN SEP-2016 PEARSON 4 oe SEP-2015 GRUPO PLANETA 5 as hay-2016 PEARSON SELECT * FROM BOOK_AUTHORS; SQL> SELECT * FROM BOOK_@UTHORS AUTHOR_NAHE BOOK_ID NAUATHE NAUATHE TANENBAUN EDWARD ANGEL BALUIN eens SELECT * FROM LIBRARY_BRANCH; SELECT * FROM BOOK_COPIES; SQL> SELECT » FROM nooK_coPIES; NO_OF_COPIES — BOOK_ID BRANCH_ID a8 1 4e 5 4 4 2 2 42 5 2 43 7 2 44 1 5 ae a x 4 CSE Dept,MSEC Page 27 DBMS Lab Manual-2018 SELECT * FROM CARD; SQL> SELECT * FROM CARD eARD_NO 109 191 102 109 408 SELECT * FROM BOOK_LENDING; SQL> select * fron book_lending; paTE_our 1-JaN-17 14-JAN-17 21-FEB-17 45-HAR-17 12-APR-17 Queries: DUE_DATE @1-JUN-17 44-HAR-17 21-APR-17 45-JUL-17 42-"Av—17 BOOK_ID aenest BRANCH_ID eaRD_No 101 101 1 101 404 1. Retrieve details of all books in the library ~ id, title, name of publisher, authors, number of copies in each branch, ete. SELECT B.BOOK_ID, B.TITLE, B.PUBLISHER_NAME, C.NO_OF_COPIES, L.BRANCH_ID A.AUTHOR_NAME, FROM BOOK B, BOOK_AUTHORS A, BOOK_COPIES C, LIBRARY_BRANCH L. WHERE B.BOOK_ID=A.BOOK_ID AND B.BOOK_ID=C,BOOK_ID AND L.BRANCH_ID=C.BRANCH_ID; 2 2 aban HegRaw-atL eGRAUCATLL NnvaTHE aURE R " 1. Get the particulars of borrowers who have borrowed more than 3 books, but from Jan 2017 to Jun 2017. SELE "T CARD_NO FROM BOOK _L CSE Dept,MSEC Page 28 DBMS Lab Manual-2018 WHERE DATE_OUT BETWEEN ’01-JAN-2017’ AND ’01-JUL-2017° GROUP BY CARD_NO HAVING COUNT (*)>3; CARD_NO 491 2. Delete a book in BOOK table. Update the contents of other tables to reflect this data FROM BOOK WHERE BOOK_ID=3; SQL> DELETE FROM BOOK 2 WHERE BODK_1D=3; 1 rou deleted. SQL> SELECT * FROM BOOK; BOOK_ID TITLE PUB_YEAR PUBLISHER_NANE 4 DBHs JAaH-2017 MEGRAW-HILL 2 apans SUN-2016 HCERAW-HILL 4 ce SEP-2015 GRUPO. PLANETA 5 0s May-2016 PEARSON 3. Partition the BOOK table based on year of publication, Demonstrate its working with a simple query. FROM BOOK; PUB_YEAR JaNn-2017 JUN-2016 SEP-2016 SEP-2015 hay-2016 Create a view of all books and its number of copies that are currently available in the Library. CREATE VIEW V_BOOKS AS SELECT B.BOOK_ID, B.TITLE, C.NO_OF_COPIES FROM BOOK B, BOOK_COPIES C, LIBRARY_BRANCH L CSE Dept,MSEC Page 29 DBMS Lab Manual-2018 WHERE B.BOOK_ID=C.BOOK_ID AND C.BRANCH_ID=L.BRANCH_ID; BOOK_ID TITLE NO_OF_COPIES DBS 1 Dens ADBHS apBKs cH os ee. euennaa! 2. Consider the following schema for Order Database: SALESMAN (Salesman_id, Name, City, Commission) CUSTOMER (Customer_id, Cust_Name, City, Grade, Salesman_id) ORDERS (Ord_No, Purchase_Amt, Ord_Date, Customer_id, Salesman_id) Write SQL queries to 1. Count the customers with grades above Bangalore’s average. 2. Find the name and numbers of all salesmen who had more than one customer. 3. List all salesmen and indicate those who have and don’t have customers in their cities (Use UNION operation.) 4. Create a view that finds the salesman who has the customer with the highest order of a day. CSE Dept,MSEC Page 30

You might also like