0% found this document useful (0 votes)
225 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
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)
225 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
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/ 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