Client-server database systems and ODBC l Client-server architecture and components l More on reliability and security l ODBC standard.

Slides:



Advertisements
Similar presentations
Database System Concepts and Architecture
Advertisements

Chapter 13 © 2000 Prentice Hall Chapter 13 Accessing the Database Server: ODBC, OLE DB, and ADO David M. Kroenke Database Processing © 2000 Prentice Hall.
Technical Architectures
Introduction to Databases
1 Chapter 2 Database Environment Transparencies © Pearson Education Limited 1995, 2005.
Fundamentals, Design, and Implementation, 9/e Chapter 12 ODBC, OLE DB, ADO, and ASP.
ISYS 546 Client/Server Database Application Development.
15 Chapter 15 Web Database Development Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel.
INTERNET DATABASE Chapter 9. u Basics of Internet, Web, HTTP, HTML, URLs. u Advantages and disadvantages of Web as a database platform. u Approaches for.
Database Management Systems ISYS 464 Fall 2004 David Chao.
MI807: Database Systems for Managers Introduction –Course Goals & Schedule –Logistics –Syllabus Review Relational DBMS Basics –RDBMS Role in Applications.
Fundamentals, Design, and Implementation, 9/e COS 346 DAY 22.
1 C. Shahabi Application Programming for Relational Databases Cyrus Shahabi Computer Science Department University of Southern California
Distributed Information Systems - The Client server model
System Analysis and Design
14 Chapter 14 Databases and The Internet Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Overview of Database Languages and Architectures.
1 © Prentice Hall, 2002 The Client/Server Database Environment.
Chapter 1 Introduction to Databases
Introduction to Databases
Lecture The Client/Server Database Environment
Client/Server Computing. Information processing is distributed among several workstations and servers on a network, with each function being assigned.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 12-1 David M. Kroenke’s Chapter Twelve: ODBC Database Processing: Fundamentals,
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
Getting connected.  Java application calls the JDBC library.  JDBC loads a driver which talks to the database.  We can change database engines without.
IMS 4212: Distributed Databases 1 Dr. Lawrence West, Management Dept., University of Central Florida Distributed Databases Business needs.
1 ODBC, OLE DB, ADO, and ASP. 2 Introduction  Because database applications today reside in a complicated environment, various standards have been developed.
ODBC : Open Database Connectivity SNU OOPSLA Lab. October 2005.
1 Chapter 3 Database Architecture and the Web Pearson Education © 2009.
Chapter 1 Introduction to Databases Pearson Education ©
Database Architecture Introduction to Databases. The Nature of Data Un-structured Semi-structured Structured.
Announcements Read JDBC Project Step 5, due Monday.
CSC271 Database Systems Lecture # 4.
Database Environment Chapter 2 AIT632 Sungchul Hong.
Chapter 1 In-lab Quiz Next week
© Dennis Shasha, Philippe Bonnet – 2013 Communicating with the Outside.
The Client/Server Database Environment Ployphan Sornsuwit KPRU Ref.
Mainframe (Host) - Communications - User Interface - Business Logic - DBMS - Operating System - Storage (DB Files) Terminal (Display/Keyboard) Terminal.
Personal Computer - Stand- Alone Database  Database (or files) reside on a PC - on the hard disk.  Applications run on the same PC and directly access.
Database Architectures Database System Architectures Considerations – Data storage: Where do the data and DBMS reside? – Processing: Where.
Fundamentals, Design, and Implementation, 9/e by David M. Kroenke BSA206 Database Management Systems Lecture 21: Databases and the Web Chapters 12, 13.
Introduction to Databases
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Database Systems DBMS Environment Data Abstraction.
Introduction to Database AIT632 Chapter 1 Sungchul Hong.
Database Systems Design, Implementation, and Management Coronel | Morris 11e ©2015 Cengage Learning. All Rights Reserved. May not be scanned, copied or.
CENTRALISED AND CLIENT / SERVER DBMS. Topics To Be Discussed………………………. (A) Centralized DBMS (i) IntroductionIntroduction (ii) AdvantagesAdvantages (ii)
INTRODUCTION TO DBS Database: a collection of data describing the activities of one or more related organizations DBMS: software designed to assist in.
1 Chapter 1 Introduction to Databases Transparencies.
Distributed database system
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 12-1 David M. Kroenke’s Chapter Twelve: ODBC, OLE DB, ADO, and ASP Part.
DATABASE CONNECTIVITY TO MYSQL. Introduction =>A real life application needs to manipulate data stored in a Database. =>A database is a collection of.
Introduction to Databases
Basics of JDBC Session 14.
ODBC : Open Database Connectivity SNU OOPSLA Lab. October 2005.
Introduction to Databases Transparencies © Pearson Education Limited 1995, 2005.
Chapter 9  Definition of terms  List advantages of client/server architecture  Explain three application components:
Chapter 1 Database Access from Client Applications.
Introduction Because database applications today reside in a complicated environment, various standards have been developed for accessing database servers.
Chapter 2 Database Environment.
Text TCS INTERNAL Oracle PL/SQL – Introduction. TCS INTERNAL PL SQL Introduction PLSQL means Procedural Language extension of SQL. PLSQL is a database.
1 Information Retrieval and Use De-normalisation and Distributed database systems Geoff Leese September 2008, revised October 2009.
IT 5433 LM1. Learning Objectives Understand key terms in database Explain file processing systems List parts of a database environment Explain types of.
Accessing the Database Server: ODBC, OLE DB, and ADO
The Client/Server Database Environment
Chapter 8 Advanced SQL Pearson Education © 2014.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Introduction to Databases Transparencies
Tiers vs. Layers.
Presentation transcript:

Client-server database systems and ODBC l Client-server architecture and components l More on reliability and security l ODBC standard

Database processing functions

The client-server architecture l The network “cut” is between applications and the DBMS l Database processing is on the server

DBMS Driver l Receive processing requests from applications l Format requests and deliver to DBMS l Receive responses from DBMS l Format responses for application l Communication layer on client and server to exchange messages between DBMS and driver

Roles of client and server Client »Manage the user interface »Enforce business rules »Process application logic »Generate database requests (SQL) »Transmit database requests to server »Receive results from server »Format results Server »Accept database request from clients »Process database requests »Format results and transmit to client »Enforce business rules »Perform integrity checking »Maintain database overhead data »Provide concurrent access control »Provide recovery and security services

Advantages & disadvantages l Pro »Applications use client CPUs in parallel –More powerful applications »Network traffic is reduced l Con »Concurrency control »Multiple client OS’s

Multithreading

Client requests l Native library calls (API) »DBMS-specific l Embedded SQL »Static SQL –SQL structure fixed at compile time –Faster »Dynamic SQL –SQL structure determined at run time –More flexible

Business rules: client-enforcement

Business rules: server-enforcement

Enforcement of business rules l Client »Triggers »Duplication »What about using DML directly? l Server »All in one place »What if DBMS cannot enforce business rules?

Concurrency control l Pessimistic locking »Assume things will go wrong »Prevent problems all the time l Optimistic locking »Assume things will go well »If problem, do it over

Pessimistic locking: same page, different records

Optimistic locking: same page, different records What if same record?

Concurrency control, take 2 l Pessimistic versus optimistic locking, which is better? »Depends on application... »What is the common case? –If conflict is frequent, use pessimistic! –If conflict is rare, use optimistic!

ODBC l Open DataBase Connectivity l Industry-standard interface between client applications and server DBMS products l The idea is to write DBMS-independent applications, as long as they conform to the ODBC standard l To conform or not to conform?

ODBC architecture

ODBC components l On the server: »Data source(s) - database, DBMS, OS, network platform l On the client: »DBMS drivers - one per data source –Receive ODBC request –Process if not standard SQL –Submit to specific data source »Driver manager - one per client –Receive ODBC request from application –Load appropriate driver and forward request

ODBC drivers l Single-tier: process both ODBC calls and SQL statements l Multiple-tier: process ODBC calls and pass SQL statements to data source

ODBC conformance levels l 3 levels of driver API conformance »Core (connect, commit/rollback, error...) »Level 1 (partial results, catalog, driver gestalt...) »Level 2 (browse, scrollable cursors...) l 3 levels of SQL conformance »Minimum (simple select, create, drop, insert, update, delete, simple expressions...) »Core (indices, views, grant, revoke, sub- queries, aggregate functions...) »Extended (outer joins, cursors, scalar functions, procedures...)