Q.1 Short Questions Marks 1. New fields can be added to the created table by using command. a) ALTER b) SELECT c) CREATE. D. UPDATE.

Similar documents
CHAPTER: TRANSACTIONS

Transaction Management. Chapter 14

Chapter 9: Transactions

Chapter 14: Transactions

Roadmap of This Lecture

Chapter 15: Transactions

CSIT5300: Advanced Database Systems

Chapter 13: Transactions

References. Transaction Management. Database Administration and Tuning 2012/2013. Chpt 14 Silberchatz Chpt 16 Raghu

Chapter 15: Transactions

Transactions. Prepared By: Neeraj Mangla

BİL 354 Veritabanı Sistemleri. Transaction (Hareket)

Lecture 20 Transactions

Transaction Concept. Two main issues to deal with:

Chapter 14: Transactions

Transactions These slides are a modified version of the slides of the book Database System Concepts (Chapter 15), 5th Ed

ICOM 5016 Database Systems. Chapter 15: Transactions. Transaction Concept. Chapter 15: Transactions. Transactions

Advanced Databases. Transactions. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg

CS322: Database Systems Transactions

Transactions. Silberschatz, Korth and Sudarshan

Database System Concepts

Transactions. Lecture 8. Transactions. ACID Properties. Transaction Concept. Example of Fund Transfer. Example of Fund Transfer (Cont.

Advanced Databases (SE487) Prince Sultan University College of Computer and Information Sciences. Dr. Anis Koubaa. Spring 2014

Transaction Concept. Chapter 15: Transactions. Example of Fund Transfer. ACID Properties. Example of Fund Transfer (Cont.)

Database Management Systems 2010/11

Database System Concepts

Transactions and Concurrency Control. Dr. Philip Cannata

Database Management Systems


Database System Concepts

Transactions. Chapter 15. New Chapter. CS 2550 / Spring 2006 Principles of Database Systems. Roadmap. Concept of Transaction.

E.G.S. PILLAY ENGINEERING COLLEGE (An Autonomous Institution, Affiliated to Anna University, Chennai) Nagore Post, Nagapattinam , Tamilnadu.

DATABASE MANAGEMENT SYSTEMS

Database Management Systems Paper Solution

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Introduction to Transaction Management

UNIT 3 UNIT 3. Transaction Management and Concurrency Control, Performance tuning and query optimization of SQL and NoSQL Databases.

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

MODULE: 3 FUNCTIONAL DEPENDENCIES

UNIT-IV TRANSACTION PROCESSING CONCEPTS

Introduction to Transaction Management

ajpatelit.wordpress.com

Babu Banarasi Das National Institute of Technology and Management

UNIT 8. Database Design Explain multivalued dependency and fourth normal form 4NF with examples.

UNIT 4 TRANSACTIONS. Objective

TRANSACTION PROCESSING CONCEPTS

King Fahd University of Petroleum and Minerals

COSC344 Database Theory and Applications. Lecture 21 Transactions

Relational Database design. Slides By: Shree Jaswal

Elmasri/Navathe, Fundamentals of Database Systems, Fourth Edition Chapter 10-2

Creating and Managing Tables Schedule: Timing Topic

Real-World Performance Training SQL Introduction

SQL Interview Questions


AC61/AT61 DATABASE MANAGEMENT SYSTEMS JUNE 2013

Objectives. After completing this lesson, you should be able to do the following:

UNIT 3 DATABASE DESIGN

Data about data is database Select correct option: True False Partially True None of the Above

INDEX. 1 Basic SQL Statements. 2 Restricting and Sorting Data. 3 Single Row Functions. 4 Displaying data from multiple tables

Transactions. Juliana Freire. Some slides adapted from L. Delcambre, R. Ramakrishnan, G. Lindstrom, J. Ullman and Silberschatz, Korth and Sudarshan

DATABASE MANAGEMENT SYSTEM SHORT QUESTIONS. QUESTION 1: What is database?

Chapter 10. Chapter Outline. Chapter Outline. Functional Dependencies and Normalization for Relational Databases

Example: Transfer Euro 50 from A to B

14.1 Answer: 14.2 Answer: 14.3 Answer: 14.4 Answer:

1 SQL Structured Query Language

SQL. Char (30) can store ram, ramji007 or 80- b

CPSC 421 Database Management Systems. Lecture 19: Physical Database Design Concurrency Control and Recovery

Chapter 14. Database Design Theory: Introduction to Normalization Using Functional and Multivalued Dependencies

Chapter 10. Normalization. Chapter Outline. Chapter Outline(contd.)

Page 1. Goals of Today s Lecture. The ACID properties of Transactions. Transactions

Sample Question Paper

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

Functional Dependencies and. Databases. 1 Informal Design Guidelines for Relational Databases. 4 General Normal Form Definitions (For Multiple Keys)

1 SQL Structured Query Language

Transaction Management & Concurrency Control. CS 377: Database Systems

UNIT IV TRANSACTION MANAGEMENT

Transactions and Concurrency Control

Informal Design Guidelines for Relational Databases

Sankalchand Patel College of Engineering, Visnagar B.E. Semester III (CE/IT) Database Management System Question Bank / Assignment

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9

CSE 344 MARCH 21 ST TRANSACTIONS

Database Recovery. Dr. Bassam Hammo

CS122 Lecture 15 Winter Term,

CS2 Current Technologies Lecture 3: SQL - Joins and Subqueries

Attach extra pages as needed. Write your name and ID on any extra page that you attach. Please, write neatly.

Part III. Data Modelling. Marc H. Scholl (DBIS, Uni KN) Information Management Winter 2007/08 1

Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Slide 17-1

DATABASE DESIGN I - 1DL300

Database implementation Further SQL

GIFT Department of Computing Science Data Selection and Filtering using the SELECT Statement

2011 DATABASE MANAGEMENT SYSTEM

In This Lecture. Transactions and Recovery. Transactions. Transactions. Isolation and Durability. Atomicity and Consistency. Transactions Recovery

CT13 DATABASE MANAGEMENT SYSTEMS DEC 2015

SQL Structured Query Language Introduction

Name :. Roll No. :... Invigilator s Signature : DATABASE MANAGEMENT SYSTEM

CS2255 DATABASE MANAGEMENT SYSTEMS QUESTION BANK UNIT I

VU Mobile Powered by S NO Group All Rights Reserved S NO Group 2013

Introduction to Transaction Processing Concepts and Theory

Lock Granularity and Consistency Levels (Lecture 7, cs262a) Ali Ghodsi and Ion Stoica, UC Berkeley February 7, 2018

Page 1. CS194-3/CS16x Introduction to Systems. Lecture 8. Database concurrency control, Serializability, conflict serializability, 2PL and strict 2PL

Transcription:

ID No. Knowledge Institute of Technology & Engineering - 135 BE III SEMESTER MID EXAMINATION ( SEPT-27) PAPER SOLUTION Subject Code: 2130703 Date: 14/09/27 Subject Name: Database Management Systems Branches: Computer & IT Q.1 Short Questions Marks 1. New fields can be added to the created table by using command. a) ALTER b) SELECT c) CREATE. D. UPDATE. 2. Define Transaction. Logical unit of database processing that includes one or more access operations (read - retrieval, write - insert or update, delete). 3. Write functionality of DESC command in SQL. DESC has two purposes. It is used to describe a schema as well as to retrieve rows from table in descending order. 4. DDL stands for Data Definition Language 5. Define the command COMMIT. Commit signals a successful end of the transaction so that any changes (updates) executed by the transaction can be safely committed to the database and will not be undone. 6. State true or false: Any relation schema that satisfies BCNF also satisfies 3NF True. Q.2 (a) Define: Primary key, Foreign Key and NOT NULL constraint. 03 (b) Primary Key: A primary key is one or more columns in a table used to uniquely identify each row in the table. Its values must not be null and must be unique across the column. Foreign Key: A foreign key is a column or a group of columns whose values are derived from the primary (or unique) key of the same or some other table. It represents relationship between tables. Not null: The not null constraint ensures that a table column cannot be left empty. Explain the States of the transaction with a neat sketch. 04 Active: This is state. The transaction stays in this state while it is executing. Partially Committed: This is the state after the final statement of the transaction is executed. At this point failure is still possible since changes may have been only done in main memory, a hardware failure could still occur. Failed: After the discovery that normal execution can no longer proceed. Once a 1

