Dbms Lab Manual: Rizvi College of Engineering, Mumbai
Dbms Lab Manual: Rizvi College of Engineering, Mumbai
Dbms Lab Manual: Rizvi College of Engineering, Mumbai
A.Y:2021-2022
Lab Objectives:
1 To explore design and develop of relational model
2 To present SQL and procedural interfaces to SQL comprehensively
3 To introduce the concepts of transactions and transaction processing
Lab Outcomes: At the end of the course, the students will be able to
1 Design ER /EER diagram and convert to relational model for the realworld application.
2 Apply DDL, DML, DCL and TCL commands
3 Write simple and complex queries
4 UsePL / SQL Constructs.
5 Demonstrate the concept of concurrent transactions execution and frontend-backend connectivity
Term Work:
1 Term work should consist of 10 experiments.
2 Journal must include at least 2 assignments on content of theory and practical of “Database Management System”
3 The final certification and acceptance of term work ensures that satisfactory performance of laboratory work and minimum
passing marks in term work.
4 Total 25 Marks (Experiments: 15-marks, Attendance Theory& Practical: 05-marks, Assignments: 05-marks)
AIM: To Relate the entities appropriately. Apply cardinalities for each relationship. Identify strong and weak
entities. Indicate the type of relationships (total/partial). Incorporate generalization, aggregation and specialization
etc wherever required.
E-R Model
Bus
BusNo
Source
Destination
CoachType
SCHEMA
Bus: Bus(BusNo :String ,Source : String, Destination: String, Coach Type: String)
Ticket
TicketNo
DOJ
Address
ContactNo
BusNo
SeatNo
Source
Destination
SCHEMA
Ticket (TicketNo: string, DOJ: date, Address: string, ContactNo : string, BusNo:String
SeatNo : Integer, Source: String, Destination: String)
Passenger
PassportID
TicketNo
Name
ContactNo
Age
Sex
Address
SCHEMA
Passenger (PassportID: String, TicketNo :string, Name: String, ContactNo: string, Age:
integer, Sex: character, Address: String)
Reservation
PNRNo
DOJ
No_of_seats
Address
ContactNo
BusNo
SeatNo
SCHEMA
Reservation(PNRNo: String, DOJ: Date, NoofSeats: integer , Address: String ,ContactNo: String, ,
BusNo: String,SeatNo:Integer)
Cancellation
PNRNo
DOJ
SeatNo
ContactNo
Status
SCHEMA
Cancellation (PNRNo: String, DOJ: Date, SeatNo: integer, ContactNo: String, Status:
String)
CONCEPT DESIGN WITH E-R MODEL
EXPERIMENT – 2
RELATIONAL MODEL
AIM: To Represent all the entities (Strong, Weak) in tabular fashion. Represent relationships in a tabular fashion.
Mysql>desc Bus;
Ticket:
Ticket(TicketNo: string, DOJ: date, Address:string,ContactNo: string, BusNo:String, SeatNo :Integer, Source: String,
Destination: String)
ColumnName Datatype Constraints Type of Attributes
TicketNo Varchar(20) Primary Key Single-valued
Mysql> create table ticket(ticketno varchar(20), doj date,address varchar(20),contactno int, busno
varchar(20),seatno int,source varchar(10),destination varchar(10),primary key(ticketno,busno) foreign key(busno)
references bus(busno);
Mysql>desc Ticket;
Passenger:
Type of
ColumnName Datatype Constraints Attributes
PassportID Varchar(15) Primary Key Single-valued
TicketNo Varchar(20) Foreign Key Single-valued
Name Varchar(20) Composite
ContactNo Varchar(20) Multi-valued
Age Integer Single-valued
Sex character Simple
Address Varchar(20) Composite
Reservation:
Cancellation:
AIM: Apply the database Normalization techniques for designing relational database tables to minimize
duplication of information like 1NF, 2NF, 3NF, BCNF.
Normalization is a process of converting a relation to be standard form by decomposition a larger relation into
smaller efficient relation that depicts a good database design.
1NF: A Relation scheme is said to be in 1NF if the attribute values in the relation are atomic.i.e., Mutli –valued
attributes are not permitted.
2NF: A Relation scheme is said to be in 2NF,iff and every Non-key attribute is fully functionally dependent on
primary Key.
3NF: A Relation scheme is said to be in 3NF,iff and does not have transitivity dependencies. A Relation is said
to be 3NF if every determinant is a key for each & every functional dependency.
BCNF: A Relation scheme is said to be BCNF if the following statements are true for eacg FD P->Q in set F of
FDs that holds for each FD. P->Q in set F of FD’s that holds over R. Here P is the subset of attributes of R & Q
is a single attribute of R.
P is a super key.
Normalized tables are:-
Mysql> Create table Reservation2(PNRNO integer Primary key, JourneyDate DateTime,NoofSeats int,Address
varchar(20),ContactNo Integer);
Mysql> Create table Ticket2(TicketNo Integer Primary key,JourneyDate DateTime, Age Int(4),Sex char(2),Source
varchar(20),Destination varchar(20),DeptTime varchar(2));
EXPERIMENT – 4
PRACTICING DDL COMMANDS
AIM: Create a DML Commands are used to manage data within the scheme objects.
DML Commands:
mysql> Update Bus2 SET Source='Secundrabad' where BusNo=1234; Query OK, 1 row affected (0.05 sec)
mysql> Delete from Bus2 where BusNo=1234; Query OK, 1 row affected (0.05 sec)
PNR_No
10201
10202
10203
10204
2. Display all the names of male passengers.
Name
Rajesh
Ramesh
Ramesh
5. Find the names of Passengers whose age is between 30 and 45.
Name
Akash
Arivind
Avinash
7. Display the sorted list of Passengers names
1. Write a Query to display the information present in the passenger and cancellation tables
mysql> create table students(sid int primary key,name varchar(15),login varchar(15), age
int,gpa real); mysql> create table Enrolled(sid int,cid int,grade varchar(5),primary
key(sid,cid), foreign key(sid) references students(sid));
E.grade='B';
UPDATE :
INSERT:
Examples
BEGIN
END;
Ex1:
END$$
CALL BUS_PROC1()$$
Ex2:
CREATE PROCEDURE SAMPLE2() BEGIN
DECLARE X INT(3); SET X=10;
SELECT X;
END$$
Mysql> CALL SAMPLE2()$$
END$$
Cursors
In MySQL, a cursor allows row-by-row processing of the result sets. A
cursor is used for the result set and returned from a query. By using a
cursor, you can iterate, or by step through the results of a query and
perform certain operations on each row. The cursor allows you to iterate
through the result set and then perform the additional processing only on
the rows that require it.
□ Declare a cursor
2 . Open a cursor statement : For open a cursor we must use the open
statement.If we want to fetch rows from it you must open thecursor.
If any row exists, then the above statement fetches the next row and cursor
pointer moves ahead to the next row.
Syntax: CLOSE_name;
Delimiter $$
EMPLOYEES TABLE
Mysql> Create table Sailors(Sid integer PRIMARY KEY,sname varchar(15), rating int,age
real); Mysql>Create table Reserves(Sid int,Bid int,Day Date);
mysql> select sname from sailors s,Reserves R where S.sid=R.sid AND bid=103; mysql>
select R.sid from Boats B,Reserves R where B.bid=R.bid AND B.color='red';
mysql> select S.sname from sailors S,reserves R,Boats B where S.sid=R.sid AND
R.bid=B.bid AND B.color='red';
mysql> select B.color from Sailors S,Reserves R,Boats B where S.sid=R.sid AND
R.bid=B.bid AND S.sname='Lubber';
1).Find the names of sailors who have reserved a red or a green boat.
OR
2). Find the names of sailors who have reserved both a red and a green boat.
SELECT S.SNAME
SELECT S2.SNAME
NESTED QUERIES
1) Find sailors whose rating is better than some sailor called Horatio
1) Find the age of the youngest sailor for each rating level.
2) Find the age of the youngest sailor who is eligible to vote for each rating level with at
least two such sailors
4) Find the average age of sailors for each rating level that has at least two sailors