13.08.2013 Views

MOLDELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos

MOLDELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos

MOLDELOS AVANZADOS DE BASES DE DATOS - Grupo Alarcos

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>MOL<strong>DE</strong>LOS</strong><br />

<strong>AVANZADOS</strong> <strong>DE</strong><br />

<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong><br />

FUNCIONALIDAD 3:<br />

<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> Y WEB<br />

<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> MULTIMEDIA<br />

CURSO 5ºA<br />

Raúl Arias García<br />

Emilio Fernández Viñas<br />

Noelia M. Sánchez Serrano<br />

11-03-2009


ÍNDICE<br />

<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> Y WEB ...................................................................................................................... 2<br />

ORIGEN ............................................................................................................................................ 2<br />

INTEGRACIÓN WEB-BBDD ............................................................................................................... 2<br />

TIPOS <strong>DE</strong> <strong>DATOS</strong>: SEMIESTRUCTURADOS ....................................................................................... 4<br />

Tratamiento de los datos semiestructurados ............................................................................. 4<br />

TECNOLOGÍAS ................................................................................................................................. 7<br />

APLICACIONES COMERCIALES ......................................................................................................... 8<br />

VENTAJAS Y <strong>DE</strong>SVENTAJAS .............................................................................................................. 8<br />

<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> MULTIMEDIA ......................................................................................................... 10<br />

<strong>DE</strong>FINICIÓN.................................................................................................................................... 10<br />

ORIGEN .......................................................................................................................................... 10<br />

INTEGRACIÓN MULTIMEDIA-BBDD ............................................................................................... 10<br />

CARACTERÍSTICAS .......................................................................................................................... 11<br />

TIPOS <strong>DE</strong> <strong>DATOS</strong>: BLOBs ................................................................................................................ 11<br />

APLICACIONES COMERCIALES ....................................................................................................... 13<br />

MMDBMS ...................................................................................................................................... 15<br />

COMPARATIVA .................................................................................................................................. 16<br />

BIBLIOGRAFÍA .................................................................................................................................... 18<br />

1


<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> Y WEB<br />

ORIGEN<br />

A partir de finales de los 90, con la aparición de la WWW ”World Wide Web” se aumentó<br />

exponencialmente el volumen de los datos, haciéndose necesario el manejo de dichos datos de<br />

una forma especial. De ahí, que se hiciera necesario la creación de las bases de datos web.<br />

Al principio, las bases de datos sólo podían utilizarse al interior de las instituciones o en<br />

redes locales, pero actualmente la Web permite acceder a bases de datos desde cualquier parte<br />

del mundo, facilitando la consulta de las bases de datos. Una de las ventajas es el servicio de siete<br />

días a la semana las veinticuatro horas del día, sin interrupciones a menos que haya<br />

planificaciones de mantenimiento de las plataformas o el software.<br />

INTEGRACIÓN WEB-BBDD<br />

Es necesario integrar la web con bases de datos, para conseguir esta integración<br />

necesitamos una extensión (que se conoce como middleware web a bases de datos) que nos<br />

permite la comunicación entre el servidor web y la base de datos.<br />

El servidor web se puede comunicar con este middleware a través de dos interfaces:<br />

CGI (Common Gateway Interface)<br />

Interfaz de entrada común, es tecnología web que permite a un cliente (explorador web)<br />

solicitar datos de un programa ejecutado en un servidor web.<br />

CGI especifica un estándar para transferir datos entre el cliente y el programa. Es un<br />

mecanismo de comunicación entre el servidor web y una aplicación externa cuyo resultado final<br />

de la ejecución son objetos MIME (Multipurpose Internet Mail Extensions). En una aplicación<br />

CGI, el servidor web pasa las solicitudes del cliente a un programa externo. La salida de dicho<br />

programa es enviada al cliente en lugar del archivo estático tradicional.<br />

La principal ventaja de la programación CGI es su sencillez, pero como desventaja tiene<br />

que es poco eficiente ya que el Servidor Web tiene que cargar el programa CGI por lo que tiene<br />

que conectar y desconectar con la base de datos cada vez que se recibe una petición disminuye la<br />

eficiencia del servidor.<br />

2