(c) (c) transaction cannot be completed, any changes that it made must be undone rolling it back. Aborted: The state after the transaction has been rolled back and the database has been restored to its state prior to the start of the transaction. Committed: The transaction enters in this state after successful completion of the transaction. We cannot abort or rollback a committed transaction We have following relations: EMP(empno, ename, jobtitle, managerno, hiredate, sal, comm, deptno) DEPT(deptno, dname, loc) Answer the following queries in SQL. i) Find the Employees working in the department 10, 20, 30 only. Ans : Select * from emp where deptno in(10,20,30) OR Select * from emp where deptno=10 or deptno=20 or deptno=30; ii) Find Employees whose names start with letter A or letter a. Ans : Select * from emp where ename like A% or ename like a% ; iii) Find Employees along with their department name. Ans :Select e.empno,e.ename,e.jobtitle,e.managerno,e.hiredate, e.comm,e.deptno,d.dname,d.loc from emp e,dept d where e.deptno=d.deptno iv) Insert data in EMP table. INSERT INTO EMPLOYEE VALUES(1,'SMIT', CLERK,79,17- DEC-80,5000,,20); INSERT INTO EMPLOYEE VALUES(102,'ANIL', SALSMAN,89,21-AUG-80,8000,300,30); INSERT INTO EMPLOYEE VALUES(103,'SUNIL', CLERK,7902,25- DEC-85,5500,500,20); INSERT INTO EMPLOYEE VALUES(104,'AJAY', MANAGER,5902,29-DEC-70,10000,,20); INSERT INTO EMPLOYEE VALUES(105,'ROHIT', CLERK,7903,25-JAN-79,7000,300,20); v) Find the Employees who are working in Smith's department Ans :Select e.empno,e.ename,e.jobtitle,e.managerno,e.hiredate, e.comm,e.deptno,d.dname,d.loc from emp e,dept d where d.deptno=e.deptno and d.dname= Smith ; OR Explain materialized evaluation and pipelining. There are two methods for the evaluation of expression 1. Materialization 2. Pipelining Materialization In this method we start from bottom of the tree and each expression is evaluated one by one in bottom to top order. The result of each expression is materialized (stored) in temporary relation (table) for later use. 05 2

