Web to Database Connectivity Tools Frank Cervone Assistant Director for Systems DePaul University...
-
Upload
leslie-cook -
Category
Documents
-
view
217 -
download
0
Transcript of Web to Database Connectivity Tools Frank Cervone Assistant Director for Systems DePaul University...
Web to Database Web to Database Connectivity ToolsConnectivity Tools
Frank CervoneAssistant Director for Systems
DePaul University Libraries
Access ‘98
October 3, 1998
dbm Filesdbm 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 Exampledbm File Example
SID CID LastName
FirstName
Description
00001ZX Able John01294SA PSY101 Jones Mary Intro to
Psychology01294SA CSC329 Jones Mari Database Design12309DE PSY101 Public John
There is no inherent mechanism for ensuring data consistency
Relational DatabasesRelational 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 Relational Database ExampleExample
SID Last Name FirstName
00001XZ Able John01294SA Jones Mary12309DE Public John
Student Table
Course TableCID Description
PSY101 Intro to Psychology
CSC329 Database Design SID CID01294SA PSY10101294SA CSC32912309DE PSY101
Enrollment Table
Object-oriented DatabasesObject-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
Native InterfaceNative 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
ODBCODBC
• 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, MS-Access, DB2
ODBC ExampleODBC Example
Application
MS-Access Driver
Driver Manager
MS-Access
Database
OracleDriver
Oracle
Database
MS-SQLDriver
MS-SQL
Database
JDBC™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
CORBACORBA
• Common Object Request Broker Architecture
• Standard method for requesting objects from object-oriented database servers
• Adoption has been slow, but is growing
CGICGI
• Common Gateway Interface
• A standard programming interface to web server applications
• These applications act as gateways between the web server and the database
CGI DetailsCGI 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 ContinuedCGI 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 InteractionCGI Interaction
Client Web Browser
Web Server
Program or Script
Database
HTTP
CGI
ODBC
Using Databases from the Using Databases from the WebWeb
• CGI program– C, C++ – PERL
• Intermediate program– mSQL/Lite
• Database with web support– FileMaker Pro
• Special web server– VBScript/IIS– ColdFusion
Displaying the DataDisplaying 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 ExampleInterpreted 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.)