API (Application Programming Interface)<br />

Es la interfaz propuesta por Microsoft como una alternativa más rápida que el CGI. Dicha<br />

Interfaz proporciona funciones que suelen permitir entre otras cosas el acceso a BBDD y la gestión<br />

de sesiones de usuario. Tiene la ventaja de que se ejecutan cómo parte del servidor, ganando con<br />

ello tiempo ya que no se tienen que ejecutar cada vez que se solicite una página, además permite<br />

conexiones compartidas.<br />

La mayor desventaja que presenta es que es dependiente del servidor que utilicemos,<br />

decrementando de ese modo la portabilidad del sistema.<br />

La integración de las bases de datos con la web debe reunir una serie de características las<br />

cuales no se deben cumplir forzosamente aunque resulta una guía práctica a la hora de la<br />

integración:<br />

• La capacidad de acceder a datos corporativos valiosos de forma segura.<br />

• Conectividad independiente de los datos y del fabricante, para que exista libertad de<br />

elección a la hora de seleccionar el SGBD tanto en la actualidad como en el futuro.<br />

• La capacidad de conectarse con la base de datos sin depender de ningún servidor o<br />

explorador web propietarios.<br />

• Una solución de conectividad que aproveche todas las características del SGBD de la<br />

organización.<br />

• Una arquitectura abierta que permita la interoperabilidad con diversos sistemas y<br />

tecnologías, incluyendo soporte por ejemplo:<br />

Diferentes servidores web.<br />

El modelo de objetos componentes distribuidos de Microsoft (DCOM/COM).<br />

CORBA/IIOP (internet inter-ORB protocol).<br />

Java/RMI (remote method invocation).<br />

XML.<br />

Servicios web (SOAP, WSDL y UDDI).<br />

• Una solución económica eficiente que proporcione escalabilidad, posibilidades de<br />

crecimiento y posibilidades de modificación en direcciones estratégicas y que ayude a<br />

reducir los costes de desarrollar y mantener las aplicaciones<br />

• Soporte para transacciones que abarquen múltiples solicitudes HTTP<br />

• Soporte para mecanismos de autenticación basados en sesión y en la aplicación<br />

• Un rendimiento aceptable<br />

• Un esfuerzo de administración mínimo<br />

• Un conjunto de herramientas de productividad de alto nivel que permita desarrollar,<br />

mantener e implantar las aplicaciones con relativa facilidad y velocidad<br />

3


TIPOS <strong>DE</strong> <strong>DATOS</strong>: SEMIESTRUCTURADOS<br />

Los datos semiestructurados son irregulares o incompletos. Tienen una estructura que<br />

puede cambiar de forma rápida o impredecible, por ello, a este tipo de datos no se les puede fijar<br />

un esquema fijo de antemano. La información asociada a dicho esquema normalmente está<br />

contenida dentro de los propios datos. La diferencia entre los SGBD semiestructurados con los<br />

relacionales o los orientados a objetos es que estos últimos deben seguir un esquema predefinido,<br />

como es el caso de los relacionales, cuyo esquema está orientado a tablas, o los orientados a<br />

objetos, que ofrecen la posibilidad de crear estructuras más ricas pero aun así los datos deben<br />

estar fijados a un esquema predefinido. Por eso que estos SGBD tienen problemas a la hora de<br />

manejar datos semiestructurados. A pesar de poder representarse de distintas maneras,<br />

actualmente la mejor manera de hacerlo es a través del lenguaje XML.<br />

Tratamiento de los datos semiestructurados<br />

Modelos de Intercambio de Objetos (OEM, Object Exchange Model)<br />

Es un modelo de objetos anidados que fue diseñado en principio para el proyecto TSIMMIS<br />

(The Standford-IBM Manager of Multiple Information Sources) para soportar la integración de<br />

datos de diferentes origines de datos.<br />

Los datos OEM son carentes de esquema y auto-descriptivos y puede considerarse como<br />

un grafo dirigido etiquetado, donde los nodos son objetos.<br />

Un objeto OEM está compuesto por un identificador único de objeto, por ejemplo “&3”,<br />

de una etiqueta textual descriptiva, “name”, un tipo, “string”, y un valor, “Ann Beech”. Estos<br />

