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

Dbms Lab Pims

Uploaded by

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

Dbms Lab Pims

Uploaded by

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

Department of Computer Applications

Database Management System Lab Manual

Padmashree Institute of Management and Sciences


Kommaghatta, Kengeri, Bangalore
1
INTRODUCTION TO SQL
Pronounced as SEQUEL: Structured English QUERY Language
Pure non-procedural query language

Designed and developed by IBM, Implemented by Oracle

1978 System/R IBM- 1st Relational DBMS

1979 Oracle and Ingres

1982 SQL/DS and DB2 IBM

Accepted by both ANSI + ISO as Standard Query Language for any RDBMS

SQL86 (SQL1) : first by ANSI and ratified by ISO (SQL-87), minor revision on 89 (SQL-89)

SQL92 (SQL2) : major revision

SQL99 (SQL3) : add recursive query, trigger, some OO features, and non-scholar type

SQL2003 : XML, Window functions, and sequences (Not free)

Supports all the three sublanguages of DBMS: DDL, DML, DCL

Supports Aggregate functions, String Manipulation functions, Set theory operations, Date
Manipulation functions, rich set of operators ( IN, BETWEEN, LIKE, IS NULL, EXISTS)

Supports REPORT writing features and Forms for designing GUI based applications

Data Definition in SQL


CREATE, ALTER and DROP
table…………………………………….……relation
row……………………………………..…….tuple
column………………………………….……attribute
DATA TYPES
Numeric: NUMBER, NUMBER(s,p), INTEGER, INT, FLOAT, DECIMAL

Character: CHAR(n), VARCHAR(n), VARCHAR2(n), CHAR VARYING(n)

Bit String: BLOB, CLOB

Boolean: true, false, and null


List of Experiments
CA- C10P: DATABASE MANAGEMENT SYSTEMS LAB
PART – A
1. Draw E-R diagram and convert entities and relationships to relation table for a given scenario.
Two assignments shall be carried out i.e. consider two different scenarios (eg. bank, college)
Consider the Company database with following Schema
EMPLOYEE (FNAME, MINIT, LNAME, SSN, BDATE,ADDRESS,SEX,SALARY,
SUPERSSN, DNO)
DEPARTMENT (DNAME, DNUMBER,MGRSSN,MSRSTARTDATE)
DEPT_LOCATIONS (DNUMBER, DLOCATION)
PROJECT (PNAME, PNUMBER, PLOCATION, DNUM)
WORKS_ON (ESSN, PNO<HOURS)
DEPENDENT (ESSN, DEPENDENT_NAME, SEX, BDATE, RELATIONSHIP)
2. Perform the following:
a. Viewing all databases, Creating a Database, Viewing all Tables in a Database,
Creating Tables (With and Without Constraints), Inserting/Updating/Deleting
Records in a Table, Saving (Commit) and Undoing (rollback)
3. Perform the following:
a. Altering a Table, Dropping/Truncating/Renaming Tables, Backing up / Restoring a Database.
4. For a given set of relation schemes, create tables and perform the following Simple Queries,
Simple Queries with Aggregate functions, Queries with Aggregate functions (group by and
having clause).
5. Execute the fallowing queries
a. How the resulting salaries if every employee working on the ‘Research’ Departments is given
a 10% raise.
b. Find the sum of the salaries of all employees of the ‘Accounts’ department, as well as the
maximum salary, the minimum salary, and the average salary in this department
6. Execute the fallowing queries
a. Retrieve the name of each employee Controlled by Department number 5 (use EXISTS
operator).
b. Retrieve the name of each dept and number of employees working in each Department which
has at least 2 employees
7. Execute the fallowing queries
a. For each project, retrieve the project number, the project name, and the number of employee
who work on that project.(use GROUP BY)
b. Retrieve the name of employees who born in the year 1990’s
8. For each Department that has more than five employees, retrieve the department number and
number of employees who are making salary more than 40000.
9.For each project on which more than two employees work, retrieve the project number, project
name and the number of employees who work on that project.
10. For a given set of relation tables perform the following: Creating Views (with and without
check option), Dropping views, Selecting from a view

PART B

Create the following tables with properly specifying Primary keys, Foreign keys and solve the
following queries.
BRANCH (Branchid, Branchname, HOD)
STUDENT (USN, Name, Address, Branchid, sem)
BOOK (Bookid, Bookname, Authorid, Publisher, Branchid)
AUTHOR (Authorid, Authorname, Country, age)
BORROW (USN, Bookid, Borrowed_Date)
1. Perform the following:
a. Viewing all databases, Creating a Database, Viewing all Tables in a Database,
Creating Tables (With and Without Constraints), Inserting/Updating/Deleting
Records in a Table, Saving (Commit) and Undoing (rollback)
Execute the following Queries:
2. a. List the details of Students who are all studying in 2nd sem BCA.
b. List the students who are not borrowed any books.
3. a. Display the USN, Student name, Branch_name, Book_name, Author_name,
Books_Borrowed_ Date of 2nd sem BCA Students who borrowed books.
b. Display the number of books written by each Author.
4. a. Display the student details who borrowed more than two books.
b. Display the student details who borrowed books of more than one Author.

