CMPT 354 Database Systems I

Size: px
Start display at page:

Download "CMPT 354 Database Systems I"

Transcription

1 CMPT 354 Database Systems I Chapter 8 Database Application Programming

2 Introduction Executing SQL queries: Interactive SQL interface uncommon. Application written in a host language with SQL abstraction layer typical use of databases. SQL does not provide power to write arbitrary applications, even with vendor specific extensions (e.g. TransactSQL) which are Turing complete. But can t write a full DBMS in host language for each application. Application needs to execute SQL queries to access data. Client-Server model, the DBMS is server, app. is client.

3 Client-Server Handshaking Connection Request Client Program Connection Granted Insert command (SQL) Retrieve command (SQL) Result returned Disconnect DBMS

4 Impedance Mismatch Relational model is very different from a programming language model. What are the differences? The problem of integrating computer languages from different models is called an impedance mismatch. Two solutions: Embedded SQL Call level API The call level API can be vendor specific host language API, but normally a DBMS independent API is used. The call level API used depends on the application requirements for compatibility and easy programming.

5 Embedded SQL SQL statements are inserted directly in host language code, with preprocessor directives. Preprocessor converts SQL to SQL API calls. Converted code is compiled as a regular program in the host language. Uses SQL standard so DMBS independent. But bad coding style. Host Language + Embedded SQL Host Language + SQL API Calls Preprocessor Compiler Object Code SQL API Library

6 Embedded SQL Syntax All commands are embedded with EXEC SQL. To connect to a database: EXEC SQL CONNECT To declare shared variables: EXEC SQL BEGIN DECLARE SECTION int sid; char * student_name; EXEC SQL BEGIN DECLARE SECTION Statements without a return table: EXEC SQL INSERT INTO Students VALUES (:sid, :student_name); Queries returning tables need to be executed with cursors: EXEC SQL DECLARE <name> CURSOR FOR <query>;

7 Call level API Function calls passing SQL queries to database, may or may not quote SQL syntax. Different levels of API abstraction. Why? Embedded SQL typically produces code linked to a single DBMS. SQL API typically independent of DBMS (ODBC, JDBC). Accomplished through Middleware. A library that translates SQL calls appropriately to the desired DBMS. Some API is host language independent as well, but platform specific (OLEDB, ADO.NET).

8 Database Architecture A database application usually comprises of three layers: Presentation Application (business) logic Database Database architecture is the arrangement of these layers in terms of hardware and network. Database Middleware shields the details of database architecture from the database developer.

9 Architecture Example Presentation Layer Login Choose service Display class roster Input attendance Display grading scheme Input grade Deliver grade Application Logic Layer Authenticate Create grading scheme Get class roster Analyze grades Database Layer Record attendance Store grading scheme Store grade Database

10 2-tiered Architectures Network separation is possible, not required.

11 2-tiered Architecture Benefits Benefits: works well in departmental-scale applications (< 100 users) Straight forward design and implementation. most tools automatically generate 2-tiered applications (4 th Generation Languages 4GL). Disadvantages: Database connection for each active client. Security does not extend well outside the trusted LAN network protocol could be insecure. Reuse of application logic is difficult as it is tightly bound to specific DB systems and table formats.

12 2.5-tiered Architecture Client Presentation Presentation Network Stored procedures Application Logic Data and Resources Application Logic Data Database

13 Stored Procedures Stored procedures are predefined routines stored within the DBMS itself. Can be executed inside SQL queries as well as by direct procedure calls. Can pass parameters in to, and retrieve results out of the procedures. Written in a specialized database language extending SQL syntax. Can be vendor specific language or SQL/PSM (Persistent, Stored Modules PSM-96) standard. Are precompiled by the DBMS and optimized for execution.

14 Pros and Cons Benefits: Can compute results that SQL queries cannot. Faster execution. Reuse of application logic. Improved security. Reduced network traffic. Disadvantages: Must connect to the database with a specific interface. Limited security and transaction properties. Languages specific to the DBMS. One active client per database connection.

15 Stored Procedure Example To create a stored procedure that will return the names of all students from some input city CREATE PROCEDURE VARCHAR(50) = % Vancouver% AS SELECT Name FROM Students WHERE Address ORDER BY Name The procedure can be called from a program, SQL statement or interactively: EXEC sp_getstudentnames % Burnaby% or EXECUTE % Burnaby%

16 3-tiered Architecture Network separations are possible, not required.

17 Benefits of 3-Tiered Abstract interface Application data access component connects to any database. Defined protocol for running application logic from clients. Reuse of application logic Different presentation layer clients can execute the same application logic. Scalability A multiplexing solution to clients-servers mapping. Manageability Rich clients are harder to manage than thin clients. Security Both DBMS and application server security contexts apply.

18 Multiplexing Client Client Client Client Client Middle Tier DBMS DBMS DBMS

19 Application Server Different clients can connect to the same application instance, reusing database connections. Client applications have user interface and send data to the application server. Application server defines interface and can be part of a web-server. Client DBMS Application Server Client DBMS

20 Downsides of 3-tiered Upfront costs in software, hardware, technical expertise in order to achieve the scalability and flexibility of 3-tiered architecture. Infrastructure development cost is higher. Additional development costs: Building different client components. Designing interface protocol. Interface and application logic potentially on different platforms. Network traffic cost: More separation between client and DBMS.

21 Database Middleware Database connection Data sources are abstracted various data sources can be accessed in a common way. Data conversion Data sent from client to server converted into SQL. Data returned from server to client through variables. Process exceptions from server Process result set in client Cursors allow processing result tables as if they reside in the client. Handles client data modification

