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

DBMS Aggignment Manual

The document describes creating and populating tables to track books, members, and book rentals from a library. It includes steps to create the tables, add primary and foreign key constraints, insert sample data, and write queries to modify data. Questions ask to modify the table structures by adding/changing columns and constraints, and write queries to update specific records by member ID or book ID.

Uploaded by

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

DBMS Aggignment Manual

The document describes creating and populating tables to track books, members, and book rentals from a library. It includes steps to create the tables, add primary and foreign key constraints, insert sample data, and write queries to modify data. Questions ask to modify the table structures by adding/changing columns and constraints, and write queries to update specific records by member ID or book ID.

Uploaded by

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

Q1.

Create tables with the given attributes:-


1
Library

Book_no varchar(4)
Book_Title varchar2(20)
Author varchar2(20)
Purchase_Date date
Price Number(4)
Publisher_id Number(5)
{referential key of table publisher}

Publisher
Publisher_id number(5) {primary key}
Publisher_name varchar2(30)

Q.1 After creating the table insert 5 records.


ANS:
>CREATE TABLE LIBRARY(BOOK_NO NUMBER(4),BOOK_TITLE VARCHAR2(20),AUTHOR
VARCHAR2(20),PURCHASE_DATE DATE,PRICE DECIMAL(5,2),PUBLISHER_ID NUMBER(5) NOT NULL PRIMARY
KEY);

>CREATE TABLE PUBLISHER(PUBLISHER_ID NUMBER(5) NOT NULL,PUBLISHER_NAME


VARCHAR2(30),FOREIGN KEY (PUBLISHER_ID) REFERENCES LIBRARY (PUBLISHER_ID));

>INSERT INTO LIBRARY VALUES(111,'JAVA','SUMITRA',TO_DATE('25/06/2017','DD/MM/YYYY'),525.00,1);


>INSERT INTO LIBRARY VALUES(112,'SQL','LEON',TO_DATE('02/02/2017','DD/MM/YYYY'),510.00,2);
>INSERT INTO LIBRARY VALUES(113,'OS','RAVINDRA',TO_DATE('03/12/2015','DD/MM/YYYY'),450.00,3);
>INSERT INTO LIBRARY VALUES(114,'DATABASE','ALEXIS',TO_DATE('25/06/2014','DD/MM/YYYY'),350.00,4);
>INSERT INTO LIBRARY VALUES(115,'SAD','SUDHIR',TO_DATE('01/05/2015','DD/MM/YYYY'),525.00,5);

PUBLISHER
>INSERT INTO PUBLISHER VALUES(1,'GOLDEN');
>INSERT INTO PUBLISHER VALUES(2,'TATAMACRAW HILLS');
>INSERT INTO PUBLISHER VALUES(3,'INDIAN PUBLISHER');
>INSERT INTO PUBLISHER VALUES(4,'TATAMACRAW HILLS');
>INSERT INTO PUBLISHER VALUES(5,'TATA');
Q.2 Make a query to display all the records having price>500.
ANS:

>SELECT * FROM LIBRARY WHERE PRICE>500;

Q.3 Display only Book_no and Publisher_id for all rows using “Library”and
“Publisher” as column heading.
ANS:

> SELECT L.BOOK_NO,P.PUBLISHER_ID FROM LIBRARY L,PUBLISHER P WHERE


L.PUBLISHER_ID=P.PUBLISHER_ID;

Q.4Delete the rows in which Book_title starts with letter ‘D’.


ANS:
DELETE FROM LIBRARY WHERE BOOK_TITLE LIKE 'D%';

Q.5 Update price,increase it with 10% for book title=”Database”

ANS:
>INSERT INTO LIBRARY
VALUES(114,'DATAANALYSIS','ALEXIS',TO_DATE('25/06/2014','DD/MM/YYYY'),350.00,4);

>UPDATE LIBRARY SET PRICE= PRICE * 0.1 WHERE BOOK_TITLE= 'DATAANALYSIS' ;


Q.6 Make a query to display the Book_title,Author name and publisher name.
ANS:

