Starting from:
$35

$29

Assignment 9 Transactions solution

The purpose of this assignment is to experiment with behaviors of transactions in MySQL databases. You will be using more than one MySQL session. To do this, just open 2 putty sessions, logon to hopper, and then logon to MySQL. Use the same name for the output file for all sessions –\T Assgn7out.txt – so that all of your MySQL commands go to the same file. Turn in the print out of your MySQL statements and the results along with your answers to the questions.

Part I: Power of COMMIT (25 points)

1) Start your first MySQL session, issue the following MySQL statements setting the output file:

\T Assgn9out.txt
use znnnnnnn;
create table movie(
pk int auto_increment primary key,
name char(15));
start transaction;
insert into movie (name)
values('Das Boot');
insert into movie (name)
values('The Godfather');
insert into movie (name)
values('Jaws');
insert into movie (name)
values('The Black Stallion');

    2) Start your second MySQL session, issue following MySQL statements:
\T Assgn7out.txt use znnnnnnn; select * from movie;

What is result of the select statement, and why?

3)Then in the same session
insert into movie (name)
values('Shrek');
insert into movie (name)
values('StarTrek');

4) Switch back to your first MySQL session, issue following MySQL statement:

commit;
select * from movie;
\t
exit;

Assignment 9    1 of 3

5) Switch back to your second MySQL session, issue following MySQL statements:

select * from movie;
\t
exit;
What is result of the select statement, and why?
Part II: Power of Rollback (25 points)
    1) Start another MySQL session, issue following MySQL statements:
\T Assgn9out.txt use znnnnnnn; start transaction;

delete from movie where pk = 3; select * from movie;
2)Then
Update movie set name = 'Iron Man' where pk = 2;

3)Then
Update movie set name = 'Con Air' where pk = 4;


4)Then
insert into movie (name)
values('Grease');
select * from movie;

What is result of the select statement, and why?

    5) Issue the following MySQL statements: rollback;

select * from movie;

What is result of the select statement, and why?

\t
exit;


















Assignment 9    2 of 3
Part III: Be Aware of Deadlock (25 points)

Using another two sessions of MySQL do the following in order specified:



Session I
Session II
\T Assgn7out.txt

use znnnnnn;

start transaction;


switch to session II

\T Assgn7out.txt

use znnnnnn;

start transaction;
switch back to session I

update movie

set name = ‘The Red Shoes’

where pk=1;


switch to session II

update movie

set name = 'The Graduate'

where pk = 5;
switch back to session I

update movie

set name = 'Shrek 2'

where pk = 2;


switch to session II

update movie

set name = 'Dr. StrangeLove'

where pk = 6;


You may get different answers depending on how quickly you do this. Most likely every one should get slightly different answers. If you just copy and paste from this document you may have syntax errors, so please use this as a guide and type the SQL statements in yourself. You actually learn more.











Assignment 9    3 of 3

More products