5. a. Display the Book names in descending order of their names.


b. List the details of students who borrowed the books which are all published by the same
publisher.
Consider the following schema:
STUDENT (USN, name, date_of_birth, branch, mark1, mark2, mark3, total, GPA)
6. Perform the following:
a. Creating Tables (With and Without Constraints), Inserting/Updating/Deleting
Records in a Table, Saving (Commit) and Undoing (rollback)
7. Execute the following queries:
a. Find the GPA score of all the students.
b. Find the students who born on a particular year of birth from the date_of_birth column.
8. a. List the students who are studying in a particular branch of study.
b. Find the maximum GPA score of the student branch-wise.
Part A
Experiment 1
1. Draw E-R diagram and convert entities and relationships to relation table for a given scenario.
Two assignments shall be carried out i.e. consider two different scenarios (eg. bank, college)
Bank Database:
ER Diagram is known as Entity-Relationship diagram. It is used to analyze to structure of the
Database. It shows relationships between entities and their attributes. An ER model provides a
means of communication.
ER diagram of Bank has the following description :

• Bank have Customer.


• Banks are identified by a name, code, address of main office.
• Banks have branches.
• Branches are identified by a branch_no., branch_name, address.
• Customers are identified by name, cust-id, phone number, address.
• Customer can have one or more accounts.
• Accounts are identified by account_no., acc_type, balance.
• Customer can avail loans.
• Loans are identified by loan_id, loan_type and amount.
• Account and loans are related to bank’s branch.

ER Diagram of Bank Management System :


This bank ER diagram illustrates key information about bank, including entities such as
branches, customers, accounts, and loans. It allows us to understand the relationships between
entities.
Entities and their Attributes are :

• Bank Entity : Attributes of Bank Entity are Bank Name, Code and Address.
Code is Primary Key for Bank Entity.
• Customer Entity : Attributes of Customer Entity are Customer_id, Name, Phone
Number and Address.
Customer_id is Primary Key for Customer Entity.
• Branch Entity : Attributes of Branch Entity are Branch_id, Name and Address.
Branch_id is Primary Key for Branch Entity.
• Account Entity : Attributes of Account Entity are Account_number, Account_Type
and Balance.
Account_number is Primary Key for Account Entity.
• Loan Entity : Attributes of Loan Entity are Loan_id, Loan_Type and Amount.
Loan_id is Primary Key for Loan Entity.

Relationships are :

• Bank has Branches => 1 : N


One Bank can have many Branches but one Branch can not belong to many Banks, so
the relationship between Bank and Branch is one to many relationship.

• Branch maintain Accounts => 1 : N


One Branch can have many Accounts but one Account can not belong to many
Branches, so the relationship between Branch and Account is one to many
relationship.

• Branch offer Loans => 1 : N


One Branch can have many Loans but one Loan can not belong to many Branches, so
the relationship between Branch and Loan is one to many relationship.

• Account held by Customers => M : N


One Customer can have more than one Accounts and also One Account can be held
by one or more Customers, so the relationship between Account and Customers is
many to many relationship.

• Loan availed by Customer => M : N


(Assume loan can be jointly held by many Customers).
One Customer can have more than one Loans and also One Loan can be availed by
one or more Customers, so the relationship between Loan and Customers is many to
many relationship.
College Database:

The College Database

The College database stores details about students, courses, the semester a student took a
particular course (and his mark and grade if he completed it), and what degree program each
student is enrolled in. The database is a long way from one that’d be suitable for a large tertiary
institution, but it does illustrate relationships that are interesting to query, and it’s easy to relate
to when you’re learning SQL.

Consider the following requirements list:

• The College offers one or more programs.

• A program is made up of one or more courses.

• A student must enroll in a program.

• A student takes the courses that are part of her program.

• A program has a name, a program identifier, the total credit points required to
graduate, and the year it commenced.

• A course has a name, a course identifier, a credit point value, and the year it
commenced.
• Students have one or more given names, a surname, a student identifier, a date of
birth, and the year they first enrolled. We can treat all given names as a single object—
for example, “John Paul.”

• When a student takes a course, the year and semester he attempted it are recorded.
When he finishes the course, a grade (such as A or B) and a mark (such as 60 percent)
are recorded.

• Each course in a program is sequenced into a year (for example, year 1) and a
semester (for example, semester 1).
The ER diagram derived from our requirements is shown in Figure Although it is compact, the
diagram uses some advanced features, including relationships that have attributes and two many-
to-many relationships.
Figure 4-12. The ER diagram of the College database

In our design:

• Student is a strong entity, with an identifier, student_id, created to be the primary