In our example, there is only one such operation, selection operation on account. The inputs to the lowest level operation are relations in the database. We execute these operations and we store the results in temporary relations. We can use these temporary relations to execute the operation at the next level up in the tree, where the inputs now are either temporary relations or relations stored in the database. In our example the inputs to join are the customer relation and the temporary relation created by the selection on account. The join can now be evaluated, creating another temporary relation. By repeating the process, we will finally evaluate the operation at the root of the tree, giving the final result of the expression. In our example, we get the final result by executing the projection operation at the root of the tree, using as input the temporary relation created by the join. Evaluation just described is called materialized evaluation, since the results of each intermediate operation are created and then are used for evaluation of the next level operations. The cost of a materialized evaluation is not simply the sum of the costs of the operations involved. To compute the cost of evaluating an expression is to add the cost of all the operation as well as the cost of writing intermediate results to disk. The disadvantage of this method is that it will create temporary relation (table) and that relation is stored on disk which consumes space on disk. It evaluates one operation at a time, starting at the lowest level. Pipelining We can reduce the number of temporary files that are produced by combining several relations operations into pipeline operations, in which the results of one operation are passed along to the next operation in the pipeline. Combining operations into a pipeline eliminates the cost reading and writing temporary relations. In this method several expression are evaluated simultaneously in pipeline by using the result of one operation passed to next without storing it in a temporary relation. First it will compute records having balance less than 2500 and then pass this result directly to project without storing that result in any temporary relation (table). And then by using this result it will compute the projections on customer-name. It is much cheaper than materialization because in this method no need to store a temporary relation to disk. Pipelining is not used in sort, hash joins. 3

