Anda di halaman 1dari 84

UNIDAD 1: Gestor de bases de datos 1.

1 Caractersticas del gestor


Un Sistema Gestor de base de datos (SGBD) es un conjunto de programas que permiten crear y mantener una Base de datos, asegurando su integridad, confidencialidad y seguridad. Las caractersticas del sistema gestor de base de datos son: Abstraccin de la informacin Los SGBD ahorran a los usuarios detalles acerca del almacenamiento fsico de los datos. Da lo mismo si una base de datos ocupa uno o cientos de archivos, este hecho se hace transparente al usuario. As, se definen varios niveles de abstraccin. Independencia La independencia de los datos consiste en la capacidad de modificar el esquema (fsico o lgico) de una base de datos sin tener que realizar cambios en las aplicaciones que se sirven de ella. Redundancia mnima Un buen diseo de una base de datos lograr evitar la aparicin de informacin repetida o redundante. De entrada, lo ideal es lograr una redundancia nula; no obstante, en algunos casos la complejidad de los clculos hace necesaria la aparicin de redundancias. Consistencia En aquellos casos en los que no se ha logrado esta redundancia nula, ser necesario vigilar que aquella informacin que aparece repetida se actualice de forma coherente, es decir, que todos los datos repetidos se actualicen de forma simultnea.

Seguridad La informacin almacenada en una base de datos puede llegar a tener un gran valor. Los SGBD deben garantizar que esta informacin se encuentra asegurada frente a usuarios malintencionados, que intenten leer informacin privilegiada; frente a ataques que deseen manipular o destruir la informacin; o simplemente ante las torpezas de algn usuario autorizado pero despistado. Normalmente, los SGBD disponen de un complejo sistema de permisos a usuarios y grupos de usuarios, que permiten otorgar diversas categoras de permisos. Integridad Se trata de adoptar las medidas necesarias para garantizar la validez de los datos almacenados. Es decir, se trata de proteger los datos ante fallos de hardware, datos introducidos por usuarios descuidados, o cualquier otra circunstancia capaz de corromper la informacin almacenada. Respaldo y recuperacin Los SGBD deben proporcionar una forma eficiente de realizar copias de respaldo de la informacin almacenada en ellos, y de restaurar a partir de estas copias los datos que se hayan podido perder. Control de la concurrencia En la mayora de entornos (excepto quizs el domstico), lo ms habitual es que sean muchas las personas que acceden a una base de datos, bien para recuperar informacin, bien para almacenarla. Y es tambin frecuente que dichos accesos se realicen de forma simultnea. As pues, un SGBD debe controlar este acceso concurrente a la informacin, que podra derivar en inconsistencias.

1.2 Herramientas
Para poder utilizar una base de datos, el usuario debe contar con una interfaz que le permita visualizar los datos segn ciertos criterios. Existe una herramienta para esto: los formularios. Un formulario es una interfaz con componentes para la visualizacin, la entrada o la seleccin de datos. Una de las herramientas que usan los diseadores de las bases de datos para mostrar la relacin lgica entre los datos la constituye el modelo de datos. Un modelo de datos es un mapa o diagrama de entidades y sus relaciones, por lo general, el modelado de datos incluye la comprensin de un problema de negocios especfico y el anlisis de los datos y la informacin necesaria para producir una solucin.

1.2.1 De creacin de bases de datos


Oracle Database Configuration Assistant: es una herramienta poderosa para crear bases de datos del Oracle. sta puede ser til aunque la mayora de los Administradores de Bases de Datos suele evitar ste tipo de herramientas. SQL server Enterprise Manager: Se puede crear una base de datos directamente utilizando la herramienta SQL Server Enterprise Manager. Para crear una base de datos en el Enterprise Manager, expanda la consola del rbol de su servidor, haga clic derecho en el nodo Database, y haga clic en New Database. MySQL mysql> CREATE DATABASE CtrlEscolar; Es una herramienta utilizada para la creacin de bases de datos en MySQL. Primeramente debe de ir el cdigo de creacin de la base de datos (CREATE DATABASE), despus el nombre de la base de datos en este caso (CtrlEscolar) finalizando la instruccin con un punto y coma (;).

1.2.2 De administracin de bases de datos


A continuacin se muestran las herramientas utilizadas por un Administrador de Bases de Datos para diferentes gestores de bases de datos. Oracle Flub Miner: es una herramienta utilizada para explorar los archivos de registro mediante una estructura de programacin algortmica que se desplaza a travs de dichos archivos hasta encontrar lo que estamos buscando. Instance Manager: nos permite administrar la Instancia del Oracle. Como vimos en la seccin anterior, sta Instancia corresponde a la combinacin de los procesos y las estructuras de la memoria, es decir, la parte del Oracle que se ejecuta al iniciarse el programa. Schema Manager: nos permite administrar y modificar los elementos como las tablas y los ndices. Security Manager: nos permite controlar los roles, los permisos, los privilegios y todos los elementos relacionados con la seguridad. Storage Manager: nos permite administrar las estructuras fsicas de almacenamiento y configurar los objetos de la base de datos. Workspace Manager: nos permite administrar el espacio de trabajo. Backup Manager: nos permite administrar las copias de respaldo y la recuperacin de los datos, entre otros aspectos. Data Manager: nos permite administrar los datos y el Database Resource Manager nos permite administrar los recursos.

Change Management: para administrar las modificaciones, el Diagnostics para diagnosticar los problemas y el Tuning para efectuar las configuraciones. SQL server Empezando por SQL Server 2005, se han integrado varias herramientas administrativas de SQL Server 2000 en SQL Server Management Studio, otras se han integrado en el Administrador de configuracin de SQL Server y se ha cambiado el nombre del Asistente para optimizacin de ndices. Analizador de consultas Administrador corporativo Herramienta de red de servidor Herramienta de red de cliente Administrador de servicios Asistente para optimizacin de ndices MySQL phpMyAdmin: es una herramienta escrita en PHP con la intencin de manejar la administracin de MySQL a travs de pginas web, utilizando Internet.

1.2.3 De edicin para crear esquemas y consultas de bases de datos


Oracle Tablespace: herramienta utilizada en Oracle para la creacin de esquemas de bases de datos. Estos tablespaces son la ubicacin donde se almacenarn los objetos del esquema que se va a crear. SQLForms: es la herramienta de Oracle que permite, de un modo sencillo y eficiente, disear pantallas para el ingreso, modificaciones, bajas y consultas de registros. El usuario podr, una vez definida la forma, trabajar con ella sin necesidad de generar cdigos, dado que Oracle trae incorporado un conjunto de procedimientos y funciones asociados a las teclas de funciones, como por ejemplo la tecla [F7], que se usa para iniciar una consulta. Sql server SQL Server Management Studio: herramienta utilizada en SQL Server para crear esquemas de bases de datos. En SQL Server Management Studio, abra el Explorador de objetos y expanda la carpeta Bases de datos. Expanda la base de datos en la que se va a crear el esquema de la misma. Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a continuacin, haga clic en Esquema. En la pgina General, escriba un nombre para el nuevo esquema en el cuadro Nombre de esquema. En el cuadro Propietario del esquema, escriba el nombre del usuario o funcin de base de datos que va a poseer el esquema.

Haga clic en Aceptar. SELECT: herramienta fundamental de SQL server, que permite seleccionar registros desde las tablas de la Base de Datos, devolviendo aquellos que cumplan las condiciones establecidas y pudiendo presentar el resultado de la consulta en el orden deseado. La manera ms directa de crear consultas es escribirlas directamente sobre el rea de consultas. Conforme se va escribiendo en el rea de resultados, las porciones de sintaxis de SQL (SELECT, FROM, WHERE, etc.) se van resaltando en azul. Una vez que se escriba la consulta, el rea de consultas se expandir desde tres lneas inciales de altura a un mximo de diez lneas de altura. Para espacio adicional, usted puede presionar la tecla F11 para maximizar el rea de consultas. Tambin puede seleccionar la opcin Maximizar rea de Consulta de el men Ver para maximizar el rea de consultas. Cuando una consulta es maximizada, el nmero de lneas es desplegado para la consulta, y el rea de consulta puede ser redimensionada haciendo click y arrastrando la lnea que divide el rea de consulta con el rea de resultado. Para restablecer el rea de consultas, presione nuevamente la tecla F11. Una vez que capturada la consulta, dar un click en el botn Ejecutar y los resultados de la consulta sern desplegados en el rea de resultados. Usted puede tambin presionar las teclas ctrl.+ Aceptar para ejecutar la consulta. Si hay algn error en su consulta un rea de errores aparecer en la parte de abajo de el rea de resultados desplegando el mensaje de error y el cdigo del error. En edicin para cargar resultados de consultas en el rea de resultados activa, usted puede tambin crear una nueva rea de resultado para los resultados de su consulta o dividir su rea de resultado actual y cargar los resultados dentro de la nueva seccin.

MySQL MySQL Administrator: herramienta utilizada en MySQL para la creacin de esquemas de base de datos. Dentro de ella se encuentra la opcin catalogs catlogo esquema. MySQL Query Browser: es una utilidad para trabajar con la base de datos MySQL. Es un editor de sentencias SQL visual, que adems incorpora herramientas para optimizar las consultas.

1.2.4 De control, monitoreo y estadsticas de acceso a bases de datos


Oracle Last_analyzed: Oracle registra las estadsticas en la tabla de catalogo llamada: dba_tables, si se visualiza dicha tabla, se encuentra la herramienta last_analyzed, la cual indica la ltima vez que fue analizada la tabla. A travs de las estadsticas, el servidor conoce como es la informacin de una columna, como por ejemplo, si vara mucho, si todos los datos son iguales y los niveles de variacin que hay. SQL Server Aqua Data Studio: es una herramienta de administracin para una base de datos relacional SQL Server con capacidades de administracin y una herramienta de consulta de base de datos. Profiler y preformance monitor: permiten ver los procesos que se ejecutan en nuestro servidor, tambin ayuda a ver como est el rendimiento del mismo, como son el uso de los discos, la memoria y CPU que est utilizando nuestro motor de base de datos. SQL Server Utility Control Point (UCP): sirve para centralizar la administracin de servidores mediante un punto de control donde podremos inscribir las instancias SQL Server que deseemos monitorear. Applications Manager: es una herramienta de monitoreo de Servidores de Bases de Datos que puede ayudar a monitorear el ambiente de un servidor de bases de datos heterogneo, el cul puede consistir en bases de datos Oracle, MS SQL, Sybase, IBM DB2 y MySQL. Tambin ayuda a administradores de bases de datos (DBAs) y a administradores de sistemas notificando sobre problemas potenciales de desempeo en las bases de datos.

