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

DBMS Lab Record Weekwise

lab manual

Uploaded by

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

DBMS Lab Record Weekwise

lab manual

Uploaded by

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

MY SQL INSTALLATION PROCESS

Step 1: Go to the official website of MySQL and download the community server edition software. Here,
you will see the option to choose the Operating System, such as Windows.

Step 2: Next, there are two options available to download the setup. Choose the version number for the
MySQL community server, which you want. If you have good internet connectivity, then choose the
mysql-installer-web-community. Otherwise, choose the other one.

Installing MySQL on Windows


Step 1: After downloading the setup, unzip it anywhere and double click the MSI installer .exe file. It
will give the following screen:

Step 2: In the next wizard, choose the Setup Type. There are several types available, and you need to
choose the appropriate option to install MySQL product and features. Here, we are going to select
the Full option and click on the Next button.
This option will install the following things: MySQL Server, MySQL Shell, MySQL Router, MySQL
Workbench, MySQL Connectors, documentation, samples and examples, and many more.

Step 3: Once we click on the Next button, it may give information about some features that may fail to
install on your system due to a lack of requirements. We can resolve them by clicking on
the Execute button that will install all requirements automatically or can skip them. Now, click on the
Next button.
Step 4: In the next wizard, we will see a dialog box that asks for our confirmation of a few products not
getting installed. Here, we have to click on the Yes button.

After clicking on the Yes button, we will see the list of the products which are going to be installed. So, if
we need all products, click on the Execute button.
Step 5: Once we click on the Execute button, it will download and install all the products. After
completing the installation, click on the Next button.
Step 6: In the next wizard, we need to configure the MySQL Server and Router. Here, I am not going to
configure the Router because there is no need to use it with MySQL. We are going to show you how to
configure the server only. Now, click on the Next button.

Step 7: As soon as you will click on the Next button, you can see the screen below. Here, we have to
configure the MySQL Server. Now, choose the Standalone MySQL Server/Classic MySQL Replication
option and click on Next. Here, you can also choose the InnoDB Cluster based on your needs.
Step 8: In the next screen, the system will ask you to choose the Config Type and other connectivity
options. Here, we are going to select the Config Type as 'Development Machine' and Connectivity
as TCP/IP, and Port Number is 3306, then click on Next.
Step 9: Now, select the Authentication Method and click on Next. Here, I am going to select the first
option.
Step 10: The next screen will ask you to mention the MySQL Root Password. After filling the password
details, click on the Next button.

Step 11: The next screen will ask you to configure the Windows Service to start the server. Keep the
default setup and click on the Next button.
Step 12: In the next wizard, the system will ask you to apply the Server Configuration. If you agree with
this configuration, click on the Execute button.
Step 13: Once the configuration has completed, you will get the screen below. Now, click on
the Finish button to continue.

Step 14: In the next screen, you can see that the Product Configuration is completed. Keep the default
setting and click on the Next-> Finish button to complete the MySQL package installation.
Step 15: In the next wizard, we can choose to configure the Router. So click on Next->Finish and then
click the Next button.

Step 16: In the next wizard, we will see the Connect to Server option. Here, we have to mention the root
password, which we had set in the previous steps.
In this screen, it is also required to check about the connection is successful or not by clicking on the
Check button. If the connection is successful, click on the Execute button. Now, the configuration is
complete, click on Next.

Step 17: In the next wizard, select the applied configurations and click on the Execute button.
Step 18: After completing the above step, we will get the following screen. Here, click on the Finish
button.

Step 19: Now, the MySQL installation is complete. Click on the Finish button.
Verify MySQL installation
Once MySQL has been successfully installed, the base tables have been initialized, and the server has
been started, you can verify its working via some simple tests.

Open your MySQL Command Line Client; it should have appeared with a mysql> prompt. If you have
set any password, write your password here. Now, you are connected to the MySQL server, and you can
execute all the SQL command at mysql> prompt as follows:

