Interacción de Aplicaciones con BDs
Interacción de Aplicaciones con Bases de Datos zAcceso básico. Casos Especiales zSQL embebido zUso de un API xTipos de API xODBC. Drivers zBases de datos en la Web
Acceso Básico zNormalmente suministrado por el SGBD y sus aplicaciones adjuntas zPuede no existir. SGBOO zPrompt (SQL). Oracle: SQL-Plus z4GL. Informix, Oracle (PL/SQL) yForms, reports, menus zEntornos completos. MS Access
SQL Embebido zLenguaje de Programación Host zPreprocesador + Librerias = Programa zSQL estático vs. dinámico zTipos de datos distintos. Equivalencias zVariables Host zLimitaciones (¿transacciones?, ¿actividad?, etc)
SQL Dinámico: Oracle 4 Métodos: elegir siempre el más sencillo posible según el caso zMétodo 1 (no selects, no placeholders) Ej: EXEC SQL EXECUTE ´delete from emp where dpto=20´ zMétodo 2 (no selects, # placeholders conocido) Ej: EXEC SQL PREPARE s FROM ´delete from emp where dpto=:dpto_num´ EXEC SQL EXECUTE s USING :departamento
SQL Dinámico: Oracle (2) zMétodo 3 (acepta selects, # proyecciones, placeholders conocido) Ej: Select nombre, apellidos from emp where dpto=:dpto_num Prepare, declare cursor, open cursor using..., fetch cursor, close cursor zMétodo 4 (sin restricciones) Ej: select ???? from ???? where ???....
Uso de un API zAPI: Aplication Program Interface zProtocolos y funcionalidades zTipos de API´s yPropietarios. Ej: OCI (Oracle Call Interface) yInteroperables xCLI (Call Level Interface) xODBC (Open Data Base Connectivity). xIDAPI
ODBC zDesarrollado por Microsoft zNO es un protocolo de comunicación zDriver ODBC: programa que interactua con un SGBD concreto y ofrece un API según los dictados ODBC. yImplementado con SQL embebido yImplementado con un API propietario zJDBC. Drivers JDBC. Driver JDBC-ODBC
Bases de datos en la Web zPáginas Web: puntos de interrogación a Bases de datos zForms y CGI´s zPerdemos el acceso directo al SGBD: no disponemos de SQL !!! zSolución: Encapsulación. Acceso limitado por el CGI.