PowerPoint - University Library

Download Report

Transcript PowerPoint - University Library

Web to Database
Connectivity Tools
Frank Cervone
Assistant Director for Systems
DePaul University Libraries
Access ‘98
October 3, 1998
Introduction
•
•
•
•
Databases
Database APIs
Programming Languages
Access Models
Databases
• Flat files
• Relational databases
• Object-oriented databases
Flat Files
• Simple implementation
– regular text
– basic encoding
– word, excel files
dbm Files
• UNIX/gnu
• library of routines that manage data files
containing key/data pairs
• read, write, delete by key
• nonsorted traversal of all keys
dbm File Example
SID
CID
Last
Name
First
Name
00001ZX
01294SA
Able
PSY101 Jones
John
Mary
01294SA
12309DE
CSC329 Jones
PSY101 Public
Mari
John
Description
Intro to
Psychology
Database Design
There is no inherent mechanism for
ensuring data consistency
Relational Databases
• Most common data management
scheme
• Data is organized into two-dimensional
tables of rows and columns
– Data is decomposed to its simplest form
– Normalization reduces data inconsistency
– Referential integrity
Relational Database
Example
Course Table
CID
Description
PSY101
Intro to Psychology
CSC329
Database Design
Student Table
SID
Last Name
00001XZ
01294SA
12309DE
Able
Jones
Public
First
Name
John
Mary
John
Enrollment
Table
SID
01294SA
01294SA
12309DE
CID
PSY101
CSC329
PSY101
Object-oriented
Databases
• Can mean many things
• Data exists as objects
– each object encapsulates
•
•
•
•
data (attributes)
methods (procedures)
is a member and instance of a class of objects
may be a subset of a class and inherit
characteristics of the superclass
Object-oriented Example
Students
Courses
Database APIs
•
•
•
•
Native-interface
ODBC
JDBC
CORBA
Native Interface
• Low-level interface
• Direct call from a program to an access
method to retrieve data
• Typically only used directly when
accessing flat files
• Often used from compiled programming
languages
ODBC
• Open Database Connectivity
• Standard method for applications to
request database information from other
applications (i.e., database servers)
• Common interface and language (SQL)
to disparate database systems
• Examples: Oracle, MS-SQL Server, MSAccess, DB2
ODBC Example
Application
Driver
Manager
MS-Access
Driver
Oracle
Driver
MS-SQL
Driver
MS-Access
Oracle
MS-SQL
Database
Database
Database
JDBC™
• Java Database Connectivity
• Interface to ODBC for Java programs
• Standard method for Java programs to
request database information from other
applications (i.e., database servers)
• Common interface and language (SQL)
to ODBC-compliant database servers
CORBA
• Common Object Request Broker
Architecture
• Standard method for requesting objects
from object-oriented database servers
• Adoption has been slow, but is growing
Programming
Languages
•
•
•
•
Java
C and/or C++
PERL/CGI
VBScript/ASP
CGI
• Common Gateway Interface
• A standard programming interface to
web server applications
• These applications act as gateways
between the web server and the
database
CGI Overview
Client Web Browser
Web Server
Program or Script
Database
CGI Details
• Browser sends URL request with embedded
CGI program name
• Web server set environment variables,
executes program, and passes form data via
STDIN
• Program examines environment variables,
reads STDIN, performs requested functions,
calls database
• Database receives request from program and
retrieves data
CGI Details Continued
• Database returns data to calling program
• Program acts on returned data
– HTML page, text page, redirect command
– sends results to web server via STDOUT
• Web server creates HTTP-formatted result
• Browser displays web page
CGI Interaction
Client Web Browser
HTTP
Web Server
CGI
Program or Script
ODBC
Database
Using Databases from
the Web
• CGI program
– C, C++
– PERL
• Intermediate program
– mSQL/Lite
• Database with web support
– FileMaker Pro
• Special web server
– VBScript/IIS
– ColdFusion
Displaying the Data
• CGI program – generates the web page on the fly
• Database with web support
– page is generated by database program
• Intermediate program/Special web
server – page is interpreted and a new one is
generated in its place
Interpreted Page
Example
<HTML>
<BODY>
<%
set conn=server.createobject(“adodb.connection”)
conn.open “DSN=Students;uid=master;pwd=test”
set result=conn.execute(“select * fromenrollment”)
response.write “<TABLE BORDER=1>”
response.write “<TR>”
for I=0 to howmanyfields
response.write “<TD><B>” & result(i).name & “</B></TD>”
next
response.write “</TR>”
.
.
. (etc.)
Scenarios
•
•
•
•
FileMaker Pro
MS-IIS/VBScript
mSQL/Lite
ColdFusion/Oracle
Suggestions
•
•
•
•
Understand your current needs
Project for your future plans
Keep server diversity to a minimum
Hire/train appropriate personnel