* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download PowerPoint - University of Saskatchewan Library
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Ingres (database) wikipedia , lookup
Functional Database Model wikipedia , lookup
Concurrency control wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Clusterpoint wikipedia , lookup
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