For example: Check the already created databases with show databases command:
STRUCTURE OF A DBMS

E-R Model
Aim: Analyze the problem and come with the entities in it. Identify what Data has to be
persisted in the databases.

Student must know the entities and attributes and representation of diagrams The
Following are the entities:

Identify the primary keys for all the entities. Identify the other keys like candidate keys,
partial keys, if any.

Example:
Entities: 1. BUS
2. Ticket
3. Passenger

Relationships: 1. Reservation
2. Cancellation

Primary Key Attributes: 1. Ticket ID (Ticket Entity)


2. Passport ID (Passenger Entity)
3. Bus_NO (Bus Entity)
WEEK-1
Experiment-1:Concept design with E-R Model

E-R Model

Attributes of the following Entities

Bus
- BusNo
- Source
- Destination
- CoachType

SCHEMA

Bus: Bus(BusNo: String, Source: String, Destination: String, CoachType:


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)The
CONCEPT DESIGN WITH E-R MODEL

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.

Prerequisites: Student must know the entities and attributes and relationship among entities
WEEK-2
Experiment-2: RELATIONAL MODEL

Aim: To Represent all the entities (Strong, Weak) in tabular fashion. Represent
relationships in a tabular fashion.

Student must know about the Relational Model

1. Bus: Bus(BusNo: String, Source: String, Destination: String, CoachType: String)

ColumnName Datatype Constraints Type of


Attributes
BusNo Varchar(10) Primary Single-value
key
Source Varchar(20) Single-value
Destination Varchar(20) Simple
CoachType Varchar(10) Simple

Mysql>create table Bus(BusNo varchar(10),source varchar(20),Destination


varchar(20),coachType varchar(10),primary key(BusNo));

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
DOJ Date Single-valued
Address Varchar(20) Composite
ContactNo Integer Multi-valued
BusNo Varchar(10) Foreign Key Single-valued
SeatNo Integer Simple
Source Varchar(10) Simple
Destination Varchar(10) Simple

Mysql>create table Ticket(TicketNo varchar(20),DOJ date,Address


varchar(20),ContactNo varchar(15)BusNo varchar(10),SeatNo int,Source
varchar(10),primary key(TicketNo,BusNo),foreign key(BusNo) references Bus(BusNo));

Mysql>desc Ticket;
Passenger:

Passenger(PassportID: String, TicketNo:string,Name: String, ContactNo:string,Age:


integer, Sex: character, Address: String);

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

Mysql> Create table passenger(passportID varchar(15) ,TicketNo varchar(15),Name


varchar(15),ContactNo varchar(20),Age integer, sex char(2),address varchar(20), primary
key(passportID,TicketNo),foreign key(TicketNo) references Ticket(TicketNo));

Mysql> desc passenger;


Reservation:

Reservation(PNRNo: String, DOJ: Date, NoofSeats: integer , Address: String ,ContactNo:


String, , BusNo: String,SeatNo:Integer)

ColumnName Datatype Constraints Type of Attributes


PNRNo Varchar(20) Primary Single-valued
Key
DOJ date Single-valued
No_of_Seats Integer Simple
Address Varchar(20) Composite
ContactNo Varchar(10) Multi-valued
BusNo Varchar(10) Foreign Single-valued
Key
SeatNo Integer Simple

Mysql> Create table Resevation(PNRNo varchar(20),DOJ date,NoofSeates


integer,Address varchar(20),ContactNo varchar(20),BusNo varchar(20),SeatNo integer,
primary key(PNRNo,BusNo),foreign key(BusNo) references Bus(BusNo));

Mysql> desc reservation;


Cancellation:

Cancellation(PNRNo: String,DOJ: Date, SeatNo: integer,ContactNo: String,Status:


String)

ColumnName Datatype Constraints Type of Attributes


PNRNo Varchar(10) Primary Key Single-valued
DOJ date Single-valued
SeatNo Integer Simple
ContactNo Varchar(15) Multi-valued
Status Varchar(10) Simple