DBCC Show_Statistics (Table, Target): herramienta que permite visualizar una coleccin de estadsticas, el target es el nombre del ndice o el nombre de la coleccin de estadsticas. MySQL MySQL-Proxy: es una herramienta para monitorear y optimizar consultas y bsquedas. Sirve para hacer un log de todas las consultas que recibe el servidor as como denegar consultas peligrosas que puedan daar la base de datos. Applications manager: administra y garantiza el acceso pleno y ptimo a todos los datos expuestos por el servidor Microsoft SQL. Tanto para el motor de la base de datos, como para cada una de las bases de datos desplegadas en el sistema.

1.2.5 Utileras diversas


Las utileras son programas diseados para ayudar a las DBA en sus numerosas tareas administrativas. Algunos programas de utileras operan en el nivel externo del sistema y que en realidad no son ms que aplicaciones de propsito especial. A continuacin algunos tipos de utileras que comnmente se utilizan: Rutina de carga: Para crear la versin inicial de la base de datos a partir de uno o ms archivos del sistema operativo. Rutinas de descarga/recarga: Para descargar la base de datos (o parte de ella), para respaldar los datos almacenados y para recargar datos desde dichas copias de respaldo. Rutinas de reorganizacin: Para reordenar los datos en las bases de datos almacenada por distintas razones que normalmente tienen que ver con el desempeo; por ejemplo: agrupar datos en el disco de alguna forma en particular o recuperar espacio en el disco por datos que se volvieron obsoletos. Rutinas estadsticas: Para calcular diversas estadsticas desempeo, como el tamao de los archivos, las distribuciones de valores, los contadores de E/S, etc. Rutinas de anlisis: Para analizar las estadsticas dicha mente mencionadas.

1.3 Instalacin y configuracin del entorno operativo


Instalacin y configuracin de MySQL Primeramente se ejecuta el archivo descargado (mysql-essential-5.1.32-win32.msi) para comenzar con la instalacin:

Aparece la pantalla de inicio del instalador. Seleccionar Next para continuar:

Seleccionar el tipo de instalacin Complete y presionar Next:

Presionar el botn Install para comenzar con la copia de archivos:

As comienza el proceso de instalacin:

A continuacin aparecen 2 pantallas de MySQL Enterprise, presionar Next en cada una para continuar:

En la siguiente pantalla seleccionar la opcin Configure The MySQL Server Now y presionar Next:

La siguiente pantalla es la de configuracin de la instancia del MySQL Server. Presionar Next para comenzar:

Seleccionar la opcin Standard Configuration para su instalacin y presionar Next:

Seleccionar las opciones Install As Windows Service e Include Bin Directory in Windows Path. No siempre se desea que el motor arranque automticamente cuando inicie el sitema operativo, para eso deseleccione la opcin Launch the MySQL Server Automatically, si lo hace, siempre deber iniciar el servidor manualmente. No hay problema si se deja seleccionada la opcin. Presionar Next para continuar.

Se ingresa la contrasea para el usuario root (el administrador del motor). Si previamente tuvo instalado MySQL aparece un campo para ingresar la clave actual. Si se desea administrar el motor de forma remota, seleccione la opcin Enable root access from remote machines. Si se desea una cuenta annima (sin usuario ni clave) seleccione la opcin Create an Anonymous Account. Presione Next para continuar.

Presione Execute para realizar la configuracin:

Al finalizar el proceso de configuracin la pantalla deber indicar que los pasos se ejecutaron correctamente. Presione Finish para finalizar el proceso.

UNIDAD 2: Administracin de bases de datos 2.1 Creacin de bases de datos


Gracias a su interfaz grafica la creacin de una base de datos, especficamente su estructura bsica, es una labor extremadamente simple en SQL Server 7. Crearla manualmente o con la ayuda de un asistente, no requiere ms de uno o dos minutos. Esto implica asignarle caractersticas fsicas a la base de datos, como su tamao, tasa de crecimiento, nombre, identificacin de su propietario y grupos al que pertenece. Una base de datos est compuesta por tres tipos de archivos: Archivo primario (primary file): este archivo contiene la informacin necesaria para cargar e iniciar la base de datos, y adems puede almacenar datos. Este archivo aparece en cualquier base de datos creada. Archivo secundario (secundary file): el archivo secundario existe solamente si el archivo primario no es suficiente para mantener todos los archivos de datos. Dependiendo del trabajo de la base de datos, pueden ser necesarios varios archivos secundarios. Archivo de log de transacciones: Se utiliza para la recuperacin de la base de datos. Existe por lo menos un archivo log para cada base de datos; sin embargo, puede crearse ms de uno. Su tamao mnimo es de 512 kb. Cuando se crea una base de datos, todos los archivos que la componen son inicialmente llenados con ceros, para sobreescribir cualquier dato dejado del disco por archivos eliminados. Puede crearse una base de datos utilizando Transact-SQL, o por medio del Enterprise Manager, diligenciando algunas cajas de dilogo o del asistente de cracin de base de datos.

Crear manualmente una base de datos Paso 1: Dentro del Enterprise Manager haga clic sobre el cono de Microsoft SQL Servers y luego expanda un servidor. Paso 2: Haga clic con el botn derecho del mouse en la carpeta Databases, escoja New, y haga clic en New Database. Paso 3: Digite un nombre para la nueva base de datos. El archivo primario y los archivos de Log de transacciones de la nueva base de datso, se crean usando como prefijo el nombre de la nueva base de datos, por ejemplo: newpub_Data.mdf y newpub.ldf. El tamao inicial del archivo primario y del Log se basan en el modelo de la base de datos. Crear una base de datos con el asistente La utilizacin del asistente de base de datos es bastante sencilla. Un asistente puede activarse con el comando del men Tools-Wizards. El mismo abre una ventana en la cual debe hacerse clic en el tem Database y doble clic en el tem Create Database en el pnel de la izquierda y en el men rpido se escoge Tools- Wizards. La primera ventana del asistente es solamente de carcter informativo. Presione Next para continuar. En la segunda ventana ingrese el nombre y especifique otra localizacin para la base de datos y presiones Next. En la etapa siguiente, acepte el valor sugerido para el nombre de los archivos de la base de datos y su tamao inicial para los archivos de la base de datos. Despus de presionar Next deben de ingresarse algunos datos ralativos al crecimiento de la base de datos. Por defecto, el asistente considera que la base de datos tendr un crecimiento automtico con incrementos del 10% del tamao actual. Puede modificar este patrn porcentual y/o definir el crecimiento de la base de datos en megabytes.

En este ltimo caso, debe seleccionar Grow the in megabytes. La base de datos podr entonces crecer en megabytes cada vez, si se acepta el valor de 1Mb sugerido por el sistema. Al presionar el botn finish, se crea la base de datos y el asistente pregunta si ahora va a crearse un plan de mantenimiento para la base de datos.

2.1.1 Creacin de la estructura de la base de datos


En la terminologa usada en SQL no se alude a las relaciones, del mismo modo que no se usa el trmino atributo, pero s la palabra columna, y no se habla de tupla, sino de lnea. A continuacin se usarn indistintamente ambas terminologas, por lo que tabla estar en lugar de relacin, columna en el atributo y lnea en el de tupla, y viceversa. Prcticamente, la creacin de la base de datos consiste en la creacin de las tablas que la componen. En realidad, antes de poder proceder a la creacin de las tablas, normalmente hay que crear la base de datos, lo que a menudo significa definir un espacio de nombres separado para cada conjunto de tablas. De esta manera, para una DBMS se pueden gestionar diferentes bases de datos independientes al mismo tiempo sin que se den conflictos con los nombres que se usan en cada una de ellas. El sistema previsto por el estndar para crear los espacios separados de nombres consiste en usar las instrucciones SQL "CREATE SCHEMA". A menudo, dicho sistema no se usa (o por lo menos no con los fines y el significado previstos por el estndar), pero cada DBMS prev un procedimiento propietario para crear una base de datos. Normalmente, se ampla el lenguaje SQL introduciendo una instruccin no prevista en el estndar: "CREATE DATABASE". La planificacin de la estructura de la base de datos, en particular de las tablas, es vital para la gestin efectiva de la misma. El diseo de la estructura de una tabla consiste en una descripcin de cada uno de los campos que componen el registro y los valores o datos que contendr cada uno de esos campos. Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definicin de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc. Los registros constituyen la informacin que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este. Generalmente los diferente tipos de campos que su pueden almacenar son los siguientes:

