CS Final Exam Review Suggestions

Similar documents
CS Final Exam Review Suggestions - Spring 2018

CS Homework 10

CS Homework 9 p. 1. CS Homework 9

CS Reading Packet: "Transaction management, part 2"

CS Final Exam Review Suggestions - Spring 2014

Chapter 7 (Cont.) Transaction Management and Concurrency Control

CS Exam 1 Review Suggestions - Spring 2017

CS Final Exam Review Suggestions - Fall 2017

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 13 Managing Transactions and Concurrency

CSE 344 Final Review. August 16 th

SQL: Transactions. Announcements (October 2) Transactions. CPS 116 Introduction to Database Systems. Project milestone #1 due in 1½ weeks

CS Homework 10

Bases de Dades: introduction to SQL (indexes and transactions)

TRANSACTION PROPERTIES

M S Ramaiah Institute of Technology Department of Computer Science And Engineering

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

Unit 2. Unit 3. Unit 4

Review -Chapter 4. Review -Chapter 5

CS Homework 7 p. 1. CS Homework 7. Problem 1 - START THIS A.S.A.P. (in case there are PROBLEMS...)

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

SQL: Transactions. Introduction to Databases CompSci 316 Fall 2017

INF 315E Introduction to Databases School of Information Fall 2015

CMP-3440 Database Systems

Textbook(s) and other required material: Raghu Ramakrishnan & Johannes Gehrke, Database Management Systems, Third edition, McGraw Hill, 2003.

CMSC 461 Final Exam Study Guide

Security Mechanisms I. Key Slide. Key Slide. Security Mechanisms III. Security Mechanisms II

Relational Database Management System 2014

CSCE 4523 Introduction to Database Management Systems Final Exam Fall I have neither given, nor received,unauthorized assistance on this exam.

Course Book Academic Year

CIS 130 Exam #2 Review Suggestions

Database Systems Management

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

UNIT 2 Set Operators

Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 10: Transaction processing. November 14, Lecturer: Rasmus Pagh

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

How Oracle Does It. No Read Locks

CSE 530A ACID. Washington University Fall 2013

Goals for Today. CS 133: Databases. Final Exam: Logistics. Why Use a DBMS? Brief overview of course. Course evaluations

CSCE 4523 Introduction to Database Management Systems Final Exam Spring I have neither given, nor received,unauthorized assistance on this exam.

Deccan Education Society s FERGUSSON COLLEGE, PUNE (AUTONOMOUS) SYLLABUS UNDER AUTONOMY. FIRST YEAR B.Sc. COMPUTER SCIENCE SEMESTER I

Chapter 22. Transaction Management

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

2 Copyright 2015 M. E. Kabay. All rights reserved. 4 Copyright 2015 M. E. Kabay. All rights reserved.

15CS53: DATABASE MANAGEMENT SYSTEM

6.830 Lecture Recovery 10/30/2017

Transaction Management

SYED AMMAL ENGINEERING COLLEGE

Weak Levels of Consistency

Course Outline Faculty of Computing and Information Technology

CS352 Lecture - Concurrency

CS Exam 2 Study Suggestions

Transactions. ACID Properties of Transactions. Atomicity - all or nothing property - Fully performed or not at all

Unit 10.5 Transaction Processing: Concurrency Zvi M. Kedem 1

CS352 Lecture - Concurrency

Mobile and Heterogeneous databases Distributed Database System Transaction Management. A.R. Hurson Computer Science Missouri Science & Technology

CS5412: TRANSACTIONS (I)

Concurrency Control. Transaction Management. Lost Update Problem. Need for Concurrency Control. Concurrency control

Transaction Management. Pearson Education Limited 1995, 2005

Database Systems CSE 414

Introduction to Data Management CSE 344

Lesson 3 Transcript: Part 1 of 2 - Tools & Scripting


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

Module 15: Managing Transactions and Locks

Lab IV. Transaction Management. Database Laboratory

CIS Reading Packet: "Views, and Simple Reports - Part 1"

Transaction Processing: Concurrency Control. Announcements (April 26) Transactions. CPS 216 Advanced Database Systems

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