Q.3 (a) Explain join dependency and 5 NF 03 Definition. A join dependency (JD), denoted by JD(R1, R2,..., Rn), specified on relation schema R, specifies a constraint on the states r of R. The constraint states that every legal state r of R should have a nonadditive join decomposition into R1, R2,..., Rn. Hence, for every such r we have (πr1(r), πr2(r),..., πrn(r)) = r\ The relation r(abc)decomposes losslessly onto the relation schemes A B, A C, and B C. The projections are shown in Figure 7.2. However, r satisfies no nontrivial MVDs, so it has no Iossless decomposition onto any pair of relation schema R1 and R2 such that R1 ABC and R2 ABC. 5NF(FIFTH NORMAL FORM) Definition. A relation schema R is in fifth normal form (5NF) (or projectjoin normal form (PJNF)) with respect to a set F of functional, multivalued, and join dependencies if, for every nontrivial join ependency JD(R1, R2,..., Rn) in F+ (that is, implied by F), every Ri is a superkey of R. A relation is said to be in 5NF if and only if it is in 4NF and every join dependency in it is implied by the candidate keys. Fifth normal form deals with cases where information can be reconstructed from smaller pieces of information that can be maintained with less redundancy. Fifth normal for mainly emphasizes on lossless decomposition. Consider the following example To add the seminar DAT-2 to New York, we would have to add a line to the table for each instructor located in New York. The Table would look like as shown below adding the above information 4

There is a redundancy of data F for Brown's information. So to eliminate this redundancy, we have to do a 'Non-Loss decomposition of the table. Consider the decomposition of above table into 5NF In the normalized form, the fact that Brown travelling to New York is recorded only once, whereas, in the unnormalized form it may be repeated many times. (b) List and discuss ACID properties of transaction. Ans : Property of transaction are classified in to four different categories and list are below. 1) Atomicity 2) Consistency 3) Isolation 4) Durability Atomicity Either all operations of the transaction are properly reflected in the database or none are. Means either all the operations of a transaction are executed or not a single operation is executed. For example consider below transaction to transfer Rs. 50 from account A to account B: 1. read(a) 2. A := A 50 3. write(a) 4. read(b) 5. B := B + 50 6. write(b) In above transaction if Rs. 50 is deducted from account A then it must be added to account B. 04 Consistency Execution of a transaction in isolation preserves the consistency of the database. Means our database must remain in consistent state after execution of any transaction. In above example total of A and B must remain same before and after the execution of transaction. Isolation 5

Although multiple transactions may execute concurrently, each transaction must be unaware of other concurrently executing transactions. Intermediate transaction results must be hidden from other concurrently executed transactions. In above example once your transaction start from step one its result should not be access by any other transaction until last step (step 6) is completed. Durability After a transaction completes successfully, the changes it has made to the database persist, even if there are system failures. Once your transaction completed up to step 6 its result must be stored permanently. It should not be removed if system fails. (c) Discuss various steps of query processing with proper diagram It is a process of transforming a high level query (such as SQL) in to low level language. Query processing refers to the range of activities involved in extracting data from a database. 05 A query expressed in a high level query language such as SQL must be Scanned Parsed Validated The scanner identifies the language tokens such as SQL keywords, attribute names and relation names in the text of the query. Parser checks the query syntax to determine whether it is formulated according to the syntax rules of the query language. The query must also be validated by checking that all attributes and relation names are valid and semantically meaningful names in the schema of the particular database being queried. A query typically has many possible execution strategies and the process of choosing a suitable one for processing a query is known as query optimization. The query optimizer module has the task of producing an execution plan and code generator generates the code to execute that plan. The runtime database processor has the task of running the query code whether in compiled or interpreted mode, to produce the query result. If a runtime error results, an error message is generated by the runtime database processor. Query code generator will generate code for query. Runtime database processor will select optimal plan and execute query and gives result. OR 6