Mysql> create table cancellation(PNRNo varchar(10),DOJ date,SeatNo integer, ContactNo


varchar(15),Status varchar(10), primary key(PNRNo), foreign key(PNRNo) references
reservation(PNRNo));

Mysql> desc cancellation;


WEEK-3
Experiment-3:NORMALIZATION

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.

i) The given FD is a trival

ii) P is a super key.


Normalized tables are:-

Mysql> create table Bus2(BusNo varchar(20) primary key,Source varchar(20),Destination


varchar(20));

Mysql>Create table passenger4(PPN varchar(15) Primary key,Name varchar(20),Age


integer,Sex char,Address varchar(20));

Mysql> Create table PassengerTicket(PPN varchar(15) Primary key,TicketNo integer);

Mysql> Create table Reservation2(PNRNO integer Primary key, JourneyDate


DateTime,NoofSeats int,Address varchar(20),ContactNo Integer);

Mysql> create table Cancellation2(PNRNO Integer primary key,JourneyDate


DateTime,NoofSeats Integer,Address varchar(20),ContactNo Integer,foreign
key(PNRNO) references Reservation2(PNRNO));

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));

WEEK-4
EXPERIMENT-4:Practicing DDL commands

AIM:Creating Tables and altering the Tables

Mysql>Create table passenger2(passportId Integer Primary Key,Name varchar(10) Not


Null,Age Integer Not Null,Sex char,Address varchar(20) Not Null);

Mysql> desc passenger2;

Database Management System Lab Manual Dept of CSE (DS)


USING ALTER COMMAND

 Adding Extra column to Existing Table

Mysql>Alter table passenger3 add column TicketNo varchar(10);

Database Management System Lab Manual Dept of CSE (DS)


Mysql>Alter Table passenger3 add Foreign key(TicketNo) references Ticket(TicketNo);

Mysql>Alter Table passenger3 Modify column Name varchar(20);

Database Management System Lab Manual Dept of CSE (DS)


Mysql>Alter table passenger drop foreign key fk1;

Mysql> Alter table passenger2 Drop column TicketNo;

Database Management System Lab Manual Dept of CSE (DS)


WEEK-5
EXPERIMENT-5:Practicing DML commands
A. Querying (using ANY, ALL, UNION, INTERSECT, JOIN, Constraints etc.)
B. Nested, Correlated subqueries

Aim : Create a DML Commands are used to manage data within the scheme

objects. SELECT- retrieve data from the database


INSERT- insert data into a table
UPDATE- Updates existing data within a
table DELETE-delete all records from a table.

DML Commands:

INSERT COMMAND ON BUS2 & PASSENGER2 RELATIONS

mysql> select * from Bus2;

Empty set (0.00 sec)

mysql> insert into Bus2 values(1234,'Hyderabad','Tirupathi');

Query OK, 1 row affected (0.03 sec)

mysql> insert into Bus2 values(2345,'Hyderabad','Banglore');

Query OK, 1 row affected (0.01 sec)

mysql> insert into Bus2 values(23,'Hyderabad','Kolkata');

Query OK, 1 row affected (0.03 sec)

mysql> insert into Bus2 values(45,'Tirupathi','Banglore');

Query OK, 1 row affected (0.03 sec)

mysql> insert into Bus2 values(34,'Hyderabad','Chennai');

Query OK, 1 row affected (0.03 sec)

Database Management System Lab Manual Dept of CSE (DS)


mysql> select * from Bus2;

mysql> select * from Passenger2;

Empty set (0.00 sec)

mysql> insert into Passenger2 values(145,'Ramesh',45,'M','abc123');

Query OK, 1 row affected (0.05 sec)

mysql> insert into Passenger2

values(278,'Geetha',36,'F','abc124'); Query OK, 1 row affected

Database Management System Lab Manual Dept of CSE (DS)


(0.02 sec)

mysql> insert into Passenger2