objetos pueden ser atómicos o complejos: los atómicos son objetos que contienen un valor para el<br />

tipo base (entero, cadena de caracteres,…) y los objetos complejos, cuyo tipo es un conjunto de<br />

identificadores de objetos, pueden ser padres de múltiples objetos o hijos de múltiples padres.<br />

Estos objetos se pueden considerar como una cuádrupla (label,oid, type, value). Por ejemplo:<br />

{staff, &4, set, (&9,&10)} {name, &3, string, “Ann Beech”} {salary, &10, decimal, 12000}<br />

Lore (Lightweight Object Repository) y Lorel<br />

Lore es un SGBD para datos semiestructurados que utiliza el modelo OEM. Tiene un<br />

lenguaje de consulta propio, Lorel (lenguaje de consulta de Lore), que es una extensión del<br />

lenguaje OQL (Object Query Lenguaje) y cuyas características son:<br />

4


Answer<br />

Una sintaxis similar a SQL.<br />

Obtiene resultados significativos aún en ausencia de algunos datos.<br />

Opera uniformemente con datos de diferentes tipos.<br />

Devuelve información heterogénea.<br />

Resúmenes de datos que se generan y mantienen dinámicamente que permiten realizar<br />

consultas significativas y son utilizados por el procesador de consultas para aumentar la<br />

eficiencia de cada consulta.<br />

Ejemplo de consulta Lorel:<br />

SELECT s.Oversees<br />

FROM DreamHome.Staff s<br />

WHERE s.name = “Ann Beech”<br />

Su resultado es:<br />

PropertyForRent &5<br />

street &11 “2 Manor Rd”<br />

type &12 “Flat”<br />

monthlyRent &13 375<br />

OverseenBy &4<br />

PropertyForRent &6<br />

Street &14 “18 Dale Rd”<br />

type &15 1<br />

annualRent &16 7200<br />

OverseenBt &4<br />

XML (eXtensible Markup Lenguage):<br />

XML es un metalenguaje (es decir, un lenguaje para describir otros lenguajes) que permite<br />

a los diseñadores crear sus propias etiquetas personalizadas para proporcionar funcionalidad no<br />

disponible en HTML. En 1998 se ratificó formalmente la primera versión de XML como un estándar<br />

de intercambio de datos. Principalmente hay dos modelos de datos a la hora de trabajar con XML:<br />

el modelo centrado en los datos y el modelo centrado en los documentos.<br />

En un modelo centrado en los documentos, XML se utiliza como formato de<br />

almacenamiento e intercambio para datos que están estructurados. En este caso, los datos<br />

podrían almacenarse en un SGBD relacional, objeto-relacional u orientado a objetos. Para poder<br />

almacenar datos XML en SGBD tradicionales es necesario transformar las colecciones XML en<br />

esquemas compatibles con los SGBD tradicionales. Por ejemplo, XML ha sido completamente<br />

integrado en los sistemas Oracle9i, Oracle10g y Oracle11g a través de una extensión llamada<br />

Oracle XML DB. En el caso de las consultas SQL, en el estándar SQL: 2003 hay definidas una serie<br />

de extensiones a SQL que permiten la publicación de código XML, estas extensiones son SQL/XML.<br />

5


En un modelo centrado en los datos, XML se usa para codificar datos semiestructurados.<br />

Para estos sistemas se utiliza una base de datos XML nativa (NXD, Native XML Database). Las NXD<br />

definen un modelo de datos (lógico) para un documento XML (no para los datos contenidos en el<br />

documento), y almacena y extrae documentos de acuerdo con dicho modelo. Ejemplos de estos<br />

modelos son el modelo de los datos de XPath, los XML Infoset, y los modelos explicitados por el<br />

DOM y los eventos en SAX 1.0. Hay dos tipos de NXD según su almacenamiento:<br />

Basados en texto: almacenan el código XML como texto, por ejemplo como un archivo<br />

de un sistema de archivos o como un dato de tipo CLOB en un SGBD relacional.<br />

Basados en modelo: almacenan el código XML en alguna representación interna en<br />

forma de árbol.<br />

El grupo W3C Query Working Group propuso un lenguaje de consulta para XML<br />