22 Database Middleware Example Call Level Interface is SQL Working Group effort for a standard API for each programming language (but mostly defined for C). ODBC (Open DataBase Connectivity) Call Level Interface implementation (initially Microsoft 92) supporting any database through a driver. JDBC (Java DataBase Connectivity) A Java language API for accessing any databases. OLEDB Microsoft COM based data access API, extending data connection to any data source (not necessarily a DBMS). ADO.NET (ActiveX Data Objects) Further COM abstraction of database access commands.

23 Cursors Retrieving table data from a DBMS is traditionally done using cursors. A cursor may be defined on any query result set. A cursor points to the current tuple of the result set. Need to open a cursor, continuously fetch data, and close the cursor. Can modify or delete the current tuple. Two different types of cursors: Server-side : the query result set is stored on the server and fetched by the client one record at a time. Client-side : the query results are copied to the client.

24 Cursor Types Cursors can have many types of access: Dynamic cursor: can move to any tuple location, and modify data, as well as see modified data. Static cursor: a static copy of the data. Can move to any tuple location, cannot see modifications by other users. Keyset cursor: can move to any tuple location, and modify data and see modified data, however cannot see new tuples inserted by other users or deleted. Forward only: can move forward through a table only, has improved efficiency. Can also request a locking level: Read only: the cursor data can only be read. Record Update: update each record. Can have every record locked immediately upon record modification, or can be optimistic and lock only at an update command. Why is it optimistic?

25 ADO.NET Architecture Server Client

26 ADO.NET Objects Component objects: Connection: connects to the database. Command: process SQL commands. DataReader: Provides a high-performance stream of data from the Database. DataAdapter: Data access between a the Database source and the DataSet. Loading the DataSet is executed using SQL commands in the Command object. DataSet: A data object that runs in the client machine, provides a local cache of the database. Why is it necessary? ADO.NET connection could be established through other middleware, normally OLEDB, but also ODBC, or simply dedicated API for SQL Server or Oracle database.

27 DataSet DataSet is an object that caches the result of an SQL query for processing on the client side. A DataSet is a client-side, memory-resident database within the.net framework It can be disconnected from the database in the server, freeing up database connections. The data set can be manipulated by the client. Data in XML format under the.net framework may be read into a DataSet or written. XML data can be returned by an application/web server.

28 DataReader DataSet in the.net framework does not have to originate from a DBMS. ADO.NET provides DBMS operations on DataSet object on the local machine Integrity constraints on tables. Cursors, sort, filter and search. Create, update and delete. DataReader reads data from the database in forward-only, read-only fashion. DB connection must be kept alive for DataReader. Not established merely to fill DataSet object. DataSet is less efficient than DataReader. Why?

29 ADO.NET example #using <system.data.dll> using namespace System::Data; using namespace System::Data::SqlClient; SqlConnection * SQLCon = new SqlConnection("Server=\\cypress; Database= zinovi ; Integrated Security=true"); SQLCon->Open(); SqlCommand * SQLCmd = new SqlCommand( "SELECT * FROM Students",SQLCon); SqlDataReader * SQLReader = SQLCmd->ExecuteReader(); while (SQLReader->Read()) { SqlInt32 SIN = SQLReader->GetSQLint(0); Sqlstring name = SQLReader->GetSQLstring(1); } SQLCon->Close();

30 SqlClient Data Types Structure SqlBinary SqlBoolean SqlByte SqlDateTime SqlDecimal SqlDouble SqlGuid SqlInt16 SqlInt32 SqlInt64 SqlMoney SqlFloat SqlString Description Represents a variable-length stream of binary data to be stored in or retrieved from a database. Represents an integer value that is either 1 or 0 to be stored in or retrieved from a database. Represents an 8-bit unsigned integer, in the range of 0 through 255, to be stored in or retrieved from a database. Represents the date and time data ranging in value from January 1, 1753 to December 31, 9999 to an accuracy of 3.33 milliseconds to be stored in or retrieved from a database. Represents a fixed precision and scale numeric value between and to be stored in or retrieved from a database. Represents a floating-point number within the range of -1.79E +308 through 1.79E +308 to be stored in or retrieved from a database. Represents a globally unique identifier to be stored in or retrieved from a database. Represents a 16-bit signed integer to be stored in or retrieved from a database. Represents a 32-bit signed integer to be stored in or retrieved from a database. Represents a 64-bit signed integer to be stored in or retrieved from a database. Represents a currency value ranging from (or -922,337,203,685, ) to (or +922,337,203,685, ) with an accuracy to a ten-thousandth of currency unit to be stored in or retrieved from a database. Represents a floating point number within the range of -3.40E +38 through 3.40E +38 to be stored in or retrieved from a database. Represents a variable-length stream of characters to be stored in or retrieved from the database.

31 Transactions A database transaction groups specified database operations into one logical unit. Transactions maintain the following properties: Atomicity: Either all transaction operations executed completely or none. Consistency: The transaction operations must result in a consistent database state. Independence: Transaction results must seem to be independent from other concurrent transactions. Durability: Recovering from system crashes must keep the database in a consistent state.

32 A DBMS supports concurrent transactions. Why? Efficient use of computer resources. User wants interactive system. Time critical applications. The DBMS interleaves actions of various transactions in order to achieve concurrency. Consider the two transactions T1 and T2 T1: Acct1 = Acct1-$1000, Acct2 = Acct+$1000 T2: Acct1 = Acct1*1.04, Acct2 = Acct2*1.04 T1 transfers $1000 from Acc1 to Acc2, while T2 credits interest on daily closing balance to both accounts. When T1 and T2 are submitted together, can t guarantee which transaction executes first. However, must appear that these two transactions run serially in some order. Concurrent Transactions