values(4590,'Ram',30,'M','abc12'); Query OK, 1 row affected

(0.03 sec)

mysql> insert into Passenger2

values(6789,'Ravi',50,'M','abc14'); Query OK, 1 row affected

(0.03 sec)

mysql> insert into Passenger2

values(5622,'Seetha',32,'F','abc55'); Query OK, 1 row affected

(0.03 sec)

mysql> select * from Passenger2;

Database Management System Lab Manual Dept of CSE (DS)


UPDATE COMMAND ON BUS2 RELATION

UPDATE Selected Rows & Multiple Rows

mysql> Update Bus2 SET Source='Secundrabad' where BusNo=1234;

Query OK, 1 row affected (0.05 sec)

Rows matched: 1 Changed: 1 Warnings: 0

Database Management System Lab Manual Dept of CSE (DS)


mysql> Update Bus2 SET Source='Secundrabad' where Source=’Hyderabad’;

Query OK, 1 row affected (0.05 sec)

Rows matched: 1 Changed: 1 Warnings: 0

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
DELETE COMMAND ON BUS2 RELATION

DELETES Selected Rows and Multiple Rows

mysql> Delete from Bus2 where BusNo=1234;

Query OK, 1 row affected (0.05 sec)

mysql> select * from Bus2;

Database Management System Lab Manual Dept of CSE (DS)


mysql> Delete from Bus2 where Source=’Secundrabad’;

Query OK, 1 row affected (0.05 sec)

mysql> select * from Bus2;

WEEK-6
EXPERIMENT-6:Queries using Aggregate functions, GROUP BY, HAVING and Creation and dropping of Views.

A). Aim: Practice the following Queries:

1. Display unique PNR_NO of all passengers


2. Display all the names of male passengers.
3. Display the ticket numbers and names of all the passengers.
4. Find the ticket numbers of the passengers whose name start with ‘r’ and ends with ‘h’.
5. Find the names of Passengers whose age is between 30 and 45.
6. Display all the passengers names beginning with ‘A’.
7. Display the sorted list of Passengers names.

Database Management System Lab Manual Dept of CSE (DS)


mysql> insert into passenger2
values(82302,'Smith',23,'M','Hyderabad'); Query OK, 1 row affected
(0.02 sec)

mysql> insert into passenger2


values(82303,'Neha',23,'F','Hyderabad'); Query OK, 1 row affected
(0.01 sec)

mysql> insert into passenger2 values(82304,'Neha',35,'F','Hyderabad');


Query OK, 1 row affected (0.03 sec)

mysql> insert into passenger2 values(82306,'Ramu',40,'M','Hyderabad');


Query OK, 1 row affected (0.02 sec)

mysql> insert into passenger2 values(82308,'Aakash',40,'M','Hyderabad');


Query OK, 1 row affected (0.02 sec)

mysql> insert into passenger2 values(82402,'Aravind',42,'M','Hyderabad');


Database Management System Lab Manual Dept of CSE (DS)
Query OK, 1 row affected (0.02 sec)

mysql> insert into passenger2


values(82403,'Avinash',42,'M','Hyderabad'); Query OK, 1 row affected
(0.02 sec)

mysql> insert into passenger2


values(82502,'Ramesh',23,'M','Hyderabad'); Query OK, 1 row affected
(0.02 sec)

mysql> insert into passenger2


values(82602,'Rajesh',23,'M','Hyderabad'); Query OK, 1 row affected
(0.02 sec)

RESERVATION2

mysql> insert into reservation2 values(10201,'2012-02-20 10:20:25',05,'HYD',9654


235242);
Query OK, 1 row affected (0.03 sec)

mysql> insert into reservation2 values(10202,'2012-02-22 10:22:25',05,'HYD',9654


232451);
Query OK, 1 row affected (0.02 sec)

mysql> insert into reservation2 values(10203,'2012-03-22 10:30:25',05,'DELHI',96


54587960);
Query OK, 1 row affected (0.01 sec)