denominado XQuery. Éste es un lenguaje funcional en el que una consulta se representa como una<br />

expresión. El valor de una expresión es siempre una secuencia, que es una colección ordenada de<br />

uno o más valores atómicos o nodos.<br />

Ejemplo de XQuery:<br />

A continuación se presenta un código en XML que representa la información de los<br />

empleados (este archivo recibe el nombre de staff_list.xml):<br />

<br />

<br />

<br />

<br />

<br />

SL21<br />

<br />

JohnWhite<br />

<br />

Manager<br />

1945-10-01<br />

30000<br />

<br />

<br />

SG37<br />

<br />

AnnBeech<br />

<br />

Assistant<br />

12000<br />

<br />

<br />

Una consulta XQuery en la que se obtenga una enumeración de los empleados de la<br />

sucursal B005 con un salario superior a 15000 euros sería:<br />

FOR $S IN doc(“staff_list.xml”)//STAFF<br />

WHERE $S/SALARY >15000 AND $S/@branchNo=”B005”<br />

6


RETURN $S/STAFFNO<br />

Daría como resultado:<br />

SL21<br />

TECNOLOGÍAS<br />

Las tecnologías más utilizadas para la comunicación desde un cliente hasta una base de<br />

datos gestionada por un servidor son descritas a continuación.<br />

ODBC(Open Database Connectivity)<br />

Es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el<br />

objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin<br />

importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los<br />

datos.<br />

JDBC es el acrónimo de Java Database Connectivity, un API que permite la ejecución de<br />

operaciones sobre bases de datos desde el lenguaje de programación Java independientemente<br />

del sistema de operación donde se ejecute o de la base de datos a la cual se accede utilizando el<br />

dialecto SQL del modelo de base de datos que se utilice.<br />

JDBC(Java Database Connectivity)<br />

Es la técnica más madura, usada en el lado del servidor, para el acceso a Sistemas Gestores<br />

de Bases de Datos (SGBD) relacional desde Java, con un modelo similar al de la especificación<br />

ODBC. El paquete JDBC define una API de acceso a base de datos que soporta una funcionalidad<br />

SQL básica y permite acceder a un variado número de SGBD. Por encima del JDBC se construyen<br />

interfaces de aplicación a mayor nivel como por ejemplo: SQL embebido en Java o una<br />

correspondencia directa de tablas de una base de datos relacional a clases Java (Hibernate).<br />

JSP (Java Server Pages)<br />

Es un lenguaje de script del lado del servidor basado en Java que permite mezclar HTML<br />

estático con HTML generado dinámicamente y comunicarse para mandar información al cliente.<br />

Para establecer la comunicación es necesario el uso de un servidor Web tales como Apache, IIS<br />

(Internet Information Server), etc. El motor JSP transforma las etiquetas JSP, el código Java y el<br />

contenido HTML estático en código Java que el motor JSP organiza automáticamente a<br />

continuación para transformar un servlet Java; después de esto, el servlet se compila<br />

automáticamente para obtener código intermedio Java. Así, cuando un visitante solicita una<br />

7


página JSP, un servlet pre-compilado y que ha sido generado automáticamente se encarga de<br />

realizar toda la tarea.<br />

ASP (Active Server Page)<br />

Es un modelo de programación para la creación de páginas web interactivas y dinámicas<br />

en el servidor (de forma similar a JSP). A diferencia de CGI, ASP se ejecuta dentro del mismo<br />

proceso del servidor y es un mecanismo multihebra optimizado para gestionar un gran número de<br />

usuarios.<br />

IIS (Internet Information Server)<br />

Es un servidor de Microsoft destinado a la publicación, mantenimiento y gestión de<br />

páginas y portales Web. Se basa en varios módulos que le dan capacidad para procesar distintos<br />

tipos de páginas, por ejemplo Microsoft incluye los de Active Server Pages (ASP) y ASP.NET.<br />

También pueden ser incluidos los de otros fabricantes, como PHP o Perl.<br />

Oracle Internet Platform<br />

Es una plataforma compuesta por OracleAS (Oracle Application Server) y el SGBD Oracle,<br />

que trata de ampliar la funcionalidad de los entornos distribuidos. Se trata de una arquitectura de<br />