key used to distinguish between students (remember, we could have several students with
the same name).
• Program is a strong entity, with the identifier program_id as the primary key used
to distinguish between programs.
• Each student must be enrolled in a program, so the Student entity participates
totally in the many-to-one EnrollsIn relationship with Program. A program can exist
without having any enrolled students, so it participates partially in this relationship.
• A Course has meaning only in the context of a Program, so it’s a weak entity,
with course_id as a weak key. This means that a Course is uniquely identified using
its course_id and the program_id of its owning program.
• As a weak entity, Course participates totally in the many-to-one identifying
relationship with its owning Program. This relationship has Year and Semester attributes
that identify its sequence position.
• Student and Course are related through the many-to-many Attempts relationships;
a course can exist without a student, and a student can be enrolled without attempting any
courses, so the participation is not total.
• When a student attempts a course, there are attributes to capture
the Year and Semester, and the Mark and Grade.

What it doesn’t do

Our database design is rather simple, but this is because the requirements are simple. For a real
College, many more aspects would need to be captured by the database. For example, the
requirements don’t mention anything about campus, study mode, course prerequisites, lecturers,
timetabling details, address history, financials, or assessment details. The database also doesn’t
allow a student to be in more than one degree program, nor does it allow a course to appear as
part of different programs.

Experiment 2:
Consider the Company database with following Schema
EMPLOYEE (FNAME, MINIT, LNAME, SSN, BDATE,ADDRESS,SEX,SALARY,
SUPERSSN, DNO)
DEPARTMENT (DNAME, DNUMBER,MGRSSN,MSRSTARTDATE)
DEPT_LOCATIONS (DNUMBER, DLOCATION)
PROJECT (PNAME, PNUMBER, PLOCATION, DNUM)
WORKS_ON (ESSN, PNO<HOURS)
DEPENDENT (ESSN, DEPENDENT_NAME, SEX, BDATE, RELATIONSHIP)
1. Perform the following:

a. Viewing all databases, Creating a Database, Viewing all Tables in a Database, Creating Tables
(With and Without Constraints), Inserting/Updating/Deleting Records in a Table, Saving
(Commit) and Undoing (rollback)
Execute the following Queries:
Creating Database
Viewing all the tables in the database:
Viewing tables from scott database: Example

Or
Creating Tables:
With Constraints:
Constraints: primary key and Not Null

Without Constraints:

Inserting Values:
Updating Values:
Mobile Number of Adams updated below:

Deleting and Saving the Records from the Table:


King record has been deleted from database and Saved the Records
Rollback:
Bob Record has been deleted and Roll backed again:

Experiment 3:
Consider the Company database with following Schema
EMPLOYEE (FNAME, MINIT, LNAME, SSN, BDATE,ADDRESS,SEX,SALARY,
SUPERSSN, DNO)
DEPARTMENT (DNAME, DNUMBER,MGRSSN,MSRSTARTDATE)
DEPT_LOCATIONS (DNUMBER, DLOCATION)
PROJECT (PNAME, PNUMBER, PLOCATION, DNUM)
WORKS_ON (ESSN, PNO<HOURS)
DEPENDENT (ESSN, DEPENDENT_NAME, SEX, BDATE, RELATIONSHIP)