mysql> insert into reservation2 values(10204,'2013-03-22 11:30:25',05,'CHENNAI',


9845761254);
Query OK, 1 row affected (0.02 sec)

Database Management System Lab Manual Dept of CSE (DS)


1. Display unique PNR_NO of all reservation

Mysql>Select DISTINCT PNR_NO from Reservation;

PNR_No
10201
10202
10203
10204

2. Display all the names of male passengers.

mysql> Select p.name from passenger2 p


where p.passportid IN (select p2.passportid from passenger2 p2
where p2.sex='M');

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
3. Display the ticket numbers and names of all the passengers.

mysql> select t.ticketno,p.name from passengerticket t,passenger2 p


where t.passportid = p.passportid;

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
4. Find the ticket numbers of the passengers whose name start with ‘r’ and ends with ‘h’.

MySQL> SELECT Name FROM Passenger WHERE name LIKE ‘R%H’

Name
Rajesh
Ramesh
Ramesh

Database Management System Lab Manual Dept of CSE (DS)


5. Find the names of Passengers whose age is between 30 and 45.

MySQL> SELECT Name FROM PASSENGER WHERE AGE BETWEEN 30 AND 45

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
6. Display all the passengers names beginning with ‘A’.

MySQL> SELECT * FROM PASSENGER WHERE NAME LIKE ‘A%’;

Name
Akash
Arivind
Avinash

Database Management System Lab Manual Dept of CSE (DS)


7. Display the sorted list of Passengers names

MySQL> SELECT NAME FROM PASSENGER ORDER BY NAME;

B). Aim: To Practice Queries using Aggregate functions for the following

1. Write a Query to display the information present in the passenger and


cancellation tables
2. Display the number of days in a week on which the AP123 bus is available
3. Find number of tickets booked for each PNR_No using GROUP BY CLAUSE
4. Find the distinct PNR Numbers that are present.

Database Management System Lab Manual Dept of CSE (DS)


1. Write a Query to display the information present in the passenger and
cancellation tables

MYSQL> CREATE TABLE CANCELLATION2(PNRNO INT PRIMARY


KEY,JOURNEYDATE DATETIME, NOOFSEATS INT,ADDRESS
VARCHAR(20),CONTACTNO INT,STATUS VARCHAR(10),FOREIGN
KEY(PNRNO) REFERENCES RESERVATION2(PNRNO));

mysql> INSERT INTO CANCELLATION2 VALUES(10201,'2012-02-20


10:20:25',2,'HYD',9654235242,'CONFIRM');

mysql> INSERT INTO CANCELLATION2 VALUES(10202,'2012-02-22


10:22:25',2,'HYD',9654232451,'CONFIRM');

mysql> INSERT INTO CANCELLATION2 VALUES(10203,'2012-03-22


10:30:25',2,'DELHI',9654587960,'CONFIRM');

MySQL> SELECT * FROM RESERVATION

UNION

SELECT * FROM CANCELLATION;

2. Display the Minimum age of the Passenger

MySQL> SELECT MIN(AGE) as MINAGE FROM PASSENGER;

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
3. Find number of tickets booked for each PNR_No using GROUP BY CLAUSE

MySQL> SELECT PNRNO,SUM(No_of_SEATS) AS SUM_OF_SEATS FROM


RESERVATION2 GROUP BY PNRNO;

4. Find the distinct PNR Numbers that are present.

MySQL> SELECT DISTINCT PNR_NO FROM RESERVATION2;

Database Management System Lab Manual Dept of CSE (DS)


5.Mysql> select sum(Noofseats) from Cancellation2;

C). Querying using GROUP BY ,HAVING and Creation and Droping of views Aim: To

Practice Queries using Aggregate functions for following

5. Find the number of tickets booked by a passenger where the number of seats
is greater than 1.
6. Find the total number of cancelled seats.

5. Find the number of tickets booked by a passenger where the number of seats is
greater than 1.

MySQL> select sum(noofseats) from reservation2 GROUP BY PNRNO HAVING


Noofseats >1;

Database Management System Lab Manual Dept of CSE (DS)


6. Find the total number of cancelled seats.

MySQL> select sum(noofseats) as canceled_seats from cancellation2;

Database Management System Lab Manual Dept of CSE (DS)


Creation and Dropping of Views
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));