n-niveles basada en estándares: A nivel de web en HTTP y HTML/XML; para conectividad con la<br />

base de datos, servlet y páginas JSP se sirve de Java, J2EE, JDBC entre otros; para la manipulación<br />

de objetos se hace uso de la tecnología CORBA,…<br />

APLICACIONES COMERCIALES<br />

Comercio electrónico<br />

Los clientes pueden realizar y pagar pedidos a través del sitio web de la empresa pudiendo<br />

incluso proporcionar servicios y soporte en línea. Esto implica normalmente algún tipo de<br />

mecanismo de transacción seguro permitiendo a la empresa operar su negocio 24 horas al día,<br />

todos los días del año; incrementando así las oportunidades de negocio, reduciendo el coste de<br />

ventas y los servicios y consiguiendo una mayor satisfacción de los clientes.<br />

VENTAJAS Y <strong>DE</strong>SVENTAJAS<br />

Ventajas<br />

• Tiene las ventajas propias de los SGBD:<br />

Simplicidad.<br />

Independencia en cuanto a la plataforma.<br />

La disponibilidad de una interfaz gráfica de usuario.<br />

Estandarización.<br />

Soporte multiplataforma.<br />

Acceso transparente a red.<br />

8


Mecanismos escalables de implantación.<br />

Innovación.<br />

• Características de utilizar la tecnología web:<br />

Permitir acceso concurrente a los datos.<br />

Ofrecer mecanismos de seguridad.<br />

Soportar transacciones.<br />

Permitir almacenar grandes volúmenes de datos, y almacenamiento de diferentes<br />

archivos.<br />

Desventajas<br />

• Falta de fiabilidad.<br />

• Bajo nivel de seguridad.<br />

• Coste.<br />

• Bajo grado de escalabilidad.<br />

• Carencia de memoria del estado.<br />

• Ancho de banda.<br />

• Prestaciones que ofrece (es lento).<br />

9


<strong>BASES</strong> <strong>DE</strong> <strong>DATOS</strong> MULTIMEDIA<br />

<strong>DE</strong>FINICIÓN<br />

Una base de datos multimedia es una base de datos que alberga uno o más tipos de<br />

archivos de los medios de comunicación principales como .txt (documentos), .jpg (imágenes), .swf<br />

(vídeos), .mp3 (audio), etc., y poco se dividen en tres categorías principales:<br />

• Los medios de comunicación (tiempo-independiente, es decir, imágenes y escritura)<br />

• Medios dinámicos (en función del tiempo, es decir, video y sonido bytes)<br />

• Dimensional medios de comunicación (es decir, los juegos 3D o con ayuda de<br />

computadoras, elaboración de programas de CAD)<br />

Todos los principales medios de comunicación se guardan en los archivos binarios de<br />

cadenas de ceros y unos, y se codifican de acuerdo con el tipo de archivo.<br />

El término "datos" suele ser referenciados desde el punto de vista del equipo, mientras<br />

que el término "multimedios" se hace referencia desde el punto de vista del usuario.<br />

ORIGEN<br />

La aparición de aplicaciones multimedia sólo ha sido posible gracias al desarrollo de<br />

entornos gráficos (Macintosh, Windows, X-Window, NextStep...), los cuales han modificado en<br />

profundidad la manera de presentar y de interactuar sobre los elementos informativos.<br />

Uno de los problemas a resolver ha correspondido al almacenamiento y acceso a la<br />

información de tipo gráfico. A lo largo de los últimos años han proliferado gran cantidad de<br />

formatos de almacenamiento para gráficos (PICT, TIFF, gif, JPEG y otros), que han hecho necesario<br />

la creación de filtros y programas de transferencia entre unos y otros. Afortunadamente, se<br />

comienzan a establecer ciertos niveles de compatibilidad, con vista a su utilización en bases de<br />

datos, a través de metaficheros gráficos, que faciliten el acceso a todos los formatos,<br />

independientemente de cual se trate y de las aplicaciones que los manipulen.<br />

INTEGRACIÓN MULTIMEDIA-BBDD<br />

Las bases de datos que almacenan información tanto textual como numérica se ven<br />