Q.3 (a) Write a note on conflict serializability. Instructions li and lj of transactions Ti and Tj respectively, conflict if and only if there exists some item Q accessed by both li and lj, and at least one of these instructions wrote Q. 1. If li and lj access different data item then li and lj don t conflict. 2. li = read(q), lj = read(q). li and lj don t conflict. 3. li = read(q), lj = write(q). li and lj conflict. 4. li = write(q), lj = read(q). li and lj conflict. 5. li = write(q), lj = write(q). li and lj conflict. Intuitively, a conflict between li and lj forces a (logical) temporal order between them. If a schedule S can be transformed into a schedule S by a series of swaps of nonconflicting instructions, we say that S and S are conflict equivalent. We say that a schedule S is conflict serializable if it is conflict equivalent to a serial Schedule. Example Schedule S can be transformed into Schedule S by swapping of non-conflicting series of instructions. Therefore Schedule S is conflict serializable. 03 Instruction Ii of transaction T1 and Ij of transaction T2 conflict if both of these instruction access same data A and one of these two instructions performs write operation on that data (A). In above example the write(a) instruction of transaction T1 conflict with read(a) instruction of transaction T2 because both the instructions access same data A. But write(a) instruction of transaction T2 is not conflict with read(b) instruction of transaction T1 because both the instructions access different data. Transaction T2 performs write operation in A and transaction T1 is reading B. So in above example in schedule S two instructions read(a) and write(a) of transaction T2 and two instructions read(b) and write(b) of transaction T1 are interchanged and we get schedule S. Therefore Schedule S is conflict serializable. We are unable to swap instructions in the above schedule S to obtain either the serial schedule < T3, T4 >, or the serial schedule < T4, T3 >. So above schedule S is not conflict serializable. 7

(b) Write a note on two phase commit protocol. Two phase commit protocol The two phase commit protocol provides an automatic recovery mechanism in case a system or media failure occurs during execution of the transaction. The two phase commit protocol ensures that all participants perform the same action (either to commit or to roll back a transaction). The two phase commit strategy is designed to ensure that either all the databases are updated or none of them, so that the databases remain synchronized. In two phase commit protocol there is one node which is act as a coordinator and all other participating node are known as cohorts or participant. Coordinator the component that coordinates with all the participants. Cohorts (Participants) each individual node except coordinator are participant. As the name suggests, the two phase commit protocol involves two phases. 1. The first phase is Commit Request phase OR phase 1 2. The second phase is Commit phase OR phase 2 Commit Request Phase (Obtaining Decision) To commit the transaction, the coordinator sends a request asking for ready for commit to each cohort. The coordinator waits until it has received a reply from all cohorts to vote on the request. Each participant votes by sending a message back to the coordinator as follows: It votes YES if it is prepared to commit It may vote NO for any reason if it cannot prepare the transaction due to a local failure. It may delay in voting because cohort was busy with other work. Commit Phase (Performing Decision) If the coordinator receives YES response from all cohorts, it decides to commit. The transaction is now officially committed. Otherwise, it either receives a NO response or gives up waiting for some cohort, so it decides to abort. The coordinator sends its decision to all participants (i.e. COMMIT or ABORT). Participants acknowledge receipt of commit or about by replying DONE. 04 (c) Write queries for the following tables: T1 ( Empno, Ename, Salary, Designation) T2 (Empno, Deptno.) (1) Display all the details of the employee whose salary is lesser than 10K. Ans: select e.empno,e.ename,e.salary,e.designation,d.deptno from T1 e, T2 d where e.empno=d.empno and e.salary>10000 (2) Display the Deptno in which Employee Seeta is working. Ans :select d.deptno from T1 e, T2 d where e.empno=d.empno and e.ename= Seeta (3) Add a new column Deptname in table T2. Ans : ALTER TABLE T2 ADD ( Deptname varchar2(20) ) ; (4) Change the designation of Geeta from Manager to Senior Manager. Ans : UPDATE T1 SET Designation = Senior Manager WHERE Ename = Geeta ; (5) Find the total salary of all the employees. Ans : Select SUM(salary) Total_Salary from T1. 05 8