>SELECT L.BOOK_TITLE,L.AUTHOR,P.PUBLISHER_NAME FROM LIBRARY L,PUBLISHER P WHERE


L.PUBLISHER_ID=P.PUBLISHER_ID;

Q.7Display all the rows in descending order of Book title for price >400 and <700.
ANS:
>SELECT * FROM LIBRARY WHERE PRICE BETWEEN 400 AND 700 ORDER BY BOOK_TITLE DESC;

2 Create tables with the given attributes:-


STUDENT

STUDENT_NO NUMBER(5)
NAME VARCHAR2(25)
CLASS CHAR(6)
MARKS NUMBER(3)

Q.1 After creating the table insert 5 records


ANS:
INSERT INTO STUDENT VALUES(101,'AKSHAY','BCA',450);
INSERT INTO STUDENT VALUES(102,'AMIT','MCA',430);
INSERT INTO STUDENT VALUES(103,'AJAY','MBA',250);
INSERT INTO STUDENT VALUES(104,'VIJAY','BBA',420);
INSERT INTO STUDENT VALUES(105,'SHAKTI','BSC',390);
Q.2 DISPLAY THE AVERAGE MARKS IN EACH CLASS HAVING AVERAGE
MARKS>60%.
ANS:
SELECT NAME,AVG(MARKS) FROM STUDENT GROUP BY NAME HAVING AVG(MARKS)>300;

Q.3 DISPLAY ONLY RECORDS OF BCA,MBA,MCA,BBA STUDENTS


ANS:
SELECT * FROM STUDENT WHERE CLASS IN('BCA','MCA','BBA','MBA');

Q.4 COUNT THE TOTAL NO. OF RECORDS IN TABLE


ANS:
SELECT COUNT(*) FROM STUDENT;

Q.5 DISPLAY THE NAME OF STUDENT WHO SCORED HIGHEST MARKS


ANS:

SELECT * FROM STUDENT WHERE MARKS=(SELECT MAX(MARKS)FROM STUDENT);


Q.6 DISPLAY THE NAME OF STUDENT WHO SCORED SECOND HIGHEST MARKS
ANS:
SELECT NAME,MARKS FROM STUDENT WHERE MARKS<(SELECT MAX(MARKS) FROM STUDENT);

Q.7 ADD A NEW FIELD PHONE NO.


ANS:
ALTER TABLE STUDENT ADD PHONE_NO VARCHAR2(10);

Q.8 FIND ALL THE STUDENTS WHOSE PHONE NUMBER IS NOT KNOWN
ANS:

SELECT*FROM STUDENT WHERE PHONE_NO IS NULL;

Q.9 GIVE 10% INCREMENT IN MARKS TO ALL BCA STUDENTS


ANS:
UPDATE STUDENT SET MARKS=MARKS*1.1 WHERE CLASS='BCA';

Q.10 FIND THE STUDENTS WHO DO NOT STUDY IN THE BCA CLASS
ANS:
SELECT* FROM STUDENT WHERE CLASS NOT IN('BCA');
3 Create the table with given attribites:

Employe(empno,ename,job,salary,commission,manager,hredate,deptno)
Dept(deptno,dname,location)

EMPLOYE

CREATE TABLE EMPLOYE(EMPNO VARCHAR(2),ENAME VARCHAR2(25),JOB VARCHAR2(15),SALARY


DECIMAL(6,2),COMMISSION DECIMAL(6,2),MANAGERS VARCHAR2(9) DEFAULT NULL,HREDATE
DATE,DEPTNO VARCHAR(6) NOT NULL PRIMARY KEY);

DEPARTMENT

CREATE TABLE DEPARTMENT(DEPTNO VARCHAR2(5),DNAME VARCHAR2(25),LOCATION


VARCHAR2(25),FOREIGN KEY (DEPTNO) REFERENCES EMPLOYE (DEPTNO));

