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.
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.
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.
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.
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 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.
Al finalizar el proceso de configuracin la pantalla deber indicar que los pasos se ejecutaron correctamente. Presione Finish para finalizar el proceso.
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.
Texto (caracteres), Numrico (nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc., imgenes.
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);
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).
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.
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.
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:
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.
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
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.
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.
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.
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.
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.
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:
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.
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.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();
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.
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.
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.
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.
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().
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).
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";