33 Transaction Schedule Examples What if T1 and T2 are scheduled as follows: T1: 1.Acct1=Acct1-$1000, 3.Acct2=Acct+$1000 T2: 2.Acct1=Acct1*1.04, 4.Acct2=Acct2*1.04 Database is consistent! What if T1 and T2 are scheduled as follows: T1: 1.Acct1=Acct1-$1000, 4.Acct2=Acct+$1000 T2: 2.Acct1=Acct1*1.04,3.Acct2=Acct2*1.04 Bank kept some of our interest! What if the database crushed after operation 1 in T1?

34 Transaction Schedule Serial schedule is a schedule that does not interleave different transactions. Equivalent schedules are schedules which execution of result in the database objects states affected in an identical way. Serializable schedule is a a schedule equivalent to some serial execution of transactions. DBMS must find a serializable schedule. This avoids concurrency problems. DBMS must also ensure durability of Transactions.

35 Transactions in SQL In SQL by default every statement is a separate transaction. Includes all constraints and triggers. Can define as set of database operations that must be serialized as a transaction explicitly by declaring a SQL transaction. Start a transaction using the keywords START TRANSACTION (or BEGIN TRANSACTION in MS- SQL Server). After defining some operations to perform in the transaction, the changes of the operations can be stored in the database or erased all together using either COMMIT or ROLLBACK. An operation failing integrity rules makes the transaction rollback.

36 Isolation Levels Concurrency in transactions is handled using Locks and schedules. An isolation level is the set of rules for determining when access to data is allowed. Serializable isolation level assures transaction correctness in all cases, but has to delay other dependent transactions. Read only transactions cannot create an inconsistent database and could be allowed, and are faster. Read Uncommitted Isolation level allows reading of uncommitted data (dirty reads). Should it be allowed? Other isolation levels are Read Committed and Repeatable Reads. Default level is serializable.

37 Database Security Data access must be secured, with different privileges given depending on need and trust. The DBMS has an Access Control component which is responsible for security. Users can be associated with groups and assume the group security and access level. Users and groups have authorization IDs, and associated authentication codes (i.e. password): SQL Server built-in security information. Host system security information of the database operator. A user or group are can be granted privileges for any particular task: Select, Insert, Update, Delete, References, Trigger, Grant, Revoke, and so on.

38 Database Privileges Database/Schema owner automatically gains all access privileges to the database. Database/Schema owner only allowed to modify schema. Privileges can be granted by a user with Grant privilege permissions, as well as revoked. Different groups typically have different permissions, user assumes permissions of associated group. Each database operation must be executed within some security context - user id, application id, etc.

39 Granting Privileges In order to grant privileges to users/groups GRANT <privilege list> ON <database object> TO <user list> [WITH GRANT OPTION] Privilege list is a set of operations allowed, or could be ALL PRIVILAGES. DB object is normally a table, but can be domain or any other object. User list can be either set of users or group authorization IDs. Grant options allows the users to grant privileges.

40 Revoking Privileges Privileges can also be revoked from users/groups REVOKE <privilege list> ON <database object> FROM <user list> (CASCADE RESTRICT) Only revokes specified privileges. Cascade specifies that privileges inherited from only the revoked privilege are to be revoked as well Cascading revoke. Restrict specifies that revoking a privilege is allowed only if the privilege was not given to another user (avoiding cascading revoke).

41 Privileges for groups on views is very useful for security. To create a view for CMPT-354 students to see their grades: CREATE VIEW Cmpt354Students(SID, Grade) AS SELECT S.SID, CourseID, Grade FROM Student S NATURAL JOIN Registered R WHERE CourseID = CMPT-354 Now can grant just Select privilege to CMPT-354 students, or all privileges. GRANT SELECT ON Cmpt354Students TO Cmpt354 or View Privileges

42 Suppose a student created the table: CREATE TABLE FindNames (SID INT CHECK (SID IS IN (SELECT SID FROM Students WHERE Name LIKE Mike% ))); Can a student find the grade of another student? Given a name for another student, we can check all the SIDs for the course and associated grades, and attempt to insert them one by one. Hence, SQL requires that a CHECK constraint reference only tables on which the user has a SELECT privilege. Constraints Privileges

ADO.NET.NET Data Access and Manipulation Mechanism. Nikita Gandotra Assistant Professor, Department of Computer Science & IT

ADO.NET.NET Data Access and Manipulation Mechanism. Nikita Gandotra Assistant Professor, Department of Computer Science & IT ADO.NET.NET Data Access and Manipulation Mechanism Nikita Gandotra Assistant Professor, Department of Computer Science & IT Overview What is ADO.NET? ADO VS ADO.NET ADO.NET Architecture ADO.NET Core Objects

More information

Announcements. SQL: Part IV. Transactions. Summary of SQL features covered so far. Fine prints. SQL transactions. Reading assignments for this week

Announcements. SQL: Part IV. Transactions. Summary of SQL features covered so far. Fine prints. SQL transactions. Reading assignments for this week Announcements 2 SQL: Part IV CPS 216 Advanced Database Systems Reading assignments for this week A Critique of ANSI SQL Isolation Levels, by Berenson et al. in SIGMOD 1995 Weaving Relations for Cache Performance,

More information

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6)

BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED PROGRAMMING, X428.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Class 7 Professional Program: Data Administration and Management BUILDING APPLICATIONS USING C# AND.NET FRAMEWORK (OBJECT-ORIENTED

More information

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.)

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.) Overview Database Application Development Chapter 6 Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures

More information

Database Applications

Database Applications Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides

More information

ADO.NET Overview. Connected Architecture. SqlConnection, SqlCommand, DataReader class. Disconnected Architecture

ADO.NET Overview. Connected Architecture. SqlConnection, SqlCommand, DataReader class. Disconnected Architecture Topics Data is Everywhere ADO.NET Overview Connected Architecture EEE-474 DATABASE PROGRAMMİNG FOR İNTERNET INTRODUCTION TO ADO.NET Mustafa Öztoprak-2013514055 ASSOC.PROF.DR. TURGAY İBRİKÇİ ÇUKUROVA UNİVERSTY

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 10 Outline Database Programming: Techniques and Issues Embedded SQL, Dynamic SQL, and SQLJ Database Programming with Function Calls: SQL/CLI and JDBC Database Stored Procedures and SQL/PSM Comparing

More information

Chapter 13 Introduction to SQL Programming Techniques

Chapter 13 Introduction to SQL Programming Techniques Chapter 13 Introduction to SQL Programming Techniques Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 13 Outline Database Programming: Techniques and Issues Embedded

More information

Database Security: Transactions, Access Control, and SQL Injection

Database Security: Transactions, Access Control, and SQL Injection .. Cal Poly Spring 2013 CPE/CSC 365 Introduction to Database Systems Eriq Augustine.. Transactions Database Security: Transactions, Access Control, and SQL Injection A transaction is a sequence of SQL

More information

ITCS Implementation. Jing Yang 2010 Fall. Class 14: Introduction to SQL Programming Techniques (Ch13) Outline

ITCS Implementation. Jing Yang 2010 Fall. Class 14: Introduction to SQL Programming Techniques (Ch13) Outline ITCS 3160 Data Base Design and Implementation Jing Yang 2010 Fall Class 14: Introduction to SQL Programming Techniques (Ch13) Outline Database Programming: Techniques and Issues Three approaches: Embedded

More information

An Introduction to ADO.Net

An Introduction to ADO.Net An Introduction to ADO.Net Mr. Amit Patel Dept. of I.T. .NET Data Providers Client SQL.NET Data Provider OLE DB.NET Data Provider ODBC.NET Data Provider OLE DB Provider ODBC Driver SQL SERVER Other DB

More information

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 14 Database Connectivity and Web Technologies Database Systems: Design, Implementation, and Management Tenth Edition Chapter 14 Database Connectivity and Web Technologies Database Connectivity Mechanisms by which application programs connect and communicate

More information

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

Transactions. Juliana Freire. Some slides adapted from L. Delcambre, R. Ramakrishnan, G. Lindstrom, J. Ullman and Silberschatz, Korth and Sudarshan Transactions Juliana Freire Some slides adapted from L. Delcambre, R. Ramakrishnan, G. Lindstrom, J. Ullman and Silberschatz, Korth and Sudarshan Motivation Database systems are normally being accessed

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

COSC 304 Introduction to Database Systems. Advanced SQL. Dr. Ramon Lawrence University of British Columbia Okanagan

COSC 304 Introduction to Database Systems. Advanced SQL. Dr. Ramon Lawrence University of British Columbia Okanagan COSC 304 Introduction to Database Systems Advanced SQL Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca Transaction Management Overview The database system must ensure that

More information

Transactions. The Setting. Example: Bad Interaction. Serializability Isolation Levels Atomicity

Transactions. The Setting. Example: Bad Interaction. Serializability Isolation Levels Atomicity Transactions Serializability Isolation Levels Atomicity 1 The Setting Database systems are normally being accessed by many users or processes at the same time. Both queries and modifications. Unlike Operating

More information

CSCD43: Database Systems Technology. Lecture 4

CSCD43: Database Systems Technology. Lecture 4 CSCD43: Database Systems Technology Lecture 4 Wael Aboulsaadat Acknowledgment: these slides are based on Prof. Garcia-Molina & Prof. Ullman slides accompanying the course s textbook. Steps in Database

More information

Administration Naive DBMS CMPT 454 Topics. John Edgar 2

Administration Naive DBMS CMPT 454 Topics. John Edgar 2 Administration Naive DBMS CMPT 454 Topics John Edgar 2 http://www.cs.sfu.ca/coursecentral/454/johnwill/ John Edgar 4 Assignments 25% Midterm exam in class 20% Final exam 55% John Edgar 5 A database stores

More information

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

Introduction to Databases, Fall 2005 IT University of Copenhagen. Lecture 10: Transaction processing. November 14, Lecturer: Rasmus Pagh Introduction to Databases, Fall 2005 IT University of Copenhagen Lecture 10: Transaction processing November 14, 2005 Lecturer: Rasmus Pagh Today s lecture Part I: Transaction processing Serializability

More information

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

SQL: Transactions. Announcements (October 2) Transactions. CPS 116 Introduction to Database Systems. Project milestone #1 due in 1½ weeks SQL: Transactions CPS 116 Introduction to Database Systems Announcements (October 2) 2 Project milestone #1 due in 1½ weeks Come to my office hours if you want to chat about project ideas Midterm in class

More information

COURSE 1. Database Management Systems