Texto (caracteres), Numrico (nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc., imgenes.

2.1.2 Creacin de dominios definidos por el DBA


Los dominios son tipos de datos definidos por el administrador de base de datos. Por ejemplo, InterBase no tiene un tipo de dato "MONEDA", pero lo podemos definir a partir de otro tipo de dato, por ejemplo DOUBLE PRECISION. CREATE DOMAIN < nombre Dominio>AS <Tipo Datos> [DEFAULT < valor defecto>] [ ,*CONSTRAINT < nombre restriccin>+ CHECK (< condicin check> )-+;

2.1.3 Definir el esquema general de la base de datos (tablas, atributos, llaves primarias y llaves heredadas)
Tabla Las tablas son la esencia de las bases de datos; son ellas las que almacenan los datos en la base de datos. Agrupan los datos en forma de filas y columnas como una hoja electrnica. Cada fila representa un registro y cada columna un atributo o campo de la tabla. Cada campo de la tabla mantiene informacin de un tipo de dato. Por ejemplo, un campo llamado Valor posee un tipo de dato numrico, mientras que el campo Nombre contiene informacin de tipo texto. Los campos de una tabla pueden tener restricciones en cuanto al contenido que van a almacenar. Por ejemplo, un campo llamado Cantidad no puede almacenar texto, solamente nmeros, y no puede aceptar valores menores de 1 o mayores de 100. Cdigo para la creacin de una tabla: mysql > create table cuenta > (numero_cuenta integer, >nombre_sucursal varchar (30), >saldo integer >);

Atributos De cada entidad se almacenan una serie de datos que se denominan atributos de la entidad. Pueden ser atributos de una entidad cualquier caracterstica o propiedad de sta. Por ejemplo de la entidad Cuenta son atributos: numero_cuenta, nombre_sucursal y saldo.

Para insertar valores en esos atributos el cdigo correspondiente es el siguiente: insert into cuenta (numero_cuenta,nombre_sucursal,saldo) values (3617287,"Banorte",5000); Llave primaria La llave primaria est compuesta por una o ms columnas de la tabla, que identifican exclusivamente una fila dentro de la tabla. La especificacin de una llave primaria garantiza la integridad de la tabla. Las columnas (o columna) que componen una llave primaria no pueden contener el valor NULL. Al especificar la llave primaria, SQL Server crea un ndice especfico para garantizar que la llave sea nica. Cdigo para agregar una clave primaria: mysql > alter table cuenta > add primary key (numero_cuenta);

Llaves heredadas Las entidades de bajo nivel heredan todos los atributos de las entidades de mayor nivel. Cdigo para crear una clave fornea mysql> FOREIGN KEY (numero_cuenta) > REFERENCES cuenta (numero_cuenta);

2.1.4 Creacin de vistas de la base de datos (view)


Una vista es una tabla virtual cuyo contenido se ha definido por una consulta a la base de datos. La vista no es una tabla fsica sino un conjunto de instrucciones que retornan un conjunto de datos. Las vistas permiten que diferentes usuarios vean la misma informacin bajo otra ptica. Las vistas tambin facilitan que la informacin se combine para atender a un determinado usuario y, as mismo, se exporta a otras aplicaciones. Crear una vista Una vista puede crearse con el comando Transact-SQL llamado CREATE VIEW, o usando el editor de vistas del Enterprise Manager. Al crear una vista, tenga en cuenta las siguientes consideraciones: 1. Una vista slo puede crearse en la base de datos que est en uso. 2. No es posible asociar triggers, reglas o valores predeterminados a una vista. 3. Una vista puede hacer uso de datos de otra vista. 4. Una vista puede ser referenciada por un procedimiento almacenado. 5. No es posible crear un ndice para una vista. 6. Si ms de una columna de la vista tuviera el mismo nombre, stas deben referirse con un alias, o deben ser antecedidas por el nombre de la tabla a la que pertenece. 7. Las columnas de una vista son idnticas a las columnas de las tablas de origen. En seguida vamos a crear una vista en la base de datos Northwind, cuya finalidad ser establecer una correspondencia entre los clientes y los pedidos que fueron despachados. Dicha vista usar campos de las tablas Orders y Customers. Su estrctura ser la siguiente: campos OrderID y ShippedDate de la tabla Orders y campos CompanyName y Phone de la tabla Customers.

1. Abra la base de datos de Northwind, haga clic en la carpeta SQL Server Views y haga clic en New SQL Server View. 2. Haga clic en el cotn Add Table, el ltimo de la barra de herramientas y que tiene el smbolo de la adicin. Cuando aparezca la caja de dilogo con las tablas de la base de datos, seleccione Orders y haga clic en el botn Add. 3. Repite esta operacin seleccionando la tabla Customers. Ver qur las tablas son llamadas, puesto que estn relacionadas por medio del campo Customer_ID. Presione el botn Close para cerrar la caja de dilogo. 4. El prximo paso consiste en seleccionar las columnas de las tablas que se mostrarn en la vista. 5. Ahora es el momento de ejecutar la consulta presionando el botn Ejecutar (con la figura de signo de exclamacin en la barra de herramientas).

2.2 Definicin del esquema de integridad


Un control de integridad o restricciones es aquel que nos permite definir con precisin el rango de valores validos para un elemento y/o las operaciones que sern consideraciones validas en la relacin de tale elementos. El objetivo primordial de un control de integridad es la reduccin de la inconsistencia en la BD. Las restricciones de integridad normalmente se aplican en tres niveles: 1. Un atributo simple.- Se define un dominio del atributo que es totalmente independiente del resto del entorno de la Base de Datos. 2. Un atributo dependiente de otro.- Se definen subconjuntos de dominios posibles para un atributo X segn el valor que previamente a sido asignado al atributo W. 3. Relaciones entre tuplas de una o varias tablas.- Se especifican valores posibles para registros completos segn los valores acumulados registros previos o por valores existentes en registros de otras tablas. La implementacin de la cardinalidad resultante en el modelo ser una de las restricciones importantes que el sistema debe considerar.

La programacin de todas estas restricciones regularmente corre a cuenta de un programador especializado (que pudiera ser el DBA), mediante la adicin de mdulos al sistema; lo anterior dado que los DBMS comnmente no incorporan facilidades para su implementacin.

2.2.1 Validar y verificar integridad de entidad e integridad referencial


Integridad de entidad La integridad de entidad define una fila como una nica instancia de una entidad para una tabla en particular. La integridad de entidad asegura la integridad de la columna de identificacin o la clave primaria de una tabla (a travs de ndices, estricciones UNIQUE, restricciones PRIMARY KEY, o propiedades IDENTITY). Integridad referencial La integridad referencial preserva las relaciones definidas entre tablas, cuando se entran, modifican o borran registros. En SQL Server, la integridad referencial esta basada en interrelaciones entre claves ajenas y claves primarias o entre claves ajenas y claves nicas (a travs de las restricciones FOREIGN KEY y CHECK). La integridad referencial asegura que los valores de las claves son consistentes a travs de distintas tablas. Tal consistencia requiere que no exista referencia a valores inexistentes y que, si un valor clave cambia, todas las referencias cambien consistentemente a lo largo de la base de datos. Cuando se fuerza la integridad referencial, SQL Server previene a los usuarios de realizar lo siguiente: Agregar registros a una tabla relacionada si no hay registros asociados en la correspondiente tabla primaria. Cambiar valores en la tabla primaria que resulten en registros hurfanos en las tablas relacionadas. Borrar registros desde una tabla primaria si existen registros relacionados en la tabla ajena.

2.2.2 Creacin de disparadores (Triggers)


Puede crearse un trigger con el comando Transact-SQL CREATE TRIGGER, o por medio del Enterprise Manager. En los dos casos es necesaria la digitalizacin de los comandos SQL, que se ejecutarn cuando se active el trigger. Primero, veamos la sintaxis simplificada del comando SQL. CREATE TRIGGER nombre_del_trigger ON nombre_de_la_tabla FOR [INSERT /, DELETE /, UPDATE] AS comandos Donde: ON nombre_de_la_tabla: indica la tabla o esquema para el cual se ha creado el trigger. FOR: debe estar seguido del tipo de comando o comandos que activan el trigger. AS: inicia el cuerpo del trigger con los comandos que van a ejecutarse.

2.2.3 Creacin de procedimientos almacenados


Se crea un procedimiento almacenado con el comando CREATE PROCEDURE. Esto puede hacerse usando Enterprise Manager, Query Analyzer o el asistente de procedimientos almacenados. Con excepcin de los comandos CREATE PROCEDURE, prcticamente cualquier comando SQL puede incluirse en un procedimiento alamcenado. Veamos los comandos que son permitidos en un procedimiento almacenado: CREATE DEFAULT CREATE PROCEDURE CREATE RULE CREATE TRIGGER CREATER VIEW Si un procedimiento almacenado llama a otro procedimiento almacenado, el

procedimiento que invoca puede tener acceso a todos los objetos creados por el procedimiento invocado. Si un procedimiento almacenado remoto fuera ejecutado, las modificaciones hechas por el mismo en el servidor remoto no podran deshacerse (ROLLBACK). Pude crearse un procedimiento almacenado temporal adicionndole el smbolo # o ## antes del nombre del procedimiento almacenado. Como ejemplo, vamos a crear un procedimiento almacenado en la base de datos Northwind. Para ejecutar esta tarea, debe abrir la carpeta de esa base de datos, y en la carpeta Stored Procedures, hacer cilc con el botn derecho del mouse. En el men rpido, seleccione New Stored Procedure. Se abre entonces una caja de dilogo, en la cual podr digitar los comandos del procedimiento almacenado. El procedimiento almacenado que va a crearse, mostrar el contenido de las columnas Phone y Companyname de la tabla de Customers. El nombre del procedimiento

almacenado puede ir entre comillas o corchetes. Despus de presionar el botn OK, se graba el procedimiento almacenado y aparece en la lista de procedimientos de la base de datos Northwind.

2.3 Definicin del esquema de seguridad


Existen mltiples riesgos para la seguridad de la informacin durante la operacin, implantacin y tiempos muertos en el sistema. Riesgos en la implantacin Cuando se esta instalando o actualizando un sistema, los principales factores de riesgo son aquellos relacionados con el ajuste de formatos, dominios y otros parmetros que pueden verse afectados por la conversin del sistema; ya sea manual-automatizado o automatizado-automatizado.

Cuando el sistema que se implanta ha de recibir nueva informacin, es importante el establecimiento de cdigos que permitan validar la captura para minimizar los riesgos de informacin no confiable. Riesgos en la operacin Mientras el sistema se encuentra en uso, se dice que las operaciones se realizan en lnea; es decir, la informacin se afecta por medio de los procedimientos definidos en el sistema. La proteccin ms comn para reducir estos riesgos consiste en el establecimientos de claves de operacin (Password) tanto para accesar a la aplicacin como a las diversas operaciones que esta desempea. Las claves pueden asignarse:

Genrico. Por niveles de seguridad. Por tipos de acceso a los datos.

La seleccin de las claves de acceso debe llevarse a cabo utilizando los siguientes criterios:

No informacin que pueda asociarse al usuario. Fcil de recordar, difcil de adivinar. Debe utilizar un parmetro variable o algoritmo.

Algunos sistemas que manejan claves fijas pueden incluir controles sobre el usuario que lo obliguen a modificar su clave de acceso con cierta regularidad. Es importante que el cdigo que mantiene la tabla de claves de usuarios en el sistema se encuentre codificada o encriptada.

Riesgos en tiempos muertos

Cuando el sistema cuando el sistema no se encuentra en operacin la informacin esta expuesta a ser alterada fuera de lnea; es decir, sin utilizar los programas de aplicacin diseados para este fin.

Conceder privilegios Para que un usuario pueda hacer algo ms que consultar algunas variables del sistema deben tener algn privilegio. Lo ms simple es coceder el privilegio para seleccionar datos de una tabla concreta. Se hara as: Utilizando la sentencia GRANT para aadir privilegios a un usuario existente. mysql > GRANT SELECT ON banco.cuenta to anonimo; > Query ok

Esta sentencia concede al usuario 'anonimo' el privilegio de ejecutar sentencias SELECT sobre la tabla 'cuenta' de la base de datos 'banco'. Cdigo para realizar volcado C:/> mysqldump password -u root nombre bd>fichero.sql Donde mysqldump: comando que permite hacer la copia de seguridad de una o mltiples bases de datos. password: clave o contrasea para acceder a la base de datos. root: nombre de usuario. nombre bd: nombre de la base de datos. fichero: nombre del archivo a generar. Ejemplo mysqldump 123 -u root banco>archivo.sql Comando para recuperar el respaldo MySQL mysql> source c:/nombre bd.sql

2.3.1 Creacin de usuarios de la base de datos


Para crear un usuario de base de datos mediante SQL Server Management Studio 1. En SQL Server Management Studio, abra el explorador de objetos y expanda la carpeta de bases de datos. 2. En SQL Server Management Studio, abra el Explorador de objetos y expanda la carpeta Bases de datos. 3. Expanda la base de datos en la que se va a crear el usuario de la misma. 4. Haga clic con el botn secundario en la carpeta Seguridad, seleccione Nuevo y, a continuacin, haga clic en Usuario. 5. En la pgina General, escriba un nombre para el usuario en el cuadro Nombre de usuario. 6. En el cuadro Nombre de inicio de sesin, escriba el nombre de un inicio de sesin de SQL Server para asignarlo al usuario de la base de datos. 7. Haga clic en Aceptar. Para crear un usuario de base de datos mediante Transact-SQL: 1. En el editor de consultas, conctese a la base de datos en la que se va a crear el usuario de la base de datos; para ello, ejecute el siguiente comando Transact-SQL: USE <database name> GO. 2. cree el usuario ejecutando el siguiente comando de Transact-SQL: CREATE USER <new user name> FOR LOGIN <login name>; GO

2.3.2 Asignacin de privilegios sobre los objetos de informacin


Una vez que se ha creado un objeto en la base de datos, ste puede ser administrado por su creador. Los privilegios sobre los objetos pueden ser concedidos a otros usuarios con el objeto de permitirles accederlos y manipularlos, o conceder los privilegios a otros usuarios. Los privilegios sobre los objetos suelen ser para insertar, modificar, borrar o consultar. Aunque tambin son necesarios para poder ejecutar una unidad de programa almacenada en la base de datos o referenciarlos en una clave ajena.

2.4 Definicin del esquema de recuperacin


Cuando una empresa se decide a utilizar un sistema de base de datos, se vuelve dependiente en grado sumo del funcionamiento correcto de ese sistema. En caso de que sufra dao cualquier porcin de la base de datos por causa de un error humano, digamos, o una falla en el equipo o en el sistema que lo apoya resulta esencial poder reparar los datos implicados con un mnimo de retraso y afectando lo menos posible el resto del sistema. En teora, por ejemplo la disponibilidad de los datos no daados no debera verse afectada. El DBA debe definir y poner en prctica un plan de recuperacin adecuada que incluya, por ejemplo una descarga o vaciado peridico de la base de datos en un medio de almacenamiento de respaldo, y procedimientos para cargar otra vez la base de datos a partir de vaciado ms reciente cuando sea necesario.

2.4.1 Diseo y creacin de la bitcora


El Cuaderno o bitcora de trabajo es un cuaderno en el cual estudiantes, diseadores y trabajadores de empresas en general, entre otros, desarrollan su trabajo, anotan cualquier informacin que consideren que puede resultar til para su trabajo. Esto no se aplica solamente a asuntos laborales. Ahora bien, el trmino es usado tambin para nombrar un registro escrito de las acciones que se llevaron a cabo en cierto trabajo o tarea. Esta bitcora incluye todos los sucesos que tuvieron lugar durante la realizacin de dicha tarea, las fallas que se produjeron, los cambios que se introdujeron y los costos que ocasionaron. El DBMS (Sistema Manejador de Bases de Datos) mantiene una bitcora o diario en cinta o en disco (ms comnmente), en el cual se registran los detalles de todas las operaciones de actualizacin, en particular, los valores inciales y final del objeto modificado. Por tanto, si resulta necesario anular alguna modificacin especfica, el sistema puede utilizar la entrada correspondiente de la bitcora para restaurar el valor original del objeto restaurado.

2.4.2 Recuperacin a partir de la bitcora


La Recuperabilidad significa que, si se da algn error en los datos, hay un bug de programa de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el dao se causara. Las actividades de recuperacin incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de dao prdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del rea en antelacin a un desastre anticipado. La recuperacin es una de las tareas ms importantes de los DBA's. La Recuperabilidad, frecuentemente denominada "recuperacin de desastres", tiene dos formas primarias. La primera son los respaldos y despus las pruebas de recuperacin. La recuperacin de las bases de datos consiste en informacin y estampas de tiempo junto con bitcoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitcoras, la diferencia reside en que el DBA debe sacar de lnea la base de datos en caso de llevar a cabo una recuperacin. Las pruebas de recuperacin consisten en la restauracin de los datos, despus se aplican las bitcoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de lnea sustituyendo con una copia de la base de datos. Si el DBA (o el administrador) intentan implementar un plan de recuperacin de bases de datos sin pruebas de recuperacin, no existe la certeza de que los respaldos sean del todo vlidos. En la prctica, los respaldos de la mayora de los RDBMSs son raramente vlidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores humanos o bugs que pudieran haber corrompido los respaldos.

2.4.3 Respaldar bases de datos


Es obligatorio para todo administrador de Base de Datos, sea SQL Server, Oracle, Access, MySQL, PostgreSQL, etc., realizar respaldo de la base de datos, ms aun, crear una tarea programada que automticamente realice esta tarea en un da y hora determinada. Un respaldo de la BD manual es sencillo, para SQL Server con solo seleccionar la BD botn derecho sea en espaol o en ingles Pero realmente lo correcto para realizar un respaldo de una BD es programando una tarea, que realice el respaldo automticamente pautado en un dia a una hora. Lo correcto es programar un Job al cual se le indique de lunes a viernes realizar un respaldo a las 12am por ejemplo. Si en la empresa no posee un horario corrido, puede hacerse dos respaldos al da, uno a las 12m y el otro a las 12am, de tal forma que si ocurre un problema con la BD pueda restaurarse con el respaldo ms reciente. Un Job es una tarea programa donde le indicamos a SQL Server realizar una actividad bien sea principalmente respaldo de la base de datos (una o varias BDs), copiado de un archivo en una ubicacin de la red a una tabla, etc. Esto se hace a travs del SQL Agent, en SQL Server se encuentra en el rbol de SQL Server donde se encuentran las BDs y dems funciones, la carpeta Management > SQL Agent. Para el caso de SQL Server 2005, se encuentra fuera, al final del rbol. Seleccionamos Job boton derecho New Job tanto para SQL Server 2000 como 2005 los pasos son iguales, por lo que se indican de la siguiente forma: Seccin General > Indicas el nombre de la tarea programada (la planificacin automtica), lo demas puedes dejarlo como est. Steps > boton New > nombre del Step, indicas la BD y en Command debes indicar el script que realizara el Backup de la BD. Realmente no hay que indicar la BD en la

parte de Database, ya que el script es en el que se indica cual BD y donde se realizara el respaldo de la misma. El Script para generar el Backup puede ser uno como este: BACKUP DATABASE *nombre_base_de_datos+ TO DISK = NC:\Carpeta\Backup.bak WITH FORMAT, INIT, STATS = 10 Indicas la base de datos, la ubicacin del disco, en red, un script sencillo que realizara el repaldo programado sin estar vigilante de hacer esto cada cierto tiempo, simplemente con chequear de vez en cuando que el respaldo se esta realizando es suficiente. Schedules > Aqu es donde indicaremos la programacin del Job > New Schedule, en la ventana que se abre indicamos el nombre, y en el botn Change > indicamos los das (que en este caso) seria de Lunes a Viernes, tildando todos estos das, a excepcin de Sbado y Domingo, indicamos la hora a la que deseamos que se active esta tarea, 12:00:00 a.m. Se indica como practica la hora 12am puesto que es muy seguro que a esa hora no debera haber nadie trabajando, a diferencia de horas mas tempranas donde personal de algn departamento se quede trabajando hasta algunas horas de la noche, ya que al momento de iniciarse el backup, el sistema que dependa de esta base de datos, se tornara lento y posiblemente tambin podra presentarse algn problema que cuelgue el sistema por lo que para evitar problemas al personal que se quede algo tarde y evitarnos problemas nosotros, indicamos una hora en la que el servidor no debera estar recibiendo peticiones de ninguna terminal (y que no sea un sistema administrativo que permita crear tareas programadas) o que alguien deje generando una consulta de informe excesivamente grande como para que se lleve horas de procesamiento a nivel de BD. La parte de notificaciones, no se indicara aun en estos pasos, pero queda sujeto a anexarse, ya que al momento de que se realice el respaldo de la BD y en particular, en caso de haber un problema que ocasiona que esto no se realice, el que nos mande un correo informndonos sobre ello.

Un respaldo de la BD, se realizara inicindolo muy parecido a lo indicado de crear el Backup. En SQL Server 2000 seria boton derecho en la BD a restaurar > Todas las tareas > Restore Database En SQL Server 2005 seleccionamos la BD, boton derecho > Tasks > Restore > Database En la ventana que se despliega, selecciona la opcin From device para buscar la ruta donde se encuentra el respaldo de la BD el cual es un archivo que no posea extensin o sea .bak. Tambin en la ventana indicar Database complete al menos en el caso en que el respaldo se haya hecho as, la base de datos completa, con todas sus transacciones, log, etc., pulsamos el botn Aceptar y debera iniciarse al Restore, el cual depender su demora (igual como lo fue con el Backup) del tamao de la BD.

2.4.4 Recuperar bases de datos


El modo de recuperacin de la base de datos es muy importante para entender de donde surge nuestro problema. Dependiendo de cmo hemos creado la base de datos hay varios modos de recuperacin de la base de datos en el SQL Server. Tenemos el modo completo, el de registro masivo y el sencillo. Si al crear la base de datos no especificamos nada el modo de recuperacin elegido es el completo. Para saber el modo en que lo tenemos configurado podemos mirar en el Administrador Corporativo en las propiedades de la base de datos, en la solapa Opciones. Ah podemos ver cual es el modo de recuperacin de la base de datos. Tambin podemos averiguar el modelo de recuperacin ejecutando el comando sp_helpdb NombreBaseDatos en el analizador de consultas. Si lo hacemos as en el panel de resultados hay una columna status donde se detalla, entre otra cosas, el modelo de recuperacin (Recovery = FULL). Tener modo de recuperacin completa significa que se puede recuperar la base de datos hasta el momento en el que se produzca un error o hasta un momento determinado del tiempo. Es el modo habitual en una base de datos de produccin. En este modo de recuperacin cada transaccin que se produzca en la base de datos (insercin, modificacin, borrado) queda registrada en el archivo de transacciones (el .log) de tal manera que se puede reconstruir todo lo ocurrido con la base de datos a lo largo del tiempo. Pero usar este modo implica que el fichero de transacciones crecer indefinidamente, llegando incluso a ser ms grande que la propia base de datos. La solucin a este crecimiento es sencilla: hacer copias de seguridad. Cuando hacemos una copia de seguridad del registro de transacciones los datos que pasan a la copia de seguridad se borran del disco dejando espacio libre. As con cada copia eliminaremos del disco la parte del archivo de log que ya no es necesaria dejando espacio libre para registrar las nuevas transacciones que se produzcan en nuestra base de datos.

Lo malo es que cuando esto ocurre se libera espacio dentro del archivo de log, pero no quiere decir que se reduzca el tamao en disco de este fichero. En este caso tendremos que reducir el tamao del archivo de log en una segunda fase.

2.5 Diseo y procesamiento de transacciones


El objetivo del diseo de las transacciones es definir y documentar las caractersticas de alto nivel de las transacciones que requiere el sistema. Esta tarea se debe llevar a cabo al principio del proceso de diseo para garantizar que el esquema lgico es capaz de soportar todas las transacciones necesarias. Las caractersticas que se deben recoger de cada transaccin son las siguientes:

Datos que utiliza la transaccin. Caractersticas funcionales de la transaccin. Salida de la transaccin. Importancia para los usuarios. Frecuencia de utilizacin.

Un sistema de procesamiento de transacciones (TPS por sus siglas en ingls) es un tipo de sistema de informacin. Un TPS recolecta, almacena, modifica y recupera toda la informacin generada por las transacciones producidas en una organizacin. Una transaccin es un evento que genera o modifica los datos que se encuentran eventualmente almacenados en un sistema de informacin. Desde un punto de vista tcnico, un TPS monitoriza los programas transaccionales (un tipo especial de programas). La base de un programa transaccional est en que gestiona los datos de forma que estos deben ser siempre consistentes (por ejemplo, si se realiza un pago con una tarjeta electrnica, la cantidad de dinero de la cuenta sobre la que realiza el cargo debe disminuir en la misma cantidad que la cuenta que recibe el pago, de no ser as, ninguna de las dos cuentas se modificar), si durante el transcurso de una transaccin ocurriese algn error, el TPS debe poder deshacer las operaciones realizadas hasta ese instante.

2.5.1 Definicin de transacciones en un lenguaje husped


El lenguaje SQL puede actuar como si fuera un lenguaje husped, es decir, que puede interactuar dentro de un lenguaje distinto como puede ser el cobol, el visual Basic, el C++, etc. Una transaccin es un conjunto de operaciones Transact SQL que se ejecutan como un nico bloque, es decir, si falla una operacin Transact SQL fallan todas. Si una transaccin tiene xito, todas las modificaciones de los datos realizadas durante la transaccin se confirman y se convierten en una parte permanente de la base de datos. Si una transaccin encuentra errores y debe cancelarse o revertirse, se borran todas las modificaciones de los datos. SQL Server funciona por defecto con Transacciones de confirmacin automtica, es decir, cada instruccin individual es una transaccin y se confirma automticamente.

2.5.2 Ejecucin de transacciones planas en el gestor de bases de datos


Transacciones planas Consisten en una secuencia de operaciones primitivas encerradas entre las palabras clave BEGIN y END. Por ejemplo: BEGIN _TRANSACTION Reservacin .... END.

2.5.3 Ejecucin de transacciones anidadas


Consiste en tener transacciones que dependen de otras, estas transacciones estn incluidas dentro de otras de un nivel superior y se las conoce como subtransacciones. La transaccin de nivel superior puede producir hijos (subtransacciones) que hagan ms fcil la programacin del sistema y mejoras del desempeo. Existen restricciones obvias en una transaccin anidada: debe empezar despus que su padre y debe terminar antes que l. Ms an, el commit de una subtransaccin es condicional al commit de su padre, en otras palabras, si el padre de una o varias transacciones aborta, las subtransacciones hijas tambin sern abortadas. Las transacciones anidadas proporcionan un nivel ms alto de concurrencia entre transacciones. Ya que una transaccin consiste de varias transacciones, es posible tener ms concurrencia dentro de una sola transaccin. As tambin, es posible recuperarse de fallas de manera independiente de cada subtransaccin. Esto limita el dao a un parte ms pequea de la transaccin, haciendo que costo de la recuperacin sea menor. La programacin con uso transacciones requiere de instrucciones especiales, las cuales deben ser proporcionadas por el sistema operativo, por el compilador del lenguaje o por el manejador de la base de datos. Algunos ejemplos son: Begin_Transaction End_Transaction Abort_Transaction Read Write

UNIDAD 3: Tecnologas de conectividad a bases de datos 3.1 ODBC


Open Database Connectivity (ODBC) es un estndar de acceso a bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicacin, sin importar qu Sistema Gestor de Bases de Datos (DBMS por sus siglas en ingls) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicacin y el DBMS, el propsito de esta capa es traducir las consultas de datos de la aplicacin en comandos que el DBMS entienda. Para que esto funcione tanto la aplicacin como el DBMS deben ser compatibles con ODBC, esto es que la aplicacin debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Para conectarse a la base de datos se crea una DSN dentro del ODBC que define los parmetros, ruta y caractersticas de la conexin segn los datos que solicite el fabricante.

3.1.1 Terminologa y conceptos


En terminologa ODBC, los conjuntos de registros dinmicos y las instantneas se denominan cursores. Un cursor es un mecanismo utilizado para mantener el seguimiento de su posicin en un conjunto de registros. En informtica, el ODBC (Open Database Connectivity) es un estndar de acceso a bases de datos, que permite mantener independencia entre los lenguajes de programacin, los sistemas de bases de datos (las bases de datos y su software gestor), y los sistemas operativos.

ODBC inserta una "capa" entre la aplicacin y el SGBD (sistema gestor de base de datos). Esta capa es llamada "manejador de base de datos". El objetivo de la capa es traducir las consultas a la base de datos (u otras acciones) por parte de la aplicacin a una consulta que el SGBD comprenda. Para que esto sea posible, tanto la aplicacin como el SGBD deben ser compatibles con ODBC.

3.1.2 Administrador de orgenes de datos ODBC


A un origen de datos ODBC (origen de datos ODBC: datos e informacin necesaria para tener acceso a esos datos desde programas y bases de datos que admitan el protocolo ODBC (conectividad abierta de bases de datos).), por ejemplo, una base de datos y el servidor donde reside, se tiene acceso a travs de un controlador de Conectividad abierta de base de datos (ODBC (Conectividad abierta de bases de datos): mtodo estndar para compartir datos entre bases de datos y programas. Los controladores ODBC utilizan SQL (Lenguaje de consulta estructurado) para obtener acceso a datos externos.) (ODBC). Un origen de datos est formado por la procedencia de los datos y la informacin de conexin necesaria para tener acceso a los mismos. Ejemplos de orgenes de datos son Microsoft Access, Microsoft SQL Server, Oracle RDBMS, una hoja de clculo y un archivo de texto. Ejemplos de informacin de conexin son la ubicacin del servidor, el nombre de la base de datos, el Id. de inicio de sesin, la contrasea y diversas opciones de controlador ODBC que describen cmo conectarse al origen de datos. En la arquitectura ODBC, una aplicacin (como Access o un programa de Microsoft Visual Basic) se conecta al Administrador de controladores ODBC que, a su vez, utiliza un controlador ODBC especfico (por ejemplo, el controlador ODBC de Microsoft SQL) para conectarse a un origen de datos (en este caso, una base de datos de Microsoft SQL Server (base de datos SQL: base de datos basada en el lenguaje SQL, lenguaje de consulta estructurado.)). En Access, los orgenes de datos ODBC se utilizan para conectarse a orgenes de datos externos a Access que no tienen controladores integrados. Para conectarse a estos orgenes de datos, siga el procedimiento que se indica a continuacin:

Instale el controlador ODBC apropiado en el equipo que contenga el origen de datos.

Defina un nombre de origen de datos (DSN) utilizando el Administrador de orgenes de datos ODBC para almacenar la informacin de conexin en el Registro de Microsoft Windows o en un archivo DSN, o bien una cadena de conexin en cdigo de Visual Basic para pasar la informacin de conexin directamente al Administrador de controladores ODBC.

3.1.3 Instalacin y configuracin del driver acorde al gestor de base de datos


Instalar este driver sirve para que desde un sistema Microsoft Windows se pueda acceder a una base de datos MySQL. Las aplicaciones son variadas, por ejemplo podemos utilizarlo para crear un DSN asociado a una base de datos MySQL, de modo que nuestras pginas ASP podran acceder a dicha base de datos. Para comenzar con la instalacin primeramente se ejecuta el archivo descargado:

Aparece la pantalla de inicio del instalador. Seleccionar "Next" para continuar:

Seleccionar el tipo de instalacin "Typical" y presionar "Next":

Presionar el boton "Install":

As comienza el proceso de instalacin:

En la siguiente pantalla presionar "Finish":

Una vez se ha instalado el driver ODBC, accede al panel de control de OBDC de 32 Bits (Botn Inicio-> Configuracin-> Panel de control-> Fuentes de datos ODBC 32 bits). En este punto, se tiene que elegir si se quiere utilizar el driver para un solo usuario (DSN de usuario), o para cualquier usuario del ordenador (DSN de Sistema).

Una vez hayas elegido uno, haz clic en el botn de "Agregar" para aadir una nueva fuente de datos y a continuacin, selecciona el driver de Mysql en la siguiente pantalla:

Aparecer la siguiente pantalla:

En ella se tiene que rellenar los siguientes campos: Data Source Name Nombre de la fuente de datos que estar disponible desde Windows. Server Nombre o direccin IP del ordenador donde se encuentra instalado el servidor Mysql. Port Sirve para especificar el puerto en el que se encuentra el servidor Mysql, hay que poner un valor en caso de que no se est utilizando el predeterminado, que es el 3306. User Nombre de usuario con el que se acceder al servidor de bases de datos. Password Contrasea del usuario. Database Nombre de la base de datos. Una vez estn estas opciones configuradas, se puede hacer clic en "OK" para cerrar las ventanas.

3.2 ADO.NET
El ADO.NET es un conjunto de componentes del software que pueden ser usados por los programadores para acceder a datos y a servicios de datos. Es una parte de la biblioteca de clases base que estn incluidas en el Microsoft .NET Framework. Es comnmente usado por los programadores para acceder y para modificar los datos almacenados en un Sistema Gestor de Bases de Datos Relacionales, aunque tambin puede ser usado para acceder a datos en fuentes no relacionales. ADO.NET es a veces considerado como una evolucin de la tecnologa ActiveX Data Objects (ADO), pero fue cambiado tan extensivamente que puede ser concebido como un producto enteramente nuevo. ADO.NET consiste en dos partes primarias: Data provider Estas clases proporcionan el acceso a una fuente de datos, como Microsoft SQL Server y Oracle. Cada fuente de datos tiene su propio conjunto de objetos del proveedor, pero cada uno tiene un conjunto comn de clases de utilidad:

Connection: Proporciona una conexin usada para comunicarse con la fuente de datos. Tambin acta como Abstract Factory para los objetos command.

Command: Usado para realizar alguna accin en la fuente de datos, como lectura, actualizacin, o borrado de datos relacionales.

Parameter: Describe un simple parmetro para un command. Un ejemplo comn es un parmetro para ser usado en un procedimiento almacenado.

Data Adapter: "Puente" utilizado para transferir data entre una fuente de datos y un objeto DataSet (ver abajo).

DataReader: Es una clase usada para procesar eficientemente una lista grande de resultados, un registro a la vez.

DataSets Los objetos DataSets, un grupo de clases que describen una simple base de datos relacional en memoria, fueron la estrella del show en el lanzamiento inicial (1.0) del Microsoft .NET Framework. Un DataSet es llenado desde una base de datos por un DataAdapter cuyas propiedades Connection y Command que han sido iniciados. Sin embargo, un DataSet puede guardar su contenido a XML (opcionalmente con un esquema XSD), o llenarse a s mismo desde un XML, haciendo esto excepcionalmente til para los servicios web, computacin distribuida, y aplicaciones ocasionalmente conectadas.

3.2.1 Terminologa y conceptos


Servicios de datos de ADO.NET Datos implementados y accesibles mediante protocolos Internet. Las aplicaciones manipulan los datos utilizando los URI para identificar los recursos de datos y servicios. Formatos de carga til sencillos, como XML y JSON, representan los datos intercambiados entre el cliente y el servidor. Recursos de servicios de datos de ADO.NET Trmino general que hace referencia a cualquiera de los tipos de recursos de servicios de datos de ADO.NET especficos, como conjunto de entidades, tipo de entidad, propiedad, asociacin, etc. Lenguaje de definicin de esquemas conceptuales (CSDL) Lenguaje basado en XML que se utiliza para definir tipos de entidades, asociaciones, contenedores de entidades, conjuntos de entidades y conjuntos de asociaciones de un modelo conceptual. Entity Data Model (EDM) Especificacin para definir los datos utilizados por aplicaciones incorporadas en Entity Framework. http: El Protocolo de transferencia de hipertexto (HTTP) es un protocolo en el nivel de aplicacin para sistemas de informacin distribuidos, de colaboracin e hipermedia. Es un protocolo genrico sin estado, que se puede utilizar para muchas tareas adems de su uso para hipertexto, como servidores de nombres y sistemas de administracin de objetos distribuida.

Cadena de consulta La cadena de consulta es el componente de un URI que contiene datos no jerrquicos que, junto con los datos del componente de ruta de acceso, sirve para identificar un recurso dentro del mbito del esquema de URI y autoridad de nomenclatura, si lo hay. Opciones de consulta, opciones de consulta del sistema Las opciones de consulta son pares de nombre y valor dentro de una cadena de consulta. REST Transferencia de datos de representacin (REST, Representational State Transfer). Arquitectura de software de sistemas hipermedia distribuidos como la World Wide Web. REST hace referencia estrictamente a una coleccin de principios de arquitectura de red que explican cmo se definen y solucionan los recursos. Espacio de nombres Todos los tipos de entidad y tipos complejos de los servicios de datos de ADO.NET estn contenidos en un espacio de nombres. En trminos de EDM, un espacio de nombres es equivalente al espacio de nombres de esquema. Contenedor de entidades Todos los conjuntos de entidades se definen en el mbito de un contenedor de entidades. El contenedor de entidades contiene la descripcin de conjuntos de entidades que pueden utilizar tipos definidos en uno o varios espacios de nombres. Conjunto de entidades Grupo lgico de tipos de entidad. En trminos de EDM, un conjunto de entidades es equivalente al tipo de esquema EntitySet.

Tipo de entidad Una entidad es una instancia de un tipo de entidad. Una entidad tiene una identidad nica, existencia independiente y forma la unidad operativa de coherencia. De forma intuitiva, los tipos de entidad modelan los conceptos de nivel superior, como Customers, Orders o Suppliers de un modelo empresarial. Clave de entidad Un tipo de entidad contiene una clave de entidad que consta de una o varias propiedades del tipo de entidad. Cualquier conjunto de propiedades SimpleType que no acepten valores NULL e inmutables pueden servir de clave. La clave de entidad debe identificar de forma nica una instancia de tipo de entidad en un conjunto de entidades. En trminos de EDM, una clave de entidad es equivalente a la definicin de una clave de un EntityType. Propiedad Las propiedades describen un aspecto de EntityType o ComplexType asocindolo un nombre y tipo nicos. En trminos de EDM, una propiedad es equivalente a una propiedad en EntityType. Tipo complejo Un tipo complejo representa un conjunto de informacin relacionada en un elemento de propiedad nico. Igual que un tipo de entidad, un tipo complejo contiene una o ms propiedades de una primitiva o tipo complejo; a diferencia de los tipos de entidad, los tipos complejos no estn asociados a una clave. Propiedad de navegacin Las propiedades de navegacin son las rutas de navegacin en las entidades que describen los fines de una relacin. Las propiedades estndar describen un valor asociado a una entidad, pero las propiedades de navegacin describen una relacin.

Vnculo Un vnculo es una asociacin unidireccional de un objeto de origen a un objeto de destino. Los punteros alternativos se tratan como vnculos independientes, que invierten las funciones del origen y destino. Identificador URI Identificador de recursos uniforme (URI). Secuencia compacta de caracteres que identifica un recurso abstracto o fsico.

3.2.2 Componentes disponibles


Existen dos componentes de ADO.NET que se pueden utilizar para obtener acceso a datos y manipularlos: Proveedores de datos de .NET Framework Los provedores de datos de Net Framework son componentes diseados explcitamente para la manipulacin de datos y el acceso rpido a datos de slo lectura y slo avance. El objeto Connection proporciona conectividad a un origen de datos. El objeto Command permite tener acceso a comandos de base de datos para devolver datos, modificar datos, ejecutar procedimientos almacenados y enviar o recuperar informacin sobre parmetros. El objeto DataReader proporciona una secuencia de datos de alto rendimiento desde el origen de datos. Por ltimo, el objeto DataAdapter proporciona el puente entre el objeto DataSet y el origen de datos. El DataAdapter utiliza objetos Command para ejecutar comandos SQL en el origen de datos tanto para cargar el DataSet con datos como para reconciliar en el origen de datos los cambios aplicados a los datos incluidos en el DataSet. DataSet El DataSet de ADO.NET est expresamente diseado para el acceso a datos independientemente del origen de datos. Como resultado, se puede utilizar con mltiples y distintos orgenes de datos, con datos XML o para administrar datos locales de la aplicacin. El DataSet contiene una coleccin de uno o ms objetos Data Table formados por filas y columnas de datos, as como informacin sobre claves principales, claves externas, restricciones y relaciones relativa a los datos incluidos en los objetos DataTable.

3.2.2.1 Connection
El objeto Connection establece una conexin a un origen de datos. La conexin a SQl Server la realizaremos con el objeto SqlConnection del espacio de nombre System.Data.SqlClient. .NET framework proporciona varios objetos Connection, uno para cada tipo de espacio de nombres. De este modo para OleDb existe un objeto OleDbConnection del espacio de nombre System.Data.OleDb y para ODBC existe un ObdcConnection del espacio de nombres System.Data.Odbc si utilizamos la versin 1.10. Ejemplo de conexin (el ejemplo esta realizado en c#): SqlConnection SqlConn = new SqlConnection("server=localhost;uid=sa;pwd=;database=PUBS"); SqlConn.Open();

Using System.Data.OleDb; OleDbConnection OledbConn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;UID=sa;PWD=;Initial Catalog=pubs"); OledbConn.Open();

Using System.Data.Odbc; OdbcConnection OdbcConn = new OdbcConnection("DSN=Pubs;UID=sa;PWD=;"); OdbcConn.Open();

Una vez terminada la conexin es recomendable cerrar las conexiones con el mtodo Close: SqlConn.Close(); // OledbConn.Close(); // OdbcConn.Close();

3.2.2.2 Command
El objeto Command ejecuta un comando en un origen de datos. El siguiente objeto que utilizaremos una vez realizada la conexin es el objeto SqlCommand que igual que pasaba con el objeto connection .NET framework proporciona varios objetos Command dependiendo del proveedor. El objeto Command tiene varios mtodos Execute para ejecutar comandos a un origen de datos: ExecuteReader: ejecuta comandos que devuelven filas. ExecuteNonQuery: ejecuta comandos como instrucciones INSERT, DELETE, UPDATE y SET de Transact-SQL, que no requieren devolver filas de datos. ExecuteScalar: recuperar un nico valor de una base de datos.

3.2.2.3 Recordsource
Puede utilizar la propiedad Origen del registro (RecordSource) para especificar el origen de los datos de un formulario o un informe. El valor de la propiedad Origen del registro puede ser un nombre de tabla, un nombre de consulta o una instruccin SQL. Si se modifica el origen del registro de un formulario o un informe abiertos, se vuelve a consultar automticamente los datos subyacentes. Si se establece la propiedad Recordset de un formulario en tiempo de ejecucin, se actualiza la propiedad Origen del registro (RecordSource) del formulario. Despus de haber creado un formulario o un informe, puede cambiar su origen de datos cambiando la propiedad Origen del registro (RecordSource). Origen del registro (RecordSource) tambin es til si desea crear un formulario o informe reutilizable. Por ejemplo, podra crear un formulario que incluyera un diseo estndar, copiar el formulario y cambiar la propiedad Origen del registro (RecordSource) para mostrar los datos de otra tabla, consulta o instruccin SQL.

3.2.2.4 Error
Indica las caractersticas de los errores que pudieran suceder al ejecutar mtodos de los objetos de ADO. FillError Cuando se produce un error durante una operacin Fill, el objeto DataAdapter provoca el evento FillError.Este tipo de error suele producirse si al convertir los datos de la fila que se agrega a un tipo de .NET Framework se produce una prdida de precisin. Si el error se produce durante una operacin Fill, la fila actual no se agrega al objeto DataTable. El evento FillError permite resolver el error y agregar la fila o bien pasar por alto la fila excluida y continuar con la operacin Fill. El objeto FillErrorEventArgs que se pasa al evento FillError puede contener varias propiedades que permiten reaccionar en caso de errores y resolverlos. En la tabla siguiente se muestran las propiedades del objeto FillErrorEventArgs.

3.2.3 Prototipo de aplicaciones con conectividad a bases de datos


ODBC (Open Data Base Connectivity) Esta tecnologa proporciona una interfaz comn para tener acceso a bases de datos SQL heterogneas. ODBC est basado en SQL (Structured Query Language) como un estndar para tener acceso a datos. ODBC permite la conexin fcil desde varios lenguajes de programacin y se utiliza mucho en el entorno Windows. Sobre ODBD Microsoft ha construido sus extensiones OLE DB y ADO. Los OCBD se pueden clasificar en 3 categoras:

Los ODBC's que permitan la realizacin de consultas y actualizaciones. Los ODBC's que mediante ellos se pueda llegar a la creacin de tablas en la base de datos.

Los ODBC's propios de los DBMS, los cuales se pueden llegar a manipular ciertas herramientas de administracin.

JDBC (Java Data Base Connectivity) Se trata del estndar para la conectividad entre el lenguaje Java y un amplio rango de sistemas gestores de bases de datos. Los JDBC pueden desenvolverse tanto en un nivel cliente, esto es, trabajando del lado de la aplicacin, o en el servidor directamente relacionado con la base de datos. Cuando se encuentre a nivel cliente, trabajar con la tecnologa ODBC para acceso a los datos. Hay diversos tipos de controladores JDBC:

El puente JDBC-OBDC: fue uno de los primeros controladores disponibles, implementa un enlace para utilizar un controlador ODBC desde Java. Con el tiempo han surgido controladores JDBC especficos para cada base de datos que mejoran el rendimiento del puente JDBC-ODBC.

Controladores Java parcialmente nativos: usan tanto cdigo Java como binario especfico de cada plataforma.

Controladores JDBC-Net de Java puro: son controladores escritos completamente en Java que entienden un protocolo de red estndar (HTTP, etc.) y permiten comunicarse con un servidor de acceso a bases de datos, que es el que finalmente provee el acceso al SGBD especfico (posiblemente con ODBC).

Controladores de protocolo nativo en Java puro: escritos en Java puro, utilizan el protocolo especfico de la marca del SGBD.

SQL LINKS Se trata de controladores que se encargan de realizar la comunicacin remota entre la aplicacin y los servidores remotos de bases de datos, permitiendo una comunicacin casi directa y muy rpida. Los ha desarrollado la empresa Inprise y permiten conexiones con otros servidores de bases de datos como Interase, Oracle, Sybase, Informix, Microsoft SQL Server, etc. ADO Existen varios niveles o interfaces para lograr la comunicacin o acceso a la base de datos a travs de la aplicacin. El siguiente esquema muestra 2 de los principales niveles, dentro de los cuales se encuentra ADO.

3.3 JDBC
La conectividad de la base de datos de Java (JDBC, Java Database Connectivity) es un marco de programacin para los desarrolladores de Java que escriben los programas que tienen acceso a la informacin guardada en bases de datos, hojas de clculo, y archivos "planos". JDBC se utiliza comnmente para conectar un programa del usuario con una base de datos por detrs de la escena, sin importar qu software de administracin o manejo de base de datos se utilice para controlarlo. De esta manera, JDBC es una plataforma-cruzada. Se considera el primer producto estndar de Java con DBMS, creado y ofrecido por primera vez en marzo de 1996. Crea una interfaz con un nivel de programacin que le permite comunicarse con las bases de datos mediante un concepto similar al de componentes ODBC, el cual se ha convertido en el estndar que se utiliza en computadoras personales o en redes locales. El estndar de JDBC est basado en un nivel de interfaz con instrucciones SQL X/Open, que es bsicamente lo mismo que en ODBC. Las clases de objetos para iniciar la transaccin con la base de datos, estn escritas completamente en Java, lo cual permite mantener la seguridad, robustez y portabilidad de este ambiente. El puente JDBC-ODBC manipula la traduccin de llamadas JDBC a aquellas que puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C.

3.3.1 Terminologa y conceptos


Esta es alguna de la Terminologa utilizada en Java, lo cual demuestra el amplio alcance que tiene este lenguaje. Applet Un applet es un programa que genera una ventana adicional dentro de su "Netscape Navigator" o "Internet Explorer" , esta ventana puede componerse de mens,sonido o imgenes. Otro terminologa que casi siempre va en conjuncin con un Applet es: AWT (Abstract Window Toolkit) y "SWING", ambas son API's ("Programming Interface") utilizados para formar Applets. Java APIs Forman la base para programar en el lenguaje Java, estas clases se encuentran divididas por paquetes ("packages") que serian el Anlogo de "Libreras en C". AWT ("Abstract Windows Toolkit") mencionado anteriormente es uno de los paquetes del API Java Java Beans Esta arquitectura permite una manera de re-utilizar componentes de software que pueden ser manipulados en herramientas de desarrollo ("Builder Tools"). Estos "Beans" pueden ser tan sencillos como un botn,o complejos como el acceso a una base de datos; una caracterstica primordial de un JavaBean son los mtodos (funciones) get|set JFC "Java Foundation Classes" Forman parte del API Java , y son un juego de componentes para generar una interfase grfica (GUI) y otros servicios que simplifican el desarrollo de aplicaciones en el Cliente para Intranets e Internet.

JNI "Java Native Interface" Esto permite que cdigo escrito en Java sea capaz de interactuar con aplicaciones escritas en C, C++. JSP "Java Server Pages" Este es un tipo de programa Java que contiene HTML, para ejecutar un JSP se requiere de un Servlet engine como :Tomcat o bien un java application server como Websphere de IBM que son capaces de ejecutar un "Java Server Pages". JVM ("Java Virtual Machine") Este componente de Java es el ingrediente principal del logo "Write Once, Run Everywhere", cada plataforma o Sistema Operativo (Oracle,Windows,Linux,etc) debe desarrollar un "Virtual Machine", esto otorga un nivel de abstraccin entre los programas escritos en Java y las diferentes plataformas, lo cual garantiza que toda aplicacin escrita en Java logre ser ejecutada en todo tipo de Plataforma que soporte un "Java Virtual Machine". JDK o SDK JDK es el ambiente en el cual es posible desarrollar cualquier aplicacin Java. Este ambiente o paquete incluye: El API de Java, el compilador de Java, as como el JVM "Java Virtual Machine" de la plataforma correspondiente. Servlet Un servlet generalmente es utilizado para procesar formas (requisiciones de usuarios),verificar ("authenticate") usuarios, generar contenido dinmico; es muy similar a un JSP, inclusive un JSP se convierte eventualmente en un Servlet, la diferencia es que un Servlet solo contiene lenguaje Java desde el inicio, mientras que un JSP contiene Java y HTML.

3.3.2 SQL Y JDBC


SQL Las aplicaciones en red son cada da ms numerosas y verstiles. En muchos casos, el esquema bsico de operacin es una serie de scripts que rigen el comportamiento de una base de datos. Debido a la diversidad de lenguajes y de bases de datos existentes, la manera de comunicar entre unos y otras sera realmente complicada a gestionar de no ser por la existencia de estndares que nos permiten el realizar las operaciones bsicas de una forma universal. Es de eso de lo que trata el Structured Query Language que no es ms que un lenguaje estndar de comunicacin con bases de datos. Hablamos por tanto de un lenguaje normalizado que nos permite trabajar con cualquier tipo de lenguaje (ASP o PHP) en combinacin con cualquier tipo de base de datos (MS Access, SQL Server, MySQL). El hecho de que sea estndar no quiere decir que sea idntico para cada base de datos. En efecto, determinadas bases de datos implementan funciones especficas que no tienen necesariamente que funcionar en otras. Aparte de esta universalidad, el SQL posee otras dos caractersticas muy apreciadas. Por una parte, presenta una potencia y versatilidad notables que contrasta, por otra, con su accesibilidad de aprendizaje. JDBC Java Database Connectivity, ms conocida por sus siglas JDBC, es una API que permite la ejecucin de operaciones sobre bases de datos desde el lenguaje de programacin java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice.

El API JDBC se presenta como una coleccin de interfaces java y mtodos de gestin de manejadores de conexin hacia cada modelo especfico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan las interfaces java y que utilizan los mtodos de registro para declarar los tipos de localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la biblioteca de conexin apropiada al modelo de su base de datos, y accede a ella estableciendo una conexin, para ello provee el localizador a la base de datos y los parmetros de conexin especficos. A partir de all puede realizar con cualquier tipo de tareas con la base de datos a las que tenga permiso: consulta, actualizacin, creacin, modificacin y borrado de tablas, ejecucin de procedimientos almacenados en la base de datos, etc.

3.3.2.1 Jerarqua de clases java.sql.*.


JDBC ofrece el paquete java.sql, en el que existen clases muy tiles para trabajar con bases de datos. DriverManager: para cargar un driver. Connection: Para establecer conexiones con las bases de datos. Statement: Para crear consultas SQL y enviarlas a las BBDD. ResultSet: Para almacenar el resultado de la consulta.

3.3.2.2 Interface java.sql connection


Para realizar una conexin con alguna base de datos debemos de importar el paquete Java.sql.*. Este paquete contiene clases e interfaces diseadas teniendo en mente la arquitectura tradicional cliente-servidor. Su funcionalidad se centra primordialmente en servicios de programacin bsicos de bases de datos, como creacin de conexiones, ejecucin de instrucciones e instrucciones preparadas. El Java.sql.connection representa una conexin con una base de datos.

3.3.2.3 Interface java.sql statement


El objeto Statement se crea a partir del anterior y nos permite ejecutar SQL para hacer consultas o modificaciones en la base de datos. El objeto Connection permite establecer una conexin a una base de datos. Para ejecutar instrucciones SQL y procesar los resultados de las mismas, se debe hacer uso de un objeto Statement.

Los objetos Statement envan comandos SQL a la base de datos, y pueden ser de cualquiera de los tipos siguientes:

Un comando de definicin de datos como CREATE TABLE o CREATE INDEX. Un comando de manipulacin de datos como INSERT, DELETE o UPDATE. Un sentencia SELECT para consulta de datos.

Un comando de manipulacin de datos devuelve un contador con el nmero de filas (registros) afectados, o modificados, mientras una instruccin SELECT devuelve un conjunto de registros denominado conjunto de resultados (result set). La interfaz Statement no tiene un constructor, sin embargo, podemos obtener un objeto Statement al invocar el mtodo createStatement() de un objeto Connection. conn = DriverManager.getConnection(url,login,pasword); Statement stmt = conn.createStatement(); Una vez creado el objeto Statement, se puede emplear para enviar consultas a la base de datos usando los mtodos execute(), executeUpdate() o executeQuery().

3.3.2.4 Interface java.sql resultset


Mediante el objeto Statement podemos ejecutar sentencias SQL para modificar la base de datos y hacer consultas, por lo que podemos usar el lenguaje SQL para hacer cualquier operacin en la base de datos; pero adems tenemos mtodos especializados que nos permiten hacer estas mismas tareas sin usar el lenguaje SQL. Para ello se usan los mtodos especializados del objeto ResultSet. Por tanto si deseamos modificar la base de datos a travs de Java, sin utilizar SQL, lo primero que deberemos hacer es realizar una consulta SQL para obtener el objeto ResultSet. Ahora slo nos queda usar los mtodos especializados de este objeto. Por ejemplo podemos usar deleteRow() para borrar una fila. Para actualizar una fila se usan los mtodos update(NombreColumna, valor) o update(NumeroColumna, valor), as podemos encontrar updateFloat, updateString, Para que los cambios se reflejen en la base de datos se debe de llamar al mtodo updateRow() o cancelRowUpdates() si queremos cancelar la actualizacin.

3.3.2.5 Jerarqua de clases javax.sql.*


Los paquetes java.sql y javax.sql definen la API de JDBC. Java.transaction.* Estos paquetes definen la API Java Transaction API (JJTA). Javax.xml.* Estos paquetes definen la API JAXP. Javax.jms.* Estos paquetes definen la API JMS. Javax.persistence.* Este paquete provee las clases e interfaces para gestionara la interaccin entre los proveedores de persistencia, las clases administradas y los clientes de la Java Persistence API. JTA (del ingls Java Transaction API - API para transacciones en Java) es parte de Java EE APIs, JTA establece una serie de interfaces java entre el manejador de transacciones y las partes involucradas en el sistema de transacciones distribuidas: el servidor de aplicaciones, el manejador de recursos y las aplicaciones transaccionales, JTA fue desarrollado por SUN. JAXP es el acrnimo de Java Api for XML Processing. API Java (definido por Sun Microsystems) sirve para la manipulacin y el tratamiento de archivos XML. La API Java Message Service (en espaol servicio de mensajes Java), tambin conocida por sus siglas JMS, es la solucin creada por Sun Microsystems para el uso de colas de mensajes. Este es un estndar de mensajera que permite a los componentes de

aplicaciones basados en la plataforma Java2 crear, enviar, recibir y leer mensajes. Tambin hace posible la comunicacin confiable de manera sncrona y asncrona. Java Persistence API, ms conocida por su sigla JPA, es la API de persistencia desarrollada para la plataforma Java EE e incluida en el estndar EJB3. Esta API busca unificar la manera en que funcionan las utilidades que proveen un mapeo objeto-relacional. El objetivo que persigue el diseo de esta API es no perder las ventajas de la orientacin a objetos al interactuar con una base de datos, como s pasaba con EJB2, y permitir usar objetos regulares (conocidos como POJOs).

3.3.3 Instalacin y configuracin del driver acorde al gestor de base de datos


La conexin con la base de datos est manejada por la clase Driver JDBC. El SDK de Java contiene slo un driver JDBC, un puente jdbc-odbc que comunica con un driver "Open DataBase Conectivity" (ODBC) existente. Otras bases de datos necesitan un driver JDBC especfico para esa base de datos. Para obtener un idea general de lo que hacer un driver JDBC, podemos examinar el fichero JDCConnectionDriver.java. La clase JDCConnectionDriver implementa la clase

java.sql.Driver y acta como un driver "pass-through" re-enviando peticiones JDBC al driver JDBC real de la base de datos. La clase driver JDBC se carga con un llamada a Class.forName(drivername). Estas lneas de cdigo muestran cmo cargar tres clases diferentes de drivers JDBC: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("postgresql.Driver"); Class.forName("oracle.jdbc.driver.OracleDriver"); Cada driver JDBC est configurado para entender una URL especfica, por eso se pueden cargar varios drivers JDBC a la vez. Cuando especificamos una URL en el momento de la conexin, se selecciona el primer driver JDBC que corresponda. El puente jdbc-odbc acepta URLS que empiecen con jdbc:odbc: y usa el siguiente campo de esa URL para especificar el nombre de la fuente de los datos. Este nombre identifica el esquema de la base de datos particular a la que queremos acceder. La URL tambin puede incluir ms detalles sobre cmo contactar con la base de datos e introducir la cuenta. //access the ejbdemo tables String url = "jdbc:odbc:ejbdemo";

3.3.4 Prototipo de aplicaciones con conectividad a bases de datos


El API JDBC soporta dos modelos diferentes de acceso a Bases de Datos, los modelos de dos y tres capas. Modelo de dos capas Este modelo se basa en que la conexin entre la aplicacin Java o el applet que se ejecuta en el navegador, se conectan directamente a la base de datos. Esto significa que el driver JDBC especfico para conectarse con la base de datos, debe residir en el sistema local. La base de datos puede estar en cualquier otra mquina y se accede a ella mediante la red. Esta es la configuracin de tpica Cliente/Servidor: el programa cliente enva instrucciones SQL a la base de datos, sta las procesa y enva los resultados de vuelta a la aplicacin. Modelo de tres capas En este modelo de acceso a las bases de datos, las instrucciones son enviadas a una capa intermedia entre Cliente y Servidor, que es la que se encarga de enviar las sentencias SQL a la base de datos y recoger el resultado desde la base de datos. En este caso el usuario no tiene contacto directo, ni a travs de la red, con la mquina donde reside la base de datos. Este modelo presenta la ventaja de que el nivel intermedio mantiene en todo momento el control del tipo de operaciones que se realizan contra la base de datos, y adems, est la ventaja adicional de que los drivers JDBC no tienen que residir en la mquina cliente, lo cual libera al usuario de la instalacin de cualquier tipo de driver.

Anda mungkin juga menyukai