SQL> create table dept_location(


dnumber number(4)primary key,
dlocation varchar2(15) );
Table created.
SQL> create table employee(
fname varchar2(15),
minit varchar2(5),
lname varchar2(15),
ssn number(4)primary key,
bdate date,
address varchar2(20),
sex varchar2(10),
salary number(7,2),
superssn number(4)references employee(ssn),
dno number(3)references dept_location(dnumber) );
Table created.
SQL> create table department(
dname varchar2(10),
dnumber number(3)references dept_location(dnumber),
mgrssn number(4)references employee(ssn),
mgrstartdate date );
Table created.
SQL> create table project(
pname varchar2(15),
pnumber number(3)primary key,
plocation varchar2(15),
dnum number(3)references dept_location(dnumber) );
Table created.
SQL> create table works_on(
essn number(4)references employee(ssn),
pno number(3)references project(pnumber),
hours number(4) );
Table created.
SQL> create table dependent(
essn number(4)references employee(ssn),
dependent_name varchar2(15),
sex varchar2(10),
bdate date,
relationship varchar2(15) );
Table created.
SQL>
SQL> INSERT INTO DEPT_LOCATION VALUES(10,'NEW YORK');
1 row created.
SQL> INSERT INTO DEPT_LOCATION VALUES(20,'DALLAS');
1 row created.
SQL> INSERT INTO DEPT_LOCATION VALUES(30,'CHICAGO');
1 row created.
SQL> INSERT INTO DEPT_LOCATION VALUES(40,'BOSTON');
1 row created.
SQL> INSERT INTO DEPT_LOCATION VALUES(50,'LOS ANGELES');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> DESC EMPLOYEE
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
FNAME VARCHAR2(15)
MINIT VARCHAR2(5)
LNAME VARCHAR2(15)
SSN NOT NULL NUMBER(4)
BDATE DATE
ADDRESS VARCHAR2(20)
SEX VARCHAR2(10)
SALARY NUMBER(7,2)
SUPERSSN NUMBER(4)
DNO NUMBER(3)
SQL> INSERT INTO EMPLOYEE VALUES('WARD','W','A',4007,'06-APR-
1982','CHICAGO','MALE',35000,4007,20);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('ALLEN','A','B',4020,'04-JAN-
1980','BOSTON','MALE',30000,4007,20);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('JONES','J','B',4008,'08-APR-1984','NEW
YORK','MALE',36000,4007,20);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('BLACK','B','C',4011,'10-FEB-
1988','DALLAS','MALE',38000,4011,30);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('MARTIN','M','D',4030,'12-OCT-
1999','DALLAS','MALE',45000,4011,30);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('KING','C','S',4040,'14-SEP-2002','NEW
YORK','MALE',32000,4040,40);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('CLARK','K','H',4012,'16-NOV-
1997','DALLAS','MALE',30000,4012,50);
1 row created.
SQL> INSERT INTO EMPLOYEE VALUES('ADAMS','A','S',4050,'18-NOV-
1998','CHICAGO','MALE',38000,4012,50);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> DESC DEPARTMENT
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
DNAME VARCHAR2(10)
DNUMBER NUMBER(3)
MGRSSN NUMBER(4)
MGRSTARTDATE DATE
SQL> INSERT INTO DEPARTMENT VALUES('ACCONTING',10,4010,'05-MAR-
2012');
1 row created.
SQL> INSERT INTO DEPARTMENT VALUES('RESEARCH',20,4020,'10-APR-2014');
1 row created.
SQL> INSERT INTO DEPARTMENT VALUES('SALES',30,4030,'15-JUN-2018');
1 row created.
SQL> INSERT INTO DEPARTMENT VALUES('OPERATIONS',40,4040,'20-MAY-
2018');
1 row created.
SQL> INSERT INTO DEPARTMENT VALUES('MARKETING',50,4050,'25-AUG-
2015');
1 row created.
SQL> COMMIT;
Commit complete.
SQL> DESC PROJECT
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
PNAME VARCHAR2(15)
PNUMBER NOT NULL NUMBER(3)
PLOCATION VARCHAR2(15)
DNUM NUMBER(3)

SQL> INSERT INTO PROJECT VALUES('PROJ A',201,'NEW YORK',20);


1 row created.
SQL> INSERT INTO PROJECT VALUES('PROJ B',202,'CHICAGO',30);
1 row created.
SQL> INSERT INTO PROJECT VALUES('PROJ C',203,'BOSTON',50);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> DESC WORKS_ON
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
ESSN NUMBER(4)
PNO NUMBER(3)
HOURS NUMBER(4)
SQL> INSERT INTO WORKS_ON VALUES(4010,201,10);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4020,201,12);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4007,201,8);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4008,202,8);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4011,202,10);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4030,202,12);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4010,203,8);
1 row created.
SQL> INSERT INTO WORKS_ON VALUES(4020,203,9);
1 row created.
SQL> COMMIT;
Commit complete.
SQL> DESC DEPENDENT
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
ESSN NUMBER(4)
DEPENDENT_NAME VARCHAR2(15)
SEX VARCHAR2(10)
BDATE DATE
RELATIONSHIP VARCHAR2(15)
SQL> INSERT INTO DEPENDENT VALUES(4010,'SSR','MALE','04-FEB-2010','SON');
1 row created.
SQL> INSERT INTO DEPENDENT VALUES(4020,'AAB','MALE','12-MAR-
2012','SON');
1 row created.
SQL> INSERT INTO DEPENDENT VALUES(4007,'WWA','FEMALE','14-JAN-
2014','DAUGHTER');
1 row created.
SQL> INSERT INTO DEPENDENT VALUES(4008,'JJB','MALE','16-APR-2012','SON');
1 row created.
SQL> INSERT INTO DEPENDENT VALUES(4011,'BBC','MALE','18-NOV-
2014','SON');
1 row created.
SQL> COMMIT;
Commit complete.

SQL> SELECT * FROM DEPT_LOCATION;

DNUMBER DLOCATION
---------- ---------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON
50 LOS ANGELES
SQL> SELECT * FROM EMPLOYEE;

FNAME MINIT LNAME SSN BDATE ADDRESS SEX SALARY SUPERSSN DNO

--------------- ----- --------------- ---------- --------- -------------------- ---------- ---------- ---------- ----------

SMITH S R 4010 02-JAN-78 NEW YORK MALE 40000 4010 10

WARD W A 4007 06-APR-82 CHICAGO MALE 35000 4007 20

ALLEN A B 4020 04-JAN-80 BOSTON MALE 30000 4007 20

JONES J B 4008 08-APR-84 NEW YORK MALE 36000 4007 20

BLACK B C 4011 10-FEB-88 DALLAS MALE 38000 4011 30

MARTIN M D 4030 12-OCT-99 DALLAS MALE 45000 4011 30

KING C S 4040 14-SEP-02 NEW YORK MALE 32000 4040 40

CLARK K H 4012 16-NOV-97 DALLAS MALE 30000 4012 50

ADAMS A S 4050 18-NOV-98 CHICAGO MALE 38000 4012 50

9 rows selected.

SQL> SELECT * FROM DEPARTMENT;

DNAME DNUMBER MGRSSN MGRSTARTD


---------- ---------- ---------- ---------
ACCONTING 10 4010 05-MAR-12
RESEARCH 20 4020 10-APR-14
SALES 30 4030 15-JUN-18
OPERATIONS 40 4040 20-MAY-18
MARKETING 50 4050 25-AUG-15

SQL> SELECT * FROM PROJECT;

PNAME PNUMBER PLOCATION DNUM


--------------- ---------- --------------- ----------
PROJ A 201 NEW YORK 20
PROJ B 202 CHICAGO 30
PROJ C 203 BOSTON 50
SQL> SELECT * FROM WORKS_ON;

ESSN PNO HOURS


---------- ---------- ----------
4010 201 10
4020 201 12
4007 201 8
4008 202 8
4011 202 10
4030 202 12
4010 203 8
4020 203 9

8 rows selected.

SQL> SELECT * FROM DEPENDENT;

ESSN DEPENDENT_NAME SEX BDATE RELATIONSHIP


---------- --------------- ---------- --------- ---------------
4010 SSR MALE 04-FEB-10 SON
4020 AAB MALE 12-MAR-12 SON
4007 WWA FEMALE 14-JAN-14 DAUGHTER
4008 JJB MALE 16-APR-12 SON
4011 BBC MALE 18-NOV-14 SON
SQL>
a) ALTER COMMANDS

1. Add
2. Modify
3. Drop Column
4. Rename Column
5. Rename Table
1 Add Column

2. MODIFY COLUMN SIZE


3. DROP COLUMN

4. RENAME COLUMN

5. RENAME TABLE
4. For a given set of relation schemes, create tables and perform the following Simple
Queries, Simple Queries with Aggregate functions, Queries with Aggregate functions
(group by and having clause).
5. Execute the fallowing queries
a. How the resulting salaries if every employee working on the ‘Research’ Departments is
given a 10% raise.
b. Find the sum of the salaries of all employees of the ‘Accounts’ department, as well as the
maximum salary, the minimum salary, and the average salary in this department
A:

B:
6. Execute the fallowing queries
a. Retrieve the name of each employee Controlled by Department number 5 (use EXISTS
operator).
b. Retrieve the name of each dept and number of employees working in each Department
which has at least 2 employees
A:

B:
Retrieving No of Employees working in each department and also department having
more than one employee in a department.
7. Execute the fallowing queries
a. For each project, retrieve the project number, the project name, and the number of
employee who work on that project.(use GROUP BY)
b. Retrieve the name of employees who born in the year 1990’s
A:

B:
8. For each Department that has more than five employees, retrieve the department
number and number of employees who are making salary more than 40000.
List of Department and No of Employees in each dept and having more then one emp and
salary greater then 35000.

9. For each project on which more than two employees work, retrieve the project number,
project name and the number of employees who work on that project.
10. For a given set of relation tables perform the following: Creating Views (with and
without check option), Dropping views, Selecting from a view

Creating / Inserting / Displaying the View


Deleting from the View and Dropping the View
PART B
Create the following tables with properly specifying Primary keys, Foreign keys and solve the
following queries.
BRANCH (Branchid, Branchname, HOD)
STUDENT (USN, Name, Address, Branchid, sem)
BOOK (Bookid, Bookname, Authorid, Publisher, Branchid)
AUTHOR (Authorid, Authorname, Country, age)
BORROW (USN, Bookid, Borrowed_Date)
1. Perform the following:
a. Viewing all databases, Creating a Database, Viewing all Tables in a Database,
Creating Tables (With and Without Constraints), Inserting/Updating/Deleting
Records in a Table, Saving (Commit) and Undoing (rollback)
Execute the following Queries:

Creating a Database

Viewing all the Tables in a Database


Creating table with and without constraints
Inserting the Values
Branch Table

Student Table
Book Table

Author Table
Borrow Table

Updating the Values


Deleting Values

Rollback
2. a. List the details of Students who are all studying in 2nd sem BCA.
b. List the students who are not borrowed any books.

3. a. Display the USN, Student name, Branch_name, Book_name, Author_name,


Books_Borrowed_ Date of 2nd sem BCA Students who borrowed books.

b. Display the number of books written by each Author.


4. a. Display the student details who borrowed more than two books.

b. Display the student details who borrowed books of more than one Author.

5. a. Display the Book names in descending order of their names.

b. List the details of students who borrowed the books which are all published by the same
publisher.
Consider the following schema:
STUDENT (USN, name, date_of_birth, branch, mark1, mark2, mark3, total, GPA)
6. Perform the following:
a. Creating Tables (With and Without Constraints), Inserting/Updating/Deleting
Records in a Table, Saving (Commit) and Undoing (rollback)
Creating Table

Inserting Values
7. Execute the following queries:
a. Find the GPA score of all the students.

b. Find the students who born on a particular year of birth from the date_of_birth column.

8. a. List the students who are studying in a particular branch of study.

b. Find the maximum GPA score of the student branch-wise.


VIVA VOCE
1. What is database?
A database is a collection of data in an organized manner.
2. What is DBMS?
DBMS is a software that is used to perform operations on a database. These operations may
include reading, writing, modifying of data and even provide control over accessing of data
when multiple users were accessing the data at the same time or even at different times.
3. Advantages of DBMS?
Redundancy is controlled.
Unauthorized access is restricted.
Providing multiple user interfaces.
Enforcing integrity constraints.
Providing backup and recovery.

4. Disadvantage in File Processing System?


Data redundancy & inconsistency.
Difficult in accessing data.
Data isolation.
Data integrity.
Concurrent access is not possible.
Security Problems.

5. Describe the three levels of data abstraction?


Three levels of abstraction:
Physical level: The lowest level of abstraction describes how data are stored.
Logical level: The next higher level of abstraction, describes what data are stored in database
and what relationship among those data.
View level: The highest level of abstraction describes only part of entire database.

6. Define the "integrity rules"


There are two Integrity rules.
Entity Integrity: States that? Primary key cannot have NULL value?
Referential Integrity: States that? Foreign Key can be either a NULL value or should be
Primary Key value of other relation.

7. What is Data Independence?


Data independence means, the ability to modify the schema definition in one level should not
affect the schema definition in the next higher level.
Two types of Data Independence:
Physical Data Independence: Modification in physical level should not affect the logical level.
Logical Data Independence: Modification in logical level should affect the view level.
Database applications laboratory GCEM DEPARTMENT OF CSE
NOTE: Logical Data Independence is more difficult to achieve
8. What is a view? How it is related to data independence?
A view may be thought of as a virtual table, that is, a table that does not really exist in its own
right but is instead derived from one or more underlying base tables. Growth and restructuring of
base tables is not reflected in views. Thus the view can insulate users from the effects of
restructuring and growth in the database. Hence accounts for logical data independence.
9. What is Data Model?
A collection of conceptual tools for describing data, data relationships, data semantics and
constraints is called Data Model.
10. What is E-R model?
This data model is based on real world that consists of basic objects called entities and of
relationship among these objects. Entities are described in a database by a set of attributes.
11. What is Object Oriented model?
This model is based on collection of objects. An object contains values stored in instance
variables within the object. An object also contains bodies of code that operate on the object.
These bodies of code are called methods. Objects that contain same types of values and the same
methods are grouped together into classes.
12. What is an Entity?
It is a 'thing' in the real world with an independent existence.
13. What is an Entity type?
It is a collection (set) of entities that have same attributes.
14. What is an Entity set?
It is a collection of all entities of particular entity type in the database.
15. What is Weak Entity set?
An entity set may not have sufficient attributes to form a primary key, and its primary key
compromises of its partial key and primary key of its parent entity, then it is said to be Weak
Entity set.
16. What is an attribute?
It is a particular property, which describes the entity.
17. What is a Relation Schema and a Relation?
A relation Schema denoted by R (A1, A2,…?, An) is made up of the relation name R and the list
of attributes Ai that it contains. A relation is defined as a set of tuples. Let r be the relation which
contains set tuples (t1, t2, t3... tn). Each tuple is an ordered list of n-values t= (v1, v2... vn).
Database applications laboratory GCEM DEPARTMENT OF CSE

18. What is degree of a Relation?


It is the number of attributes of its relation schema.
19. What is Relationship?
It is an association among two or more entities.
20. What is Relationship set?
The collection (or set) of similar relationships.
21. What is Relationship type?
Relationship type defines a set of associations or a relationship set among a given set of entity
types.
22. What is DML Compiler?
It translates DML statements in a query language into low-level instruction that the query
evaluation engine can understand.
23. What is Query evaluation engine?
It executes low-level instruction generated by compiler.
24. What is DDL Interpreter?
It interprets DDL statements and record them in tables containing metadata.
25. What is Record-at-a-time?
The Low level or Procedural DML can specify and retrieve each record from a set of records.
This retrieve of a record is said to be Record-at-a-time.
26. What is Relational Algebra?
It is procedural query language. It consists of a set of operations that take one or two relations
as input and produce a new relation.
27. What is normalization?
It is a process of analysing the given relation schemas based on their Functional Dependencies
(FDs) and primary key to achieve the properties
Minimizing redundancy
Minimizing insertion, deletion and update anomalies.
28. What is Functional Dependency?
A Functional dependency is denoted by X Y between two sets of attributes X and Y that are
subsets of R specifies a constraint on the possible tuple that can form a relation state r of R. The
constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y]. This
means the value of X component of a tuple uniquely determines the value of component Y.
29. When is a functional dependency F said to be minimal?
Every dependency in F has a single attribute for its right hand side.
Database applications laboratory GCEM DEPARTMENT OF CSE
We cannot replace any dependency X A in F with a dependency Y A where Y is a proper
subset of X and still have a set of dependency that is equivalent to F.
We cannot remove any dependency from F and still have set of dependency that is equivalent
to F.

30. What is Lossless join property?


It guarantees that the spurious tuples generation does not occur with respect to relation schemas
after decomposition.
31. What is Fully Functional dependency?
It is based on concept of full functional dependency. A functional dependency X Y is full
functional dependency if removal of any attribute A from X means that the dependency does not
hold any more.
32. What is 1 NF (Normal Form)?
The domain of attribute must include only atomic (simple, indivisible) values.
33. What is 2NF?
A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R is fully
functionally dependent on primary key.
34. What is 3NF?
A relation schema R is in 3NF if it is in 2NF and for every FD X A either of the following is true
X is a Super-key of R.
A is a prime attribute of R.

In other words, if every non prime attribute is non-transitively dependent on primary key.
35. What is BCNF (Boyce-Codd Normal Form)?
A relation schema R is in BCNF if it is in 3NF and satisfies an additional constraint that for
every FD X A, X must be a candidate key.

36. Define DCL?


The DCL language is used for controlling the access to the table and hence securing
the database. DCL is used to provide certain privileges to a particular user. Privileges are
rights to be allocated.
37. List the DCL commands used in data bases
The privilege commands are namely, Grant and Revoke
38. Write the syntax for grant command
Grant < database_priv [database_priv…..] > to <user_name> identified by <password>
[,<pass word…..];
Grant <object_priv> | All on <object> to <user | public> [ With Grant Option ];
39. What are TCL commands?
*Commit *Rollback *save point
40. What are single row functions?
A single row function or scalar function returns only one value for every row
queries in table. Single row function can appear in a select command and can also be
included in a where clause. The single row function can be broadly classified as,
* Date Function * Conversion Function
* Numeric Function * Miscellaneous Function
*Character Function
41. List some character functions
initcap(char);
lower (char);
upper (char);
ltrim (char,[set]); rtrim (char,[set]);
42. What is a view?
A view is a logical table based on a table or another view. A view contains no data of
its own but is like a window through which data from tables can be viewed or changed.
43. List any two advantages of view?
1. Hides data complexity.
2. Simplifies the usage by combining multiple tables into a single table
44. List the set operations of SQL?
1) Union 2) Intersect operation 3) The except operation (minus)
10. What is the use of sub Queries?
A sub Queries is a select-from-where expression that is nested with in another
Queries. A common use of sub Queries is to perform tests for set membership, make set
comparisons and determine set cardinality