mysql>create view BStudents(name,sid,course) AS SELECT s.name,s.sid,E.cid from

students s,enrolled E where s.sid=e.sid AND E.grade='B';

Database Management System Lab Manual Dept of CSE (DS)


mysql> create view Goodstudents(sid,gpa) AS select s.sid,s.gpa from students s where gpa > 3.0;

Syntax: Drop view viewname;

Mysql> Drop view Bstudents;

Mysql> Drop view Goodstudents;

Database Management System Lab Manual Dept of CSE (DS)


WEEK-7

EXPERIMENT-7:Triggers (Creation of insert trigger, delete trigger, update trigger)

Aim: Creation of insert trigger, delete trigger and update trigger.

MySQL>CREATE TABLE BUS(BUSNO VARCHAR(10) NOT NULL, SOURCE

VARCHAR(10), DESTINATION VARCHAR(10), CAPACITY INT(2),

PRIMARY KEY(BUSNO));

MySQL>INSERT INTO BUS VALUES('AP123','HYD','CHENNAI','40');

i) CREATE TABLE BUS_AUDIT1(ID INT NOT NULL AUTO_INCREMENT, SOURCE VARCHAR(10)

NOT NULL, CHANGEDON DATETIME DEFAULT NULL, ACTION VARCHAR(10) DEFAULT NULL,

PRIMARY KEY(ID));

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
DELIMITER $$

CREATE TRIGGER BEFORE_BUS_UPDATE

BEFORE UPDATE ON BUS

FOR EACH ROW

BEGIN

INSERT INTO BUS_AUDIT1

SET action='update',

source=OLD.source,

changedon=NOW();

END$$

Database Management System Lab Manual Dept of CSE (DS)


i) UPDATE :

MySQL>UPDATE BUS SET SOURCE='KERALA' WHERE BUSNO='AP123'$$

SNo Source Changedon Action


1 Banglore 2014:03:23 12:51:00 Insert
2 Kerela 2014:03:25:12:56:00 Update
3 Mumbai 2014:04:26:12:59:02 Delete

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
ii) INSERT:

CREATE TRIGGER BEFORE_BUS_INSERT

BEFORE INSERT ON BUS

FOR EACH ROW

BEGIN

INSERT INTO BUS_AUDIT1

SET action='Insert',

source=NEW.source,

changedon=NOW();

END$$

MYSQL>INSERT INTO BUS VALUES('AP789','VIZAG','HYDERABAD',30)$$

SNo Source Changedon Action


1 Banglore 2014:03:23 12:51:00 Insert

Database Management System Lab Manual Dept of CSE (DS)


2 Kerela 2014:03:25:12:56:00 Update
3 Mumbai 2014:04:26:12:59:02 Delete

iii)

CREATE TRIGGER BEFORE_BUS_DELETE BEFORE

DELETE ON BUS

FOR EACH ROW

BEGIN

DELETE FROM BUS_AUDIT1

SET action='Insert',

source=NEW.source,

changedon=NOW();

END$$

DELETE FROM BUS WHERE SOURCE=’HYDERABAD’$$

SNo Source Changedon Action


1 Banglore 2014:03:23 12:51:00 Insert
2 Kerela 2014:03:25:12:56:00 Update
3 Mumbai 2014:04:26:12:59:02 Delete

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
Examples

CREATE TRIGGER updcheck1 BEFORE UPDATE ON

passengerticket FOR EACH ROW

BEGIN

IF NEW.TicketNO > 60 THEN

SET New.TicketNo = New.TicketNo;

ELSE