>INSERT INTO EMPLOYE VALUES(111,'AKSHAY','EXECUTIVE',1000.00,5000.00,100,TO_DATE('01-06-


1981','DD-MM-YYYY'),10);

>INSERT INTO EMPLOYE VALUES(112,'ABHAY','EXECUTIVE',6700.00,4000.00,7782,TO_DATE('01-06-


1982','DD-MM-YYYY'),20);

>INSERT INTO EMPLOYE VALUES(113,'AAKASH','ASSISTANT',6900.00,4100.00,5000,TO_DATE('08-02-


1982','DD-MM-YYYY'),30);

>INSERT INTO EMPLOYE VALUES(114,'AMIT','ASSISTANT',7500.00,4500.00,2000,TO_DATE('08-09-1986','DD-


MM-YYYY'),40);

INSERT INTO EMPLOYE VALUES(115,'HARSHIT','SALESMAN',700.00,200.00, 50,TO_DATE('21-07-1975','DD-


MM-YYYY'),50);

INSERT INTO EMPLOYE VALUES(116,'HARSH','SALESMAN',1200.00,300.00,' ',TO_DATE('21-07-1979','DD-


MM-YYYY'),60);

INSERT INTO EMPLOYE VALUES(117,'AMESH','SALEMAN',4300.00,900.00,1500,TO_DATE('25-10-1972','DD-


MM-YYYY'),70);
Q.1 Display the name and salary for all employees whose salary is not in range of
6700 and 7500
ANS:
SELECT ENAME,SALARY FROM EMPLOYE WHERE SALARY NOT BETWEEN 6700 AND 7500;

Q.2 Display the employee name,job start date of the employee hired between
june 01,1981 to June 01,1982 order the query in ascending order by start
date.
ANS:
SELECT ENAME,HREDATE FROM EMPLOYE WHERE HREDATE BETWEEN TO_DATE('01-06
1981','DD/MM/YYYY') AND TO_DATE('01-06-1982','DD/MM/YYYY') ORDER BY HREDATE ASC;

Q.3 Display the name and job title for all employee who don’t have manager.
ANS:
SELECT ENAME,JOB FROM EMPLOYE WHERE MANAGERS IS NULL;

Q.4 Display the names of all employees where the second letter of their name is
‘A’ or their names contain ’ES’.
ANS:
SELECT ENAME FROM EMPLOYE WHERE ENAME LIKE 'A%' OR ENAME LIKE '%ES%';
Q.5 Display the name,salary,commission for all employee who earn commission
sort data in descending order of salary and commission.
ANS:

SELECT ENAME,SALARY,COMMISSION FROM EMPLOYE ORDER BY SALARY DESC,COMMISSION DESC;

Q.6 Display the names of all employee who have two ‘A’ in their name and in
department 20 and their manager is 7782.
ANS:
SELECT ENAME FROM EMPLOYE WHERE ENAME LIKE 'A%A%' OR DEPTNO=20 AND MANAGERS=7782;

Q.7 Display the highest,lowest,sum and average salary of all employees .label
the column max_salary, min_salary, SUM_salary and average_salary
respectively.
ANS:
SELECT MAX(SALARY) AS MAX_SALARY,MIN(SALARY) AS MIN_SALARY,SUM(SALARY) AS
SUM_SALARY,AVG(SALARY) AS AVERAGE_SALARY FROM EMPLOYE;
Q.8 Write a query to display no. of peoples with same job.
ANS:
SELECT COUNT(ENAME),JOB FROM EMPLOYE GROUP BY JOB;

Q.9 Write the query to display the department name number of


employee and the average salary for all employee in that department.
ANS:
SELECT COUNT(*) AS COUNT,AVG(SALARY) AS AVERAGE_SAL,D.DNAME FROM EMPLOYE E INNER
JOIN DEPARTMENT D ON E.DEPTNO=D.DEPTNO GROUP BY D.DNAME;

Q.10 Write a query to display the employees name and the hire date for all
employee in the same department as ‘ACCOUNT’
ANS:
SELECT E.ENAME,E.HREDATE FROM EMPLOYE E,DEPARTMENT D WHERE D.DNAME='ACCOUNT' AND
E.DEPTNO=D.DEPTNO;

Q.11 Create a query to display the employee that earn a salary that is higher
than the salary of all salesman. Sort the result on salary from higher to
lowest.
ANS:
SELECT * FROM EMPLOYE ORDER BY SALARY DESC;
Q.12 Find out which department dosn’t have any employee.

ANS:
SELECT D.DNAME FROM EMPLOYE E,DEPARTMENT D WHERE E.ENAME IS NULL AND E.DEPTNO=D.DEPTNO;

OUTPUT:

4 Create the following table:

BOOKS(BOOK_ID,B_NAME,AUTHOR,PURCHASE_DATE,COST)
MEMBERS(M_ID,M_NAME,ADDRESS,PHONE,BIRTH_DATE)
BOOK_ISSUED(BOOK_ID,M_ID,ISSUE_DATE,RETURN_DATE)

Q.1 ADD PRIMARK KEY CONSTRAINT ON BOOK_ID ATTRIBUTE OF RELATION BOOKS AND
ALSO ON M_ID ATTRIBUTE OF RELATION MEMBER. ADD FOREIGN KEY CONSTRAINT TO
RELATION BOOK_ISSUED WHERE BOOK_ID REFERENCES TO BOOK_ID OF BOOKS M_ID
REFERENCES TO M_ID OF MEMBERS.

ANS:

>CREATE TABLE BOOKS(BOOK_ID VARCHAR(5) NOT NULL PRIMARY KEY,B_NAME VARCHAR2(25),AUTHOR


VARCHAR(25),PURCHASE_DATE DATE,COST DECIMAL(6,2));
>CREATE TABLE MEMBERS(M_ID VARCHAR(5) NOT NULL PRIMARY KEY,M_NAME VARCHAR(25),ADDRESS
VARCHAR(50),PHONE VARCHAR(10),BIRTH_DATE DATE);

>CREATE TABLE BOOK_ISSUED(BOOK_ID VARCHAR(5)NOT NULL,M_ID VARCHAR(5)NOT NULL,ISSUE_DATE


DATE ,RETURN_DATE DATE,FOREIGN KEY (BOOK_ID) REFERENCES BOOKS (BOOK_ID),FOREIGN KEY (M_ID)
REFERENCES MEMBERS (M_ID));

DATA FOR BOOKS AND MEMBERS TABLE

>INSERT INTO BOOKS VALUES(111,'JAVA','GOSWAMI',TO_DATE('20-7-2016','DD-MM-YYYY'),350.00);


>INSERT INTO MEMBERS VALUES(1111,'AKSHAY','JAIPUR',9782042988,TO_DATE('21-09-2000','DD-MM-
YYYY'));

Q.2 APPLY SYSDATE AS THE DEFAULT VALUE FOR ISSUE DATE FIELD OF
BOOK_ISSUED
ANS:

>INSERT INTO BOOK_ISSUED VALUES(111,1111,SYSDATE,SYSDATE+10);

Q.3 WRITE A QUERY TO MODIFY THE PHONE NUMBER WHOSE MEMBER ID IS


“ 1111 ”
ANS:
>UPDATE MEMBERS SET PHONE=7014944778 WHERE M_ID=1111;

Q.4 WRITE A QUERY TO ADD A NOT NULL CONSTRAINT ON ATTRIBUTE B_NAME


ANS:
ALTER TABLE BOOKS MODIFY B_NAME VARCHAR(25) NOT NULL;

Q.5 MODIFY THE AUTHOR FIELD OF RELATION BOOKS, CHANGE ITS DATA TYPE
TO CHAR(30).
ANS:
ALTER TABLE BOOKS MODIFY AUTHOR CHAR(30);

Q.6 ADD A NEW ATTRIBUTE NAMED NAMED “PUBLISHER” TO RELATION BOOKS


ANS:
ALTER TABLE BOOKS ADD PUBLISHER VARCHAR(25) DEFAULT NULL;
Q.7 DELETE FIELD PHONE FROM RELATION MEMBER
ANS:
ALTER TABLE MEMBERS DROP COLUMN PHONE;

Q.8 DELETE THE STRUCTURE OF ALL TABLES.

ANS:

DROP TABLE BOOK_ISSUED;

DROP TABLE MEMBERS;

DROP TABLE BOOKS;

You might also like