Slide Template

Download Report

Transcript Slide Template

COS 346
DAY 22
Fundamentals, Design,
and Implementation, 9/e
Agenda
 Assignment 9 Due
– Two More to Go
 Quiz 4
– May 6 10 AM
– Chap 9, 10, 12, 13 & 15
 Today
– Discussion on OBDC, OLE DB, AD0 and
ASP
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/2
Chapter 12
ODBC, OLE DB, ADO, and ASP
Fundamentals, Design,
and Implementation, 9/e
Introduction
 Because database applications today reside in a
complicated environment, various standards have
been developed for accessing database servers
 Some of the traditional standards are
– OBDC (Open Database Connectivity) is the early
standard for relational databases
– OLE DB is the Microsoft’s object-oriented interface for
relational and other databases
– ADO (Active Data Objects) is the Microsoft’s standard
providing easier access to OLE DB data for the nonobject-oriented programmer
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/4
Web Server Data Environment
 Web server
needs to
publish
applications
that involve
different
data types
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/5
Role of OBDC
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/6
OBDC
 ODBC (Open Database Connectivity) standard
provides a DBMS-independent means for
processing relational database data
 It was developed in the early 1990s by an industry
committee and has been implemented by
Microsoft and many other vendors
 The goal is to allow a developer to create a single
application that can access databases supported
by different DBMS products without needing to be
changed or recompiled
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/7
ODBC Architecture
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/8
OBDC Components
 OBDC consists of data source, application
program, drivermanager, and DBMS driver
 Data source is the database, its associated
DBMS, operating system, and network
platform
– An ODBC data source can be a relational
database, a file server, or a spreadsheet
 Applications program issues requests to
create a connection with a data source
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/9
OBDC Components (cont.)
 Driver manager determines the type of
DBMS for a given ODBC data source and
loads that driver in memory
 DBMS driver processes ODBC requests
and submits specific SQL statements to a
given type of data source
– A single-tier driver processes both ODBC calls
and SQL statements
– A multiple-tier driver processes ODBC calls, but
passes the SQL requests to the database
server
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/10
OBDC Driver Types
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/11
Conformance Levels
 Levels of conformance balance the scope
of OBDC standard
 Two types of conformance levels
– ODBC conformance levels concern the features
and functions that are made available through
the driver’s application program interface (API)
• A driver API is a set of functions that the application
can call to receive services
– SQL conformance levels specify which SQL
statements, expressions, and data types a
driver can process
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/12
ODBC Conformance Levels


Core API
– Connect to data sources
– Prepare and execute SQL statements
– Retrieve data from a result set
– Commit or rollback transactions
– Retrieve error information
Level 1 API
– Core API
– Connect to data sources with driver-specific information
– Send and receive partial results
– Retrieve catalog information
– Retrieve information about driver options, capabilities, and
functions
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/13
ODBC Conformance Levels


Level 2 API
– Core and Level 1 API
– Browse possible connections and data sources
– Retrieve native form of SQL
– Call a translation library
– Process a scrollable cursor
Minimum SQL Grammar
– CREATE TABLE, DROP TABLE
– simple SELECT
(does not include subqueries)
– INSERT, UPDATE, DELETE
– Simple expressions
(A > B + C)
– CHAR, VARCHAR, LONGVARCHAR data types
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/14
SQL Conformance Levels

Core SQL Grammar
– Minimum SQL Grammar
– ALTER TABLE, CREATE INDEX, DROP INDEX
– CREATE VIEW, DROP VIEW
– GRANT, REVOKE
– Full SELECT (includes subqueries)
– Aggregate functions such as SUM, COUNT, MAX, MIN,
AVG
– DECIMAL, NUMERIC, SMALLINT, INTEGER, REAL,
FLOAT, DOUBLE PRECISION data types
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/15
SQL Conformance Levels
(cont.)
 Extended SQL Grammar
–
–
–
–
–
–
–
Core SQL Grammar
Outer joins
UPDATE and DELETE using cursor positions
Scalar functions such as SUBSTRING, ABS
Literals for date, time, and timestamp
Batch SQL statements
Stored Procedures
 The capability of the minimum SQL grammar is