INTRODUCTION TO DATABASE

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

CSE 344 MARCH 25 TH ISOLATION

CHAPTER 3 RECOVERY & CONCURRENCY ADVANCED DATABASE SYSTEMS. Assist. Prof. Dr. Volkan TUNALI

Contact Hours / week: 4 Total hours: 64. Table of Contents Architecture 3 Data Modeling Using the Entity-

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9

Database Application Development Oracle PL/SQL, part 2. CS430/630 Lecture 18b

Database Processing. Fundamentals, Design, and Implementation. Global Edition

In This Lecture. Exam revision. Main topics. Exam format. Particular topics. How to revise. Exam format Main topics How to revise

Intro to DB CHAPTER 15 TRANSACTION MNGMNT

DATABASE DESIGN I - 1DL300

Topics in Reliable Distributed Systems

CS634 Architecture of Database Systems Spring Elizabeth (Betty) O Neil University of Massachusetts at Boston

CS Exam 1 Review Suggestions

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

DATABASE MANAGEMENT SYSTEM SUBJECT CODE: CE 305

6.830 Lecture Recovery 10/30/2017

Database Systems: Concepts, design, and implementation ISE 382 (3 Units)

Database Management Systems

Lecture 21 Concurrency Control Part 1

Introduction to Data Management CSE 344

October/November 2009

CS157a Fall 2018 Sec3 Home Page/Syllabus

CS 132 Exam #1 - Study Suggestions

CS Reading Packet: "Database design, part 1"

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS

CS Reading Packet: "Views, and Simple Reports - Part 1"

Specific Objectives Contents Teaching Hours 4 the basic concepts 1.1 Concepts of Relational Databases

CSC 261/461 Database Systems Lecture 21 and 22. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101


Concurrent & Distributed Systems Supervision Exercises

SYED AMMAL ENGINEERING COLLEGE

Transcription:

CS 325 - Final Exam Review Suggestions p. 1 last modified: 2017-12-06 CS 325 - Final Exam Review Suggestions Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported learning potential when students study together and explain concepts to one another, you again can receive (a maximum) *5 POINTS BONUS* on the Final Exam if you do the following: set up and/or attend an exam study session with at least one other CS 325 student (but it can involve as many other CS 325 students as you would like!) for YOU to receive the bonus, YOU SEND an e-mail to me, sent on the same day as the study session (which needs to take place before 10:20 am on Tuesday, December 12) in which you: use as the e-mail Subject: CS 325 - Final Exam bonus briefly DESCRIBE (a sentence or two is fine) what you covered at the exam study session INCLUDE a picture of everyone involved in the study group (EACH person who wants the 5 point bonus should send an e-mail message to me containing this Subject: line AND these TWO parts.) You are responsible for material covered in lectures and labs, and especially anything that's been on a homework, lab exercise or the course project; BUT, here's a quick overview of especially important material. It is strongly advised that you study posted examples and notes, and make sure you can do exercises such as those on homeworks and lab exercises; (Note that if your understanding of the material is not strong enough, you may have difficulty completing the exam within its time limit.) You must work individually on the exam. (But studying with others or in groups beforehand is an excellent idea!) You are permitted to bring into the exam a single piece of paper (8.5" by 11") on which you have handwritten whatever you wish on one or both sides. This paper must include your name, it must be handwritten by you, and it will not be returned. Other than this piece of paper, the exam is closed-note, closed-book, and closed-computer. (Note that Final Exams are not returned. I will retain them for at least 2 years, and you may come by my office to see them if you wish after grades are posted to the course Canvas site.) This will be a pencil-and-paper exam; you will be reading and writing SQL*Plus commands and SQL statements in this format, as well as answering questions about concepts we have discussed. Remember that you are also responsible for knowing -- and following -- the course SQL style standards and the course ERD notation. The Final Exam is cumulative. If it was fair game for Exam 1 or Exam 2, it is fair game for the Final Exam. So, studying the review suggestion handouts for Exam 1 and Exam 2 would be wise; (they're still available from the course web page, under "Homeworks and Handouts"). Studying Exam 1 and Exam 2 would also be wise.

CS 325 - Final Exam Review Suggestions p. 2 Expect quite a bit of SQL,...and note that you will be asked to write at least one query involving a join. (It might be an equi-join or a query involving further projection or selection from an equi-join.) DBMS Support for Various Integrities EXPECT a question related to DBMS support for entity integrity, domain integrity, referential integrity, and transaction integrity. For example, could you answer questions such as those in Homework 10, Problem 4, 4-1 to 4-8? Converting an ER Model into a Database Design/Schema, part 2 Handling supertype-subtype relationships, handling weak entity classes, handling association entity classes, handling recursive relationships, handling entity classes which have multiple relationships between them how does one convert a supertype-subtype relationship into appropriate tables? what are the slight differences when handling disjoint subtypes?...overlapping subtypes?...union subtypes? what are the slight differences when handling weak entity classes? what is an association entity class? What are the (possible) slight differences when handling these -- what are the two options you generally need to choose from? And when might you favor one of these options over the other? how are recursive relationships handled? how are multiple relationships between the same two entity classes handled? Transaction Management and Concurrency Control Transactions What is a transaction? What are the 5 main database transaction properties (to ensure database integrity in the presence of concurrency)? (Hint: ACIDS) Expect a question trying to determine if you know what is means for a transaction to be ATOMIC --- what does it mean? (What is atomicity?) Serializability --- what is that? why is it desirable? what are several ways of achieving it? etc. Database durability --- what is that? why is it desirable? what are some means for attempting to provide this? etc. What is meant by a consistent database state? What is meant by isolation? How does SQL support transactions? (commit, rollback) The exam could include fragments of code that include commit and rollback commands, and then

CS 325 - Final Exam Review Suggestions p. 3 ask questions to see if you know their effects. Could you answer questions such as those in Homework 10, Problem 4, 4-9 to 4-14? Database Recovery What is database recovery? Transaction logs are one way of implementing/providing support for database recovery. How can they be used in such recovery? What do the concepts of rollforward, rollback mean in such recovery? Be able to answer a recovery question like that given in Homework 11, Problem 1, 1-3 to 1-4. Concurrency Control concurrency control - how do you handle MULTIPLE, concurrent transactions? how can LOCKS and TIMESTAMPS help to do this? what kinds of problems can occur with transactions? lost updates, inconsistent reads, etc. (as well as "effects" of concurrency control such as deadlock, starvation, etc.) Locks what are they? how can they be used? binary locks shared/exclusive locks (also called read/write locks) what are the differences between these in terms of memory? overhead? potential concurrency? (TRADE-OFFS between them...) Be able to do problems like those on Homework 11, Problem 1, 1-1 and 1-5 to 1-12. what do we mean by lock granularity? lock granularity is how much is being locked at a time; what are the tradeoffs there? (notice the tradeoffs --- smaller granularity --> more potential concurrency, but also more overhead (space for locking bits, time to handle locks) two-phased locking is needed with locks to achieve serializability you have a GROWING phase and a SHRINKING phase that is, a transaction can obtain locks as needed (growing phase) BUT once it gives up a lock, it CANNOT obtain any more (shrinking phase) (also discussed a more restrictive (and easier to implement) version of this in which the system doesn't release ANY locks until the transaction is committed or rolled back -- the "growing" phase is the whole transaction's "lifetime"! More draconian, but easier to implement)

CS 325 - Final Exam Review Suggestions p. 4 locking CAN lead to deadlocks --- what are they, what are some ways of dealing with this problem? Timestamps timestamps are an ALTERNATIVE to locking for concurrency control know BASICS of this approach, as discussed in lecture (be sure you can do problems like those in Part 1 of the Week 14 Lab Exercise) basic idea: EACH transaction gets a unique timestamp, CONFLICTING operations must be done in TIMESTAMP order (so, if a transaction wishes to perform a conflicting action that would VIOLATE timestamp order, it is TERMINATED, rolled back, and restarted (so it gets a BIGGER timestamp)) note tradeoffs, though --- could take more space (depending on granularity, of course) than locking, because EVERY (unit) has a read timestamp and a write timestamp... Optimistic Methods talked BRIEFLY about optimistic methods, too --- know just the BASIC idea there you only have to know this to the extent discussed in the "Transaction Management - part 2" DB reading packet Databases, society, and ethics What are some of the issues related to databases, society, and ethics? LAB-RELATED TOPICS: note: EXPECT to have to write at least one update statement and delete statement note that I could also ask questions about, for example: what order tables must be created, what order rows must be inserted, and what the effects of referential integrity constraints are -- those are from earlier in the semester, but populating your project tables should have made this clearer! Sequences what are they? how can they be created? used? how do you obtain the next value from a given sequence? the current value? be able to read, write, and use sequences SQL Views what is a SQL view? How does a view differ from a table? What are the potential advantages of using views? How do you use a view, once it is created? how can a view be used together with the SQL grant command to enhance database security?

CS 325 - Final Exam Review Suggestions p. 5 how do you create a view? how can you specify column names for a view? (know both ways, advantages and disadvantages) if a view's definition involves computations or function calls, what must be done with that projected result within the view? make sure your views follow course style standards (for example: don't include an order by clause in a view! Use the desired order by when querying the view, as you do for regular tables.) SQL rollback and commit what do rollback and commit provide basic support for? when are automatic commits done in SQL*Plus? should be able to read, write, use these; given a sequence of commands, you should be able to describe the effects of these. SQL*Plus statements supporting ASCII reports what does clear do, in SQL*Plus? What are things you might want to clear before a report? what is meant by feedback? how can you set it to a certain level, or turn it off? set pagesize, linesize, newpage - what do these mean? ttitle, btitle - what do these do? Be able to read, write them; be able to read, write, use, understand their purpose for all of the above; what should you be careful to do at the beginning of a SQL script used to create a report? what should you be careful to do at the end of a SQL script used for creating a report? what Oracle SQL function can be used to project dates in different ways? Why might this be useful/desired for reports? what are some other Oracle SQL date-related functions? what are some of the Oracle SQL string functions? How might they be useful/desired for reports? what are some conversion functions that Oracle's implementation of SQL provides? be comfortable with expectations for reports, such as (this is not a complete list!): someone can understand their meaning just by looking at them nice titles meaningful, pretty, consistent, well-formatted, not-truncated column headings well-formatted column contents specific row ordering as befits the purpose of the report using concatenation and computations to make more readable avoiding ugly row-wrapping COLUMN command (col) what can this SQL*Plus command be used for? What is its effect? Why/When might you use it?

CS 325 - Final Exam Review Suggestions p. 6 be comfortable reading this command; be able to write column commands to achieve specific effects; be able to use it with both numeric and alphameric columns; BREAK command what can this SQL*Plus command be used for? What is its effect? Why/When might you use it? be comfortable reading this command, be able to write column commands to achieve specific effects; be careful that you do not confuse this with the effects of the SELECT statement group by clause -- be aware of the differences between these! what SELECT statement clause NEEDS to be used with break to achieve reasonable results? COMPUTE command what can this SQL*Plus command be used for? What is its effect? Why/When might you use it? compute NEEDS to be used with what other SQL*Plus command? be comfortable reading this command, be able to write column commands to achieve specific effects; Intro to PL/SQL and to PL/SQL triggers what is PL/SQL? What are some of the features it adds that SQL lacks? what is a trigger? for what might it be useful? what are :new.col_name, :old.col_name, and how can they be used in a trigger? how can you use a select statement to set a variable? you will NOT be asked to write a trigger! BUT, given a trigger, you SHOULD be able to read it and answer questions about it, including: when it would be executed (note that there are four aspects of this you must be able to indicate: before or after, what action, on what table, and is this trigger executed for each row affected?) what are the trigger's effects? Outer joins what is an outer join? what is the ANSI SQL syntax for an outer join? how does an outer join differ from natural join and equi-join? when might you want to use an outer join? you should be able to read an outer join