COURSE 1. Database Management Systems COURSE 1 Database Management Systems Assessment / Other Details Final grade 50% - laboratory activity / practical test 50% - written exam Course details (bibliography, course slides, seminars, lab descriptions

More information

B Nagaraju

B Nagaraju Agenda What to expect in this session Complete ADO.NET Support available in.net Clear Conceptual View Supported by Demos Understand 3 generations of DataAccess.NET Around 9 minutes of videos Free Stuff

More information

Active Server Pages Architecture

Active Server Pages Architecture Active Server Pages Architecture Li Yi South Bank University Contents 1. Introduction... 2 1.1 Host-based databases... 2 1.2 Client/server databases... 2 1.3 Web databases... 3 2. Active Server Pages...

More information

Transactions Processing (i)

Transactions Processing (i) ICS 321 Spring 2012 Transactions Processing (i) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 03/07/2012 Lipyeow Lim -- University of Hawaii at Manoa 1

More information

1.264 Lecture 8. SQL continued Connecting to database servers

1.264 Lecture 8. SQL continued Connecting to database servers 1.264 Lecture 8 SQL continued Connecting to database servers Subqueries SQL subqueries let you use the results of one query as part of another query. Subqueries Are often natural ways of writing a statement

More information

1/9/13. + The Transaction Concept. Transaction Processing. Multiple online users: Gives rise to the concurrency problem.

1/9/13. + The Transaction Concept. Transaction Processing. Multiple online users: Gives rise to the concurrency problem. + Transaction Processing Enterprise Scale Data Management Divy Agrawal Department of Computer Science University of California at Santa Barbara + The Transaction Concept Multiple online users: Gives rise

More information

Setting up a database for multi-user access

Setting up a database for multi-user access BioNumerics Tutorial: Setting up a database for multi-user access 1 Aims There are several situations in which multiple users in the same local area network (LAN) may wish to work with a shared BioNumerics

More information

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd.

Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB. Marc Stampfli Oracle Software (Switzerland) Ltd. Efficient Object-Relational Mapping for JAVA and J2EE Applications or the impact of J2EE on RDB Marc Stampfli Oracle Software (Switzerland) Ltd. Underestimation According to customers about 20-50% percent

More information

.NET and DB2 united with IBM DB2.NET Data Provider Objectives :.NET ADO.NET DB2 and ADO.NET DB2 - ADO.NET applications

.NET and DB2 united with IBM DB2.NET Data Provider Objectives :.NET ADO.NET DB2 and ADO.NET DB2 - ADO.NET applications .NET and DB2 united with IBM DB2.NET Data Provider Objectives :.NET ADO.NET DB2 and ADO.NET DB2 - ADO.NET applications ABIS Training & Consulting 1 DEMO Win Forms client application queries DB2 according

More information

II B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions.

II B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions. Dr.G.R.Damodaran College of Science (Autonomous, affiliated to the Bharathiar University, recognized by the UGC)Re-accredited at the 'A' Grade Level by the NAAC and ISO 9001:2008 Certified CRISL rated

More information

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation

Understanding Impact of J2EE Applications On Relational Databases. Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation Understanding Impact of J2EE Applications On Relational Databases Dennis Leung, VP Development Oracle9iAS TopLink Oracle Corporation J2EE Apps and Relational Data J2EE is one of leading technologies used

More information

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

Security Mechanisms I. Key Slide. Key Slide. Security Mechanisms III. Security Mechanisms II Database Facilities One of the main benefits from centralising the implementation data model of a DBMS is that a number of critical facilities can be programmed once against this model and thus be available

More information

AUTHENTICATED WEB MANAGEMENT SYSTEM

AUTHENTICATED WEB MANAGEMENT SYSTEM AUTHENTICATED WEB MANAGEMENT SYSTEM Masters Project Report (CPEG 597) December 2005 Submitted to Prof. Ausif Mahmood ID. 655795 By Kavya P Basa 1 Abstract In an era where web development is taking priority

More information

Scott Meder Senior Regional Sales Manager

Scott Meder Senior Regional Sales Manager www.raima.com Scott Meder Senior Regional Sales Manager scott.meder@raima.com Short Introduction to Raima What is Data Management What are your requirements? How do I make the right decision? - Architecture

More information

SQL: Programming Midterm in class next Thursday (October 5)

SQL: Programming Midterm in class next Thursday (October 5) Announcements (September 28) 2 Homework #1 graded Homework #2 due today Solution available this weekend SQL: Programming Midterm in class next Thursday (October 5) Open book, open notes Format similar

More information

Introduction to Databases

Introduction to Databases Introduction to Databases Matthew J. Graham CACR Methods of Computational Science Caltech, 2009 January 27 - Acknowledgements to Julian Bunn and Ed Upchurch what is a database? A structured collection

More information

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information.

DBMS (FYCS) Unit - 1. A database management system stores data in such a way that it becomes easier to retrieve, manipulate, and produce information. Prof- Neeta Bonde DBMS (FYCS) Unit - 1 DBMS: - Database is a collection of related data and data is a collection of facts and figures that can be processed to produce information. Mostly data represents

More information

Mobile MOUSe ADO.NET FOR DEVELOPERS PART 1 ONLINE COURSE OUTLINE

Mobile MOUSe ADO.NET FOR DEVELOPERS PART 1 ONLINE COURSE OUTLINE Mobile MOUSe ADO.NET FOR DEVELOPERS PART 1 ONLINE COURSE OUTLINE COURSE TITLE ADO.NET FOR DEVELOPERS PART 1 COURSE DURATION 14 Hour(s) of Interactive Training COURSE OVERVIEW ADO.NET is Microsoft's latest

More information

Database Applications. SQL/PSM Embedded SQL JDBC

Database Applications. SQL/PSM Embedded SQL JDBC Database Applications SQL/PSM Embedded SQL JDBC 1 Course Objectives Design Construction Applications Usage 2 Course Objectives Interfacing When the course is through, you should Know how to connect to

More information

CSE 344 MARCH 21 ST TRANSACTIONS

CSE 344 MARCH 21 ST TRANSACTIONS CSE 344 MARCH 21 ST TRANSACTIONS ADMINISTRIVIA HW7 Due Wednesday OQ6 Due Wednesday, May 23 rd 11:00 HW8 Out Wednesday Will be up today or tomorrow Transactions Due next Friday CLASS OVERVIEW Unit 1: Intro

More information

Databases - Transactions

Databases - Transactions Databases - Transactions Gordon Royle School of Mathematics & Statistics University of Western Australia Gordon Royle (UWA) Transactions 1 / 34 ACID ACID is the one acronym universally associated with

More information

DATABASE DESIGN - 1DL400

DATABASE DESIGN - 1DL400 DATABASE DESIGN - 1DL400 Fall 2015 A course on modern database systems http://www.it.uu.se/research/group/udbl/kurser/dbii_ht15 Kjell Orsborn Uppsala Database Laboratory Department of Information Technology,

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Unit 7: Transactions Schedules Implementation Two-phase Locking (3 lectures) 1 Class Overview Unit 1: Intro Unit 2: Relational Data Models and Query Languages Unit

More information

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

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10 RAJIV GANDHI COLLEGE OF ENGINEERING & TECHNOLOGY, KIRUMAMPAKKAM-607 402 DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

More information

Database Application Development

Database Application Development CS 461: Database Systems Database Application Development supplementary material: Database Management Systems Sec. 6.2, 6.3 DBUtils.java, Student.java, Registrar.java, RegistrarServlet.java, PgRegistrar.sql

More information

Transaction Management

Transaction Management Transaction Management Imran Khan FCS, IBA In this chapter, you will learn: What a database transaction is and what its properties are How database transactions are managed What concurrency control is

More information

Saikat Banerjee Page 1

Saikat Banerjee Page 1 1. What s the advantage of using System.Text.StringBuilder over System.String? StringBuilder is more efficient in the cases, where a lot of manipulation is done to the text. Strings are immutable, so each

More information

About the Authors Introduction p. 1 Exploring Application Architectures p. 9 Introduction p. 9 Choosing the "Right" Architecture p.

About the Authors Introduction p. 1 Exploring Application Architectures p. 9 Introduction p. 9 Choosing the Right Architecture p. Foreword p. xxi Acknowledgments p. xxiii About the Authors p. xxv Introduction p. 1 Exploring Application Architectures p. 9 Introduction p. 9 Choosing the "Right" Architecture p. 10 Understanding Your

More information

CSE 530A ACID. Washington University Fall 2013

CSE 530A ACID. Washington University Fall 2013 CSE 530A ACID Washington University Fall 2013 Concurrency Enterprise-scale DBMSs are designed to host multiple databases and handle multiple concurrent connections Transactions are designed to enable Data

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 22: Transaction Implementations CSE 414 - Spring 2017 1 Announcements WQ7 (last!) due on Sunday HW7: due on Wed, May 24 using JDBC to execute SQL from Java using SQL Server

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 PSM (Stored Procedures) 1 Stored Procedures What is a stored procedure: SQL allows you to define procedures and functions and store in the DB server Program executed

More information

Database Application Development

Database Application Development Database Application Development Linda Wu (CMPT 354 2004-2) Topics SQL in application code Embedded SQL JDBC SQLJ Stored procedures Chapter 6 CMPT 354 2004-2 2 SQL in Application Code SQL commands can

More information

BIS Database Management Systems.

BIS Database Management Systems. BIS 512 - Database Management Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query

More information

MIS Database Systems.

MIS Database Systems. MIS 335 - Database Systems http://www.mis.boun.edu.tr/durahim/ Ahmet Onur Durahim Learning Objectives Database systems concepts Designing and implementing a database application Life of a Query in a Database

More information

Database Application Development

Database Application Development Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic

More information

Chapter 2. DB2 concepts

Chapter 2. DB2 concepts 4960ch02qxd 10/6/2000 7:20 AM Page 37 DB2 concepts Chapter 2 Structured query language 38 DB2 data structures 40 Enforcing business rules 49 DB2 system structures 52 Application processes and transactions

More information

INTRODUCTION TO DATABASE

INTRODUCTION TO DATABASE 1 INTRODUCTION TO DATABASE DATA: Data is a collection of raw facts and figures and is represented in alphabets, digits and special characters format. It is not significant to a business. Data are atomic

More information

TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION 4/3/2014

TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION 4/3/2014 TRANSACTION PROCESSING SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL Def: A Transaction is a program unit ( deletion, creation, updating

More information

Enea Polyhedra Polyhedra Database Management Systems (DBMS)

Enea Polyhedra Polyhedra Database Management Systems (DBMS) Polyhedra Database Management Systems (DBMS) 1 Polyhedra is a family of compact, lightweight, SQL relational database management systems (RDBMS) optimized for embedded systems applications. Built on an

More information

SQL: Programming. Announcements (September 25) Motivation. CPS 116 Introduction to Database Systems. Pros and cons of SQL.

SQL: Programming. Announcements (September 25) Motivation. CPS 116 Introduction to Database Systems. Pros and cons of SQL. SQL: Programming CPS 116 Introduction to Database Systems Announcements (September 25) 2 Homework #2 due this Thursday Submit to Yi not through Jun s office door Solution available this weekend No class

More information

2609 : Introduction to C# Programming with Microsoft.NET

2609 : Introduction to C# Programming with Microsoft.NET 2609 : Introduction to C# Programming with Microsoft.NET Introduction In this five-day instructor-led course, developers learn the fundamental skills that are required to design and develop object-oriented

More information

Index. NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 341

Index. NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 341 A access paths, 31 optimizing SQL and, 135, 135 access types, restricting SQL statements, JDBC setup and, 36-37, 37 accessing iseries data from a PC, 280-287, 280 accumulate running totals, 192-197, 193,

More information

SQL Interview Questions

SQL Interview Questions SQL Interview Questions SQL stands for Structured Query Language. It is used as a programming language for querying Relational Database Management Systems. In this tutorial, we shall go through the basic

More information

CPS352 Lecture - The Transaction Concept

CPS352 Lecture - The Transaction Concept Objectives: CPS352 Lecture - The Transaction Concept Last Revised March 3, 2017 1. To introduce the notion of a transaction and the ACID properties of a transaction 2. To introduce the notion of the state

More information

SQL: Transactions. Introduction to Databases CompSci 316 Fall 2017

SQL: Transactions. Introduction to Databases CompSci 316 Fall 2017 SQL: Transactions Introduction to Databases CompSci 316 Fall 2017 2 Announcements (Tue., Oct. 17) Midterm graded Sample solution already posted on Sakai Project Milestone #1 feedback by email this weekend

More information

TRANSACTION PROPERTIES

TRANSACTION PROPERTIES Transaction Is any action that reads from and/or writes to a database. A transaction may consist of a simple SELECT statement to generate a list of table contents; it may consist of series of INSERT statements

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6302- DATABASE MANAGEMENT SYSTEMS Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

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

Advanced Databases. Transactions. Nikolaus Augsten. FB Computerwissenschaften Universität Salzburg Advanced Databases Transactions Nikolaus Augsten nikolaus.augsten@sbg.ac.at FB Computerwissenschaften Universität Salzburg Version October 18, 2017 Wintersemester 2017/18 Adapted from slides for textbook

More information

Lecture 2. Introduction to JDBC

Lecture 2. Introduction to JDBC Lecture 2 Introduction to JDBC Introducing JDBC According to Sun, JDBC is not an acronym, but is commonly misinterpreted to mean Java DataBase Connectivity JDBC: is an API that provides universal data

More information

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution: Whitepaper The Challenge: Enterprise JavaBeans (EJB) represents a new standard in enterprise computing: a component-based architecture for developing and deploying distributed object-oriented applications

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 20: Introduction to Transactions CSE 414 - Spring 2017 1 Announcements HW6 due on Wednesday WQ6 available for one more day WQ7 (last one!) due on Sunday CSE 414 - Spring

More information

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

Database Processing. Fundamentals, Design, and Implementation. Global Edition Database Processing Fundamentals, Design, and Implementation 14th Edition Global Edition Database Processing: Fundamentals, Design, and Implementation, Global Edition Table of Contents Cover Title Page

More information

JDBC, Transactions. Niklas Fors JDBC 1 / 38

JDBC, Transactions. Niklas Fors JDBC 1 / 38 JDBC, Transactions SQL in Programs Embedded SQL and Dynamic SQL JDBC Drivers, Connections, Statements, Prepared Statements Updates, Queries, Result Sets Transactions Niklas Fors (niklas.fors@cs.lth.se)

More information

JDBC SHORT NOTES. Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [ address]

JDBC SHORT NOTES. Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [ address] JDBC SHORT NOTES Abstract This document contains short notes on JDBC, their types with diagrams. Rohit Deshbhratar [Email address] JDBC Introduction: Java DataBase Connectivity, commonly known as JDBC,

More information

Sub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design

Sub Phase: High-Level Design. From Requirements Analysis to User Manual. System Design Sub Phase: High-Level Design 1 From Requirements Analysis to User Manual System Design 2 1 Map of design phase HIGH LEVEL DESIGN Module Interfaces Modularization architecture DESIGN Data Persistance Subsystem

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 27: Transaction Implementations 1 Announcements Final exam will be on Dec. 14 (next Thursday) 14:30-16:20 in class Note the time difference, the exam will last ~2 hours

More information

Database Management Systems CSEP 544. Lecture 9: Transactions and Recovery

Database Management Systems CSEP 544. Lecture 9: Transactions and Recovery Database Management Systems CSEP 544 Lecture 9: Transactions and Recovery CSEP 544 - Fall 2017 1 HW8 released Announcements OH tomorrow Always check the class schedule page for up to date info Last lecture

More information

ITP 140 Mobile Technologies. Databases Client/Server

ITP 140 Mobile Technologies. Databases Client/Server ITP 140 Mobile Technologies Databases Client/Server Databases Data: recorded facts and figures Information: knowledge derived from data Databases record data, but they do so in such a way that we can produce

More information

CSE 344 MARCH 5 TH TRANSACTIONS

CSE 344 MARCH 5 TH TRANSACTIONS CSE 344 MARCH 5 TH TRANSACTIONS ADMINISTRIVIA OQ6 Out 6 questions Due next Wednesday, 11:00pm HW7 Shortened Parts 1 and 2 -- other material candidates for short answer, go over in section Course evaluations

More information

Real Application Security Administration

Real Application Security Administration Oracle Database Real Application Security Administration Console (RASADM) User s Guide 12c Release 2 (12.2) E85615-01 June 2017 Real Application Security Administration Oracle Database Real Application

More information

Transaction Processing: Concurrency Control ACID. Transaction in SQL. CPS 216 Advanced Database Systems. (Implicit beginning of transaction)

Transaction Processing: Concurrency Control ACID. Transaction in SQL. CPS 216 Advanced Database Systems. (Implicit beginning of transaction) Transaction Processing: Concurrency Control CPS 216 Advanced Database Systems ACID Atomicity Transactions are either done or not done They are never left partially executed Consistency Transactions should

More information

SQL: Programming. Introduction to Databases CompSci 316 Fall 2017

SQL: Programming. Introduction to Databases CompSci 316 Fall 2017 SQL: Programming Introduction to Databases CompSci 316 Fall 2017 2 Announcements (Thu., Oct. 12) Project milestone #1 due tonight Only one member per team needs to submit Remember members.txt Midterm is

More information

Non-interactive SQL. EECS Introduction to Database Management Systems

Non-interactive SQL. EECS Introduction to Database Management Systems Non-interactive SQL EECS3421 - Introduction to Database Management Systems Using a Database Interactive SQL: Statements typed in from terminal; DBMS outputs to screen. Interactive SQL is inadequate in

More information

Introduction to Transactions: Controlling Concurrent "Behavior" Virtual and Materialized Views" Indexes: Speeding Accesses to Data"

Introduction to Transactions: Controlling Concurrent Behavior Virtual and Materialized Views Indexes: Speeding Accesses to Data Introduction to Transactions: Controlling Concurrent "Behavior" Virtual and Materialized Views" Indexes: Speeding Accesses to Data" Transaction = process involving database queries and/or modification."

More information

SQL STORED ROUTINES. CS121: Relational Databases Fall 2017 Lecture 9

SQL STORED ROUTINES. CS121: Relational Databases Fall 2017 Lecture 9 SQL STORED ROUTINES CS121: Relational Databases Fall 2017 Lecture 9 SQL Functions 2 SQL queries can use sophisticated math operations and functions Can compute simple functions, aggregates Can compute

More information

Weak Levels of Consistency

Weak Levels of Consistency Weak Levels of Consistency - Some applications are willing to live with weak levels of consistency, allowing schedules that are not serialisable E.g. a read-only transaction that wants to get an approximate

More information

Database Systems. Announcement

Database Systems. Announcement Database Systems ( 料 ) December 27/28, 2006 Lecture 13 Merry Christmas & New Year 1 Announcement Assignment #5 is finally out on the course homepage. It is due next Thur. 2 1 Overview of Transaction Management

More information

CS5412: TRANSACTIONS (I)

CS5412: TRANSACTIONS (I) 1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of

More information

Big Data Processing Technologies. Chentao Wu Associate Professor Dept. of Computer Science and Engineering

Big Data Processing Technologies. Chentao Wu Associate Professor Dept. of Computer Science and Engineering Big Data Processing Technologies Chentao Wu Associate Professor Dept. of Computer Science and Engineering wuct@cs.sjtu.edu.cn Schedule (1) Storage system part (first eight weeks) lec1: Introduction on

More information

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

CSCE 4523 Introduction to Database Management Systems Final Exam Spring I have neither given, nor received,unauthorized assistance on this exam. CSCE 4523 Introduction to Database Management Systems Final Exam Spring 2017 I have neither given, nor received,unauthorized assistance on this exam. Signature Printed Name: Attempt all of the following

More information

Transactions, Views, Indexes. Controlling Concurrent Behavior Virtual and Materialized Views Speeding Accesses to Data

Transactions, Views, Indexes. Controlling Concurrent Behavior Virtual and Materialized Views Speeding Accesses to Data Transactions, Views, Indexes Controlling Concurrent Behavior Virtual and Materialized Views Speeding Accesses to Data 1 Why Transactions? Database systems are normally being accessed by many users or processes

More information

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev

Transactum Business Process Manager with High-Performance Elastic Scaling. November 2011 Ivan Klianev Transactum Business Process Manager with High-Performance Elastic Scaling November 2011 Ivan Klianev Transactum BPM serves three primary objectives: To make it possible for developers unfamiliar with distributed

More information

Lecture 10: Database. Lisa (Ling) Liu

Lecture 10: Database. Lisa (Ling) Liu Chair of Software Engineering C# Programming in Depth Prof. Dr. Bertrand Meyer March 2007 May 2007 Lecture 10: Database Lisa (Ling) Liu Database and Data Representation Database Management System (DBMS):

More information

Information Systems (Informationssysteme)

Information Systems (Informationssysteme) Information Systems (Informationssysteme) Jens Teubner, TU Dortmund jens.teubner@cs.tu-dortmund.de Summer 2016 c Jens Teubner Information Systems Summer 2016 1 Part VIII Transaction Management c Jens Teubner

More information

CPSC 421 Database Management Systems. Lecture 10: Embedded SQL

CPSC 421 Database Management Systems. Lecture 10: Embedded SQL CPSC 421 Database Management Systems Lecture 10: Embedded SQL * Some material adapted from R. Ramakrishnan, L. Delcambre, and B. Ludaescher Today s Agenda Quiz Project Part 2 Embedded SQL DDL and DML Notes:

More information

Using SQL Developer. Oracle University and Egabi Solutions use only

Using SQL Developer. Oracle University and Egabi Solutions use only Using SQL Developer Objectives After completing this appendix, you should be able to do the following: List the key features of Oracle SQL Developer Identify menu items of Oracle SQL Developer Create a

More information

CS352 Lecture - The Transaction Concept

CS352 Lecture - The Transaction Concept CS352 Lecture - The Transaction Concept Last Revised 11/7/06 Objectives: 1. To introduce the notion of a transaction and the ACID properties of a transaction 2. To introduce the notion of the state of

More information

Ebook : Overview of application development. All code from the application series books listed at:

Ebook : Overview of application development. All code from the application series books listed at: Ebook : Overview of application development. All code from the application series books listed at: http://www.vkinfotek.com with permission. Publishers: VK Publishers Established: 2001 Type of books: Develop

More information