very limited
 Most drivers support at least the core SQL
grammar
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/16
ODBC Data Source
 A data source is an ODBC data structure that
identifies a database and the DBMS that
processes it
 Three types of data source names
– A file data source is a file that can be shared among
database users having the same DBMS driver and privilege
– A system data source is local to a single computer and may
be used by the operating system and any user on that
system
• System data sources are recommended for Web servers
• To define a system data source name, the type of driver and
the database need to be specified
– A user data source is available only to the user
who created it
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/17
Creating a OBDC connector
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/18
System DSN
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/19
Adding an Oracle OBDC
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/20
Adding a Oracle OBDC connector
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/21
Role of OLE DB
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/22
OLE DB
 OLE DB is an implementation of the Microsoft
OLE object standard
– OLE DB objects are COM objects and support all
required interfaces for such objects
 OLE DB breaks the features and functions of a
DBMS into COM objects, making it easier for
vendors to implement portions of functionality
– This characteristic overcomes a major disadvantage of
ODBC
– With ODBC, a vendor must create an ODBC driver for
almost all DBMS features and functions in order to
participate in ODBC at all
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/23
Key Object-Oriented Concepts
 An object-oriented programming object is
an abstraction that is defined by its
properties and methods
– An abstraction is a generalization of something
– A property specifies set of characteristics of an
object
– A method refers to actions that an object can
perform
– A collection is an object that contains a group of
other objects
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/24
OLE DB Goals
 Create object interfaces for DBMS functionality
pieces
– Query, update, transaction management, etc.
 Increase flexibility
–
–
–
–
Allow data consumers to use only the objects they need
Allow data providers to expose pieces of DBMS functionality
Providers can deliver functionality in multiple interfaces
Interfaces are standardized and extensible
 Object interface over any type of data
– Relational and non-relational database, ODBC or native,
VSAM and other files, Email, etc.
 Do not force data to be converted or moved from
where it is
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/25
OLE DB Basic Constructs
 Data providers
 Rowset interfaces
 An interface is a set of objects and the properties
and methods they expose in that interface
– Objects may expose different properties and methods in
different interfaces
 An implementation is how an object accomplishes
its tasks
– Implementations are hidden from the outside world and
may be changed without impacting the users of the
objects
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/26
OLE DB Data Providers
 OLE DB has two types of data providers
– Tabular data provider exposes data via
rowsets
• Examples: DBMS, spreadsheets, ISAMs
– Service provider is a transformer of data
through OLE DB interfaces
• It is both a consumer and a provider of
transformed data
• Examples: query processors, XML document
creator
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/27
Rowset Interfaces
 A rowset is equivalent to a cursor
 Basic rowset interfaces include
– IRowSet
• Methods for sequential iteration through a rowset
– IAccessor
• Methods for setting and determining bindings
between rowset and client program variables
– IColumnsInfo
• Methods for determining Information about the
columns in the rowset
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/28
Role of ADO
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/29
ADO
 ADO (Active Data Objects) characteristics
– Simple object model for OLE DB data
consumers
– Can be used from VBScript, JScript, Visual
Basic, Java, C#, C++
– Single Microsoft data access standard
– Data access objects are the same for all types
of OLE DB data
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/30
ADO Object Model
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/31
Connection Object
 A connection object establishes a
connection to a data provider and data
source
– Connections have an isolation mode
 Once a connection is created, it can be
used to create RecordSet and Command
objects
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/32
RecordSet Objects
 RecordSet objects represent cursors
– They have both CursorType and LockType
properties
– RecordSets can be created with SQL
statements
– The Fields collection of a RecordSet can be
processed to individually manipulate fields
– The Errors collection contains one or more
error messages that result from an ADO
operation.
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/33
Command Object
 The command object is used to
execute stored parameterized queries
or stored procedures
– Input data can be sent to the correct
ASP using the HTML FORM tag
– Table updates are made using the
RecordSet Update method
Copyright © 2004 Database Processing: Fundamentals, Design, and Implementation, 9/e
by David M. Kroenke
Chapter 12/34
Chapter 12
ODBC, OLE DB, ADO, and ASP
Fundamentals, Design,
and Implementation, 9/e