enriquecidas por la posibilidad de completar los elementos a los que se hacen referencia mediante<br />

componentes gráficos y/o sonoros.<br />

10


La integración de diferentes tipos de información en un único documento pone de relieve<br />

la importancia de las tareas de representación del contenido informativo, especialmente la<br />

indización de imágenes y documentos sonoros.<br />

A pesar de ser la integración de bases de datos heterogéneas una de las razones del<br />

desarrollo de sistemas de gestión de bases de datos multimedia, la industria todavía no ha<br />

establecido todavía estándares de formato entre ellas, por lo que se repite la misma situación que<br />

en momentos anteriores, entre ficheros de base de datos correspondientes a aplicaciones como<br />

dBASE, Paradox, etc. Aunque las aplicaciones tradicionales ya ofrecen "puentes" para compartir<br />

sus bases de datos, por el momento esto no es posible en lo que respecta a las bases de datos<br />

multimedia. Sin embargo, están comenzando a aparecer en el mercado nuevas aplicaciones que,<br />

sin cumplir los requerimientos clásicos de un SGBD, pueden generar documentos multimedia,<br />

tomando como base información y datos contenidos en otros tipos de fichero.<br />

CARACTERÍSTICAS<br />

1. Encontrar rápidamente la información multimedia, buscando cualquier número de objetos<br />

referidos a un contenido de información, en un contexto de texto completo (y, a poder<br />

ser, en un contexto totalizador de la información)<br />

2. Conectar documentos según su contenido informativo, relacionando extractos de<br />

información relacionada de varios documentos, en uno nuevo.<br />

3. Facilitar el acceso instantáneo a los ficheros pertinentes, incluyendo los mecanismos<br />

necesarios de compresión y descompresión para la manipulación de aquellos.<br />

4. Conocer y manipular, por parte del usuario, la estructura misma de la información.<br />

5. Crear relaciones entre grupos de elementos informativos.<br />

TIPOS <strong>DE</strong> <strong>DATOS</strong>: BLOBs<br />

Los BLOB (Binary Large OBjects, grandes objetos binarios) son elementos utilizados en las<br />

bases de datos para almacenar datos de gran tamaño que cambian de forma dinámica. Este tipo<br />

de datos no está forzado en una determinada estructura. Por ejemplo, un campo varchar de una<br />

base de datos normal se podría estructurar a 14 caracteres de largo y solo aceptar minúsculas. En<br />

cambio, un tipo dato BLOB no puede ser limitado en el tipo de contenido, ya que éste puede ser<br />

de varios gigabytes de tamaño.<br />

Los campos de tipo BLOB se utilizan para almacenar gráficos, audio, video o documentos<br />

(conjunto de texto, imágenes,…).<br />

11


Las columnas BLOB pueden ser añadidas, modificas y eliminadas. Sin embargo, no pueden<br />

ser manipuladas con las sentencias de las bases de datos estándar (no se puede hacer un insert<br />

directamente).<br />

El siguiente código de ejemplo guarda la imagen c:\imagen\miimagen.gif en la tabla<br />

T_imagenes que tiene la siguiente estructura:<br />

SQL> Desc T_imagenes<br />

CAMPO TIPO<br />

Id Varchar2(20)<br />

Img Blob<br />

El campo img es un campo blob donde se almacenará el contenido del archivo de imagen.<br />

Hay 3 aspectos a tener en cuenta:<br />

1. Definir para la bd oracle, un directorio asociado a la carpeta del sistema operativo<br />

donde se encuentra la imagen (c:\imagen).<br />

SQL> create directory IMAGEN_DIR as 'c:\imagen\';<br />

2. Definir permisos de lectura al usuario que carga la imagen a la bd. Si por ejemplo el<br />

usuario se llama usuariopruebas, la sentencia sql sería:<br />

SQL> grant read on directory IMAGEN_DIR to usuariopruebas;<br />

3. Adicionar el código para la carga. En este caso, se creará un procedimiento llamado<br />

agregaImagen, cuyos parámetros de entrada son el directorio y el nombre del archivo a leer. El<br />

código del proc es:<br />

CREATE OR REPLACE PROCEDURE agregaImagen (directorio IN varchar2, archivoImagen IN varchar2) as<br />