Viva Questions
1. What is SQL?
Structured Query Language
2. What is database?
A database is a logically coherent collection of data with some inherent meaning, representing
some aspect of real world and which is designed, built and populated with data for a specific
purpose.
3. What is DBMS?
It is a collection of programs that enables user to create and maintain a database. In other words
it is general-purpose software that provides the users with the processes of defining, constructing
and manipulating the database for various applications.
4. What is a Database system?
The database and DBMS software together is called as Database system.
5. Advantages of DBMS?
Redundancy is controlled.
Unauthorized access is restricted.
Providing multiple user interfaces.
Enforcing integrity constraints.
Providing backup and recovery.
6. Disadvantage in File Processing System?
Data redundancy & inconsistency.
Difficult in accessing data.
Data isolation.
Data integrity.
Concurrent access is not possible.
Security Problems.
7. Describe the three levels of data abstraction?
There are three levels of abstraction:
Physical level: The lowest level of abstraction describes how data are stored.
Logical level: The next higher level of abstraction, describes what data are stored in database
and what relationship among those data. View level:The highest level of abstraction describes
only part of entire database.
8. Define the "integrity rules"
There are two Integrity rules.
Entity Integrity:States that ―Primary key cannot have NULL value‖
Referential Integrity:States that ―Foreign Key can be either a NULL value or should be Primary
Key value of other relation.
9. What is extension and intension?
Extension - It is the number of tuples present in a table at any instance. This is time dependent.
Intension -It is a constant value that gives the name, structure of table and the constraints laid on
it.
10. What is Data Independence?
Data independence means that ―the application is independent of the storage structure and
access strategy of data‖. In other words, The ability to modify the schema definition in one level
should not affect the schema definition in the next higher level.
Two types of Data Independence:
Physical Data Independence: Modification in physical level should not affect the logical level.
Logical Data Independence: Modification in logical level should affect the view level.
NOTE: Logical Data Independence is more difficult to achieve
11. What is a view? How it is related to data independence?
A view may be thought of as a virtual table, that is, a table that does not really exist in its own
right but is instead derived from one or more underlying base table. In other words, there is no
stored file that direct represents the view instead a definition of view is stored in data dictionary.
Growth and restructuring of base tables is not reflected in views. Thus the view can insulate
users from the effects of restructuring and growth in the database. Hence accounts for logical
data independence.
12. What is Data Model?
A collection of conceptual tools for describing data, data relationships data semantics and
constraints.
13. What is E-R model?
This data model is based on real world that consists of basic objects called entities and of
relationship among these objects. Entities are described in a database by a set of attributes.
14. What is Object Oriented model?
This model is based on collection of objects. An object contains values stored in instance
variables within the object. An object also contains bodies of code that operate on the object.
These bodies of code are called methods. Objects that contain same types of values and the same
methods are grouped together into classes.
15. What is an Entity?
It is an 'object' in the real world with an independent existence.
16. What is an Entity type?
It is a collection (set) of entities that have same attributes.
17. What is an Entity set?
It is a collection of all entities of particular entity type in the database.
18. What is an Extension of entity type?
The collections of entities of a particular entity type are grouped together into an entity set.
19. What is an attribute?
It is a particular property, which describes the entity.
20. What is a Relation Schema and a Relation?
A relation Schema denoted by R(A1, A2, …, An) is made up of the relation name R and the list
of attributes Ai that it contains. A relation is defined as a set of tuples. Let r be the relation which
contains set tuples (t1, t2, t3, ...,tn). Each tuple is an ordered list of n-values t=(v1,v2, ..., vn).
21. What is degree of a Relation?
It is the number of attribute of its relation schema.
22. What is Relationship?
It is an association among two or more entities.
23. What is Relationship set?
The collection (or set) of similar relationships.
24. What is Relationship type?
Relationship type defines a set of associations or a relationship set among a given set of entity
types.
25. What is degree of Relationship type?
It is the number of entity type participating.
26. What is DDL (Data Definition Language)?
A data base schema is specified by a set of definitions expressed by a special language called
DDL.
27. What is VDL (View Definition Language)?
It specifies user views and their mappings to the conceptual schema.
28. What is SDL (Storage Definition Language)?
This language is to specify the internal schema. This language may specify the mapping between
two schemas.
29. What is Data Storage - Definition Language?
The storage structures and access methods used by database system are specified by a set of
definition in a special type of DDL called data storage- definition language.
30. What is DML (Data Manipulation Language)?
This language that enable user to access or manipulate data as organized by appropriate data
model.
Procedural DML or Low level: DML requires a user to specify what data are needed and how to
get those data.
Non-Procedural DML or High level: DML requires a user to specify what data are needed
without specifying how to get those data.
31. What is DML Compiler?
It translates DML statements in a query language into low-level instruction that the query
evaluation engine can understand.
32. What is Relational Algebra?
It is a procedural query language. It consists of a set of operations that take one or two relations
as input and produce a new relation.
33. What is Relational Calculus?
It is an applied predicate calculus specifically tailored for relational databases proposed by E.F.
Codd. E.g. of languages based on it are DSL, ALPHA, QUEL.
34. What is normalization?
It is a process of analyzing the given relation schemas based on their Functional Dependencies
(FDs) and primary key to achieve the properties
Minimizing redundancy
Minimizing insertion, deletion and update anomalies.
35. What is Functional Dependency?
A Functional dependency is denoted by X Y between two sets of attributes X and Y that are
subsets of R specifies a constraint on the possible tuple that can form a relation state r of R. The
constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y]. This
means the value of X component of a tuple uniquely determines the value of component Y.
36. When is a functional dependency F said to be minimal?
Every dependency in F has a single attribute for its right hand side.
We cannot replace any dependency X A in F with a dependency Y A where Y is a proper subset
of X and still have a set of dependency that is equivalent to F.
We cannot remove any dependency from F and still have set of dependency that is equivalent to
F.
37. What is Multivalued dependency?
Multivalued dependency denoted by X Y specified on relation schema R, where X and Y are
both subsets of R, specifies the following constraint on any relation r of R: if two tuples t1 and t2
exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following
properties
t3[x] = t4[X] = t1[X] = t2[X]
t3[Y] = t1[Y] and t4[Y] = t2[Y]
t3[Z] = t2[Z] and t4[Z] = t1[Z]
where [Z = (R-(X U Y)) ]
38. What is Lossless join property?
It guarantees that the spurious tuple generation does not occur with respect to relation schemas
after decomposition.
39. What is 1 NF (Normal Form)?
The domain of attribute must include only atomic (simple, indivisible) values.
40. What is Fully Functional dependency?
It is based on concept of full functional dependency. A functional dependency X Y is fully
functional dependency if removal of any attribute A from X means that the dependency does not
hold any more.
41. What is 2NF?
A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R is fully
functionally dependent on primary key.
42. What is 3NF?
A relation schema R is in 3NF if it is in 2NF and for every FD X A either of the following is true
X is a Super-key of R.
A is a prime attribute of R.
In other words, if every non prime attribute is non-transitively dependent on primary key.
43. What is BCNF (Boyce-Codd Normal Form)?
A relation schema R is in BCNF if it is in 3NF and satisfies additional constraints that for every
FD X A, X must be a candidate key.
44. What is 4NF?
A relation schema R is said to be in 4NF if for every Multivalued dependency X Y that holds
over R, one of following is true
X is subset or equal to (or) XY = R.
X is a super key.
45. What is 5NF?
A Relation schema R is said to be 5NF if for every join dependency {R1, R2, ...,Rn} that holds
R, one the following is true
Ri = R for some i.
The join dependency is implied by the set of FD, over R in which the left side is key of R.

You might also like