SET New.TicketNo = 0;

END IF;

END;

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual Dept of CSE (DS)
Database Management System Lab Manual Dept of CSE (DS)
Conclusion: The Student is able to work on Triggers and create active database.

WEEK-8

EXPERIMENT-8:Procedures

Aim: Creation of stored Procedures and Execution of Procedures and Modification of


Procedures.

Recommended Hardware / Software Requirements:

 Hardware Requirements: Intel Based desktop PC with minimum of 166 MHZ or


faster processor with at least 64MB RAM and 100 MB free disk space.
 MySQL 5.6.1

Database Management System Lab Manual Dept of CSE (DS)


Prerequisites: Student must know about the Relational Database SQL-Procedures

EXPERIMENT-1:

CREATE PROCEDURE BUS_PROC1()

BEGIN

SELECT * FROM BUS;

END$$

CALL BUS_PROC1()$$

EXPERIMENT-2:

CREATE PROCEDURE SAMPLE2()

BEGIN

DECLARE X INT(3);

SET X=10;

Database Management System Lab Manual Dept of CSE (DS)


SELECT X;

END$$

Mysql> CALL SAMPLE2()$$

Database Management System Lab Manual Dept of CSE (DS)


EXPERIMENT-3:

CREATE PROCEDURE SIMPLE_PROC(OUT PARAM1 INT) BEGIN

SELECT COUNT(*) INTO PARAM1 FROM BUS;

END$$

Mysql> CALL SIMPLE_PROC(@a)$$

Mysql> select @a;

Database Management System Lab Manual Dept of CSE (DS)


WEEK-9

EXPERIMENT-9:Usage of Cursors

Aim: Declare a cursor that defines a result set. Open the cursor to establish the result set.
Fetch the data into local variables as needed from the cursor, one row at a time. Close the
cursor when done.

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.

In a cursor contains the data in a loop. Cursors may be different from SQL commands that
operate on all the rows in the returned by a query at one time.

There are some steps we have to follow, given below :

 Declare a cursor

 Open a cursor statement

 Fetch the cursor

 Close the cursor

Database Management System Lab Manual Dept of CSE (DS)


1 . Declaration of Cursor : To declare a cursor you must use the DECLARE statement. With the
help of the variables, conditions and handlers we need to declare a cursor before we can use it.
first of all we will give the cursor a name, this is how we will refer to it later in the procedure.
We can have more than one cursor in a single procedure so its necessary to give it a name that
will in some way tell us what its doing. We then need to specify the select statement we want to
associate with the cursor. The SQL statement can be any valid SQL statement and it is possible
to use a dynamic where clause using variable or parameters as we have seen previously.

Syntax : DECLARE cursor_name CURSOR FOR select_statement;

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 the cursor.

Syntax : OPEN cursor_name;

3 . Cursor fetch statement : When we have to retrieve the next row from the cursor and
move the cursor to next row then you need to fetch the cursor.

Synatx : FETCH cursor_name INTO var_name;

If any row exists, then the above statement fetches the next row and cursor pointer moves ahead
to the next row.

4 . Cursor close statement : By this statement closed the open cursor.

Syntax: CLOSE_name;

By this statement we can close the previously opened cursor. If it is not closed explicitly then a
cursor is closed at the end of compound statement in which that was declared.

Delimiter $$

Database Management System Lab Manual Dept of CSE (DS)


Create procedure p1(in_customer_id int)
begin

declare v_id int;


declare v_name varchar(20); declare
v_finished integer default 0;

declare c1 cursor for select sid,sname from students where sid=in_customer_id;


declare continue handler for NOT FOUND set v_finished=1;
open c1;
std:LOOP

fetch c1 into
v_id,v_name; if
v_finished=1 then
leave std;
end if;

select concat(v_id,v_name);
end LOOP std;
close c1;
end;

Database Management System Lab Manual Dept of CSE (DS)


Database Management System Lab Manual
Dept of CSE (DS)

You might also like