f_lob bfile;<br />

b_lob blob;<br />

BEGIN<br />

f_lob := bfilename(directorio, archivoImagen);<br />

INSERT INTO T_imagenes VALUES ( 'id1', empty_blob() )<br />

RETURNING img into b_lob;<br />

--Abrir archivo<br />

dbms_lob.fileopen(f_lob,dbms_lob.file_readonly);<br />

--Leer archivo<br />

dbms_lob.loadfromfile( b_lob, f_lob, dbms_lob.getlength<br />

(f_lob) );<br />

--Cerrar archivo<br />

dbms_lob.fileclose(f_lob);<br />

commit;<br />

END;<br />

12


Ahora, para completar el ejercicio, se ejecuta el procedimiento agregaImagen con los<br />

parámetros IMAGEN_DIR y el nombre del archivo a cargar.<br />

SQL> execute agregaImagen('IMAGEN_DIR','miimagen.gif')<br />

APLICACIONES COMERCIALES<br />

Existen numerosos tipos diferentes de bases de datos multimedia, incluyendo:<br />

• La autenticación de bases de datos multimedia (también conocido como una base de<br />

datos multimedia de Verificación, es decir, escaneo de retina), es una comparación de<br />

datos 1:1<br />

• La identificación de bases de datos multimedia es una comparación de los datos de uno-amuchos<br />

(es decir, contraseñas y números de identificación personal<br />

• Un emergente tipo de base de datos multimedia, es la base de datos de biometría<br />

multimedia, que se especializa en la verificación automática de humanos sobre la base de<br />

los algoritmos de su comportamiento fisiológico o perfil.<br />

Estos métodos de identificación son superiores a la tradicional base de datos que<br />

requieren los típicos métodos de entrada de números de identificación personal y contraseñas.<br />

Debido al hecho de que la persona identificada no necesita estar físicamente presente, donde la<br />

identificación de verificación se está llevando a cabo. Esto elimina la necesidad de que la persona<br />

que está siendo explorada tenga que recordar un PIN o contraseña.<br />

La tecnología de identificación de huellas dactilares también se basa en este tipo de base<br />

de datos multimedia, pero existe una dificultad software y hardware para realizar la identificación.<br />

Supongamos el hecho de querer validar a una persona por el reconocimiento dactilar. Para realizar<br />

el reconocimiento será necesario un lector de huellas digitales para escanear y digitalizarlas para<br />

posteriormente ser almacenada en una base de datos multimedia. Sin embargo, existen una serie<br />

de dificultades ligadas al almacenamiento como son:<br />

• Sólo basta con que un bit de ambas imágenes sea distinto para que dejen de ser<br />

iguales, lo que ocasiona que no se pueda hacer una búsqueda por exactitud, como se<br />

hace en el caso de tipos de datos tradicionales (varchar, number,…); y se debe hacer<br />

una búsqueda por similitud en la que se determina que dos imágenes son similares si<br />

superan un porcentaje.<br />

• Además, las imágenes ocupan mucho más que cualquier tipo de dato primitivo, con lo<br />

que se necesita un gran espacio de almacenamiento.<br />

Un ejemplo de dificultad para calcular la similitud entre imágenes es la siguiente, donde se<br />

aprecia que dos imágenes con un alto grado de similitud, verdaderamente no tienen relación.<br />

13


Las bases de datos multimedia son también utilizadas en otros muchos campos como la<br />

biología molecular, la medicina, la geografía y la industria manufacturera facilitando la realización<br />

de muchos procesos en estos campos.<br />

14


MMDBMS<br />

Un sistema de base de base de datos multimedia (MMDBMS) puede incrementar los<br />

recursos para manipular texto, voz e imágenes en forma efectiva dentro de una estructura de base<br />

de datos. Los MMDBMS proveen los tradicionales beneficios de los sistemas de bases de datos así<br />

como la concatenación de voz, transformación de la información, rotación de imágenes,<br />

ampliación de objetos y mezcla de varios tipos de datos. El problema con estos sistemas es la<br />

compleja interfaz. Como la funcionalidad de estos equipos continua incrementándose, se<br />

desarrollarán más aplicaciones para su uso. Combina más aplicaciones con facilidad de utilización y<br />

se desarrolla una oportunidad para la ventaja comparativa.<br />

características:<br />

Un sistema gestos de bases de datos multimedia tiene que poseer las siguientes<br />

• Búsqueda por texto completo<br />

• Tolerancia a faltas de ortografía (e.g., fallas del OCR)<br />

• Administración de sinónimos, catálogo<br />

• Búsqueda de documentos similares<br />

Y teniendo en cuenta que una imagen se basa en un conjunto de pixeles toso sistema<br />

gestor de datos multimedia debe tener como funcionalidad básica:<br />

• Selección de partes de imágenes<br />

• Búsqueda en BD de imágenes<br />

15


COMPARATIVA<br />

Como se observa en la imagen, tanto las bases de datos web como las multimedia se<br />

encuentran en el plano de distribución/integración.<br />

Debido a que se encuentran en el mismo plano se encuentran muy relacionadas en cuanto<br />

a sus características. En el mundo real, suelen usarse de forma combinada. Además, ambas se<br />

basan en ampliar las tradicionales bases de datos relacionales y se encuentran en continua<br />

evolución.<br />

La principal característica común que presentan es la velocidad. Por un lado, las bases de<br />

datos web requieren rapidez a la hora de proporcionar la información solicitada al cliente vía web.<br />

Por otro lado, para poder llevar a cabo las búsquedas por similitud en las bases de datos<br />

multimedia se requiere de una gran velocidad de extracción de información para poder ejecutar el<br />

algoritmo de similitud de forma eficiente.<br />

Viendo la relación existente entre las dos bases de datos, se puede determinar que una<br />

base de datos multimedia si se ejecuta en un paradigma cliente-servidor vía web, se convierte en<br />

una base de datos web con características multimedia, extendiendo su características propias de<br />

16


ases de datos multimedia a las que proporciona la explotación de bases de datos web. Sin<br />

embargo, se pueden tener estos dos tipos de bases de datos por separado, es decir, una base de<br />

datos web no tiene porqué almacenar datos multimedia y una base de datos multimedia no tiene<br />

porqué ser accedida vía web. Esto pone de relevancia la única diferencia existente entre las dos, la<br />

cual consiste en que una base de datos web requiere necesariamente de una red (ya sea de tipo<br />

LAN, WAN, intranet o Internet) mientras que las multimedia no requieren de una infraestructura<br />

de red.<br />

17


BIBLIOGRAFÍA<br />

• “Sistemas de bases de datos, un enfoque practico para el diseño, implementación<br />

y gestión”. Thomas M. Connolly, Carolyn E. Beg. Pearson Addison Wesley.<br />

4°Edicion.<br />

• “Database Systems. Concepts, languages and Architectures”. Paolo Atzeni, Stefano<br />

Ceri, Stefano Ceri, Stefano Paraboschi and Riccardo Torlone.Mc GrawHill,1997.<br />

• “Advanced Database Technology and Design”. M. Piattini, O. Diaz. Artech House.<br />

• http://es.wikipedia.org/wiki/Open_Database_Connectivity<br />

• http://tecnologia.glosario.net/terminos-viricos/iis-(internet-information-server)-<br />

9751.html<br />

• http://es.wikipedia.org/wiki/IIS<br />

• http://ict.udlap.mx/people/carlos/is346/admon07.html<br />

• http://es.wikipedia.org/wiki/BLOB<br />

• http://tramullas.com/documatica/6.html<br />

• http://es.tech-faq.com/multimedia-database.shtml<br />

• http://es.tech-faq.com/blob.shtml<br />

• http://www.zonaoracle.com/?q=node/2224 (ejemplo blob)<br />

• http://www.kybele.etsii.urjc.es/docencia/BD/2008-2009/Material/%5BBD-2008-<br />

09%5DT1.BDOO.pdf<br />

• http://www.dirinfo.unsl.edu.ar/fadlr/curso-AECI/BDMultimedia.pdf<br />

• http://www.ast-software.com/AST/es/Compania/tecnologia.html (identificación<br />

biométrica dactilar)<br />

• http://grupos.unican.es/igestion/socote/pdf/ActasCongreso2.pdf<br />

18

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!