capitulo 15- tipos de datos avanzados y nuevas aplicaciones

Upload: eefundamentosdebasededatos

Post on 05-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    1/22

    Durante la mayor parte de la historia de las bases de datos, sus tipos de datos eran relativamente senci-llos, y esto se reflej6 en las primeras versiones de SQL.En los ultimos afios, sin embargo, ha habido unanecesidad creciente de manejar tipos de datos nuevos en las bases de datos, como los datos temporales,los datos espaciales y los datos multimedia.Otra tendencia importante de la ultima decada ha creado sus propios problemas: el auge de la infor-matica m6vil, que comenz6 con las computadoras portatiles y las agendas de bolsillo, se ha extendidoen tiempos mas recientes a los telefonos m6viles con capacidad de procesamiento y una gran variedadde computadoras poridiiles, que se usan cada vez mas en aplicaciones comerciales.En este capitulo se estudian varios tipos nuevos de datos y tarnbien se estudian los problemas de lasbases de datos relacionados con la informatica m6vil.15.1 Motivaci6nAntes de abordar a fondo cada uno de los temas se resumira la motivaci6n de cada uno de estos tiposde datos y algunos problemas importantes del trabajo con ellos .

    Datos temporales. La mayor parte de los sistemas de bases de datos mode1an un estado actual:por ejemplo, los c1ientes actuales, los estudiantes actuales y los cursos que se estan ofertando.En muchas aplicaciones es muy importante almacenar y recuperar la informaci6n sobre estadosanteriores. La informaci6n hist6rica puede incorporarse de manera manual en el diseno del es-quema. No obstante, la tarea se simplifica mucho con el soporte de los datos temporales en lasbases de datos, 10 cual se estudia enel Apartado 15.2.

    Datos espaciales. Entre los datos espaciales estan los datos geograficos, como los datos y la in-formaci6n asociada a ellos, y los datos de disefio asistido por computadora, como los disefios decircuitos integrados 0 los disefios de edificios. Las aplicaciones de datos espaciales en un princi-pio almacenaban los datos como archivos de un sistema de archivos, igual que las aplicacionesde negocios de las primer as generaciones. Perc, a medida que la complejidad y el volumen de losdatos, y el numero de usuarios, han aumentado, se han mostrado insuficientes para cubrir las ne-cesidades de muchas aplicaciones que usan datos espaciales los enfoques ad hoc para almacenary recuperar los datos en un sistema de archivos.Las aplicaciones de datos espaciales necesitan los servicios ofrecidos por los sistemas de basesde datos-en especial, la posibilidad de almacenar y consultar de manera eficiente grandes canti-dades de datos. Algunas aplicaciones tambien pueden necesitar otras caracteristicas de las basesde datos, como las actualizaciones at6micas de parte de los datos almacenados, la durabilidad yel control de concurrencia. En el Apartado 15.3 se estudian las ampliaciones de los sistemas debases de datos tradicionales necesarias para que soporten los datos espacia1es.

    485

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    2/22

    486 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    Datos multimedia. En el Apartado 15.4 se estudian las caracterfsticas necesarias en los sistemasde bases de datos que almacenan datos multimedia como los datos de imageries, de video 0de audio. La principal caracteristica que diferencia a los datos de video y de audio es que lavisualizaci6n de estes exige la recuperaci6n alma velocidad predeterminada constante; por tanto,esos datos se denominan datos de medios continuos .

    Bases de datos moviles. En el Apartado 15.5 se estudian los requisitos para las bases de datosde la nueva generaci6n de sistemas informaticos portatiles, como las computadoras porta tiles ylos dispositivos informaticos de bolsillo, que se conectan con las estaciones base mediante redesde comunicaci6n digitales inalambricas, Estas computadoras necesitan poder operar mientras sehallan desconectadas de la red, a diferencia de los sistemas distribuidos de bases de datos. Tam-bien tienen una capacidad de almacenamiento limitada y, por tanto, necesitan tecnicas especialespara la administ.raci6n de la memoria.

    15.2 EI tiempo en las bases de datosLas bases de datos modelan el estado de algunos aspectos del mundo real. Generalmente, las bases dedatos solo modelan un estado-el estado actual-del mundo real, y no almacenan informacion sobreestados anteriores, salvo posiblemente como registro de auditorfa. Cuando se modifica el estado delmundo real, se actualiza la base de datos y se pierde la informacion sobre el estado anterior. Sin embar-go, en muchas aplicaciones es importante almacenar y recuperar informaci6n sobre estados anteriores.POl'e jemplo, una base de datos sobre pacientes debe almacenar informaci6n sobre el historial medicode cada paciente. El sistema de control de una fabrica puede almacenar informaci6n sobre las lecturasactuales y anteriores de los sensores de Ia fabrica para su analisis. Las bases de datos que almacenaninformaci6n sobre los estados del mundo real a 10 largo del tiempo se denominan bases de datos tem-porales.Al considerar el problema del tiempo en los sistemas de bases de datos se distingue entre el tiempomedido por el sistema y el hempo observado en el mundo real. El tiempo valido de un hecho es elconjunto de intervalos de tiempo en el que el hecho es cierto en el mundo real. El tiempo de transacci6nde un hecho es el intervalo de tiempo en el que el hecho es actual en eI sistema de bases de datos. Estesegundo tiempo se basa en el orden de secuenciaci6n de las transacciones y el sistema 10 genera demanera automatica. Hay que tener en cuenta que los intervalos de tiempo validos. que son un conceptodel tiempo real, no pueden generarse de manera automatic a y deben proporcionarse al sistema.Una relaci6n temporal es una relaci6n en la que cada tupla tiene un tiempo asociado en que esverdadera; el tiempo puede ser la hora real 0 el tiempo asociado a la transacci6n. Por supuesto, puedenalmacenarse ambos, en cuyo caso la relacion se denomina relaci6n bitemporal. La Figura 15.1 muestraun ejemplo de relaci6n temporal. Para simplificar la representacion cada tupla tiene un asociado ununico intervalo temporal; asi, cada tupla se representa una vez para cada intervalo de tiempo disjunto enque es cierta. Los interval os se muestran aqui como pares de atributos de y a; una implementaci6n realtendria un tipo estructurado, acaso denorninado Interoalo, que contuviera los dos campos. Observeseque algunas de la tuplas tienen un asterisco ("*") en la columna temporal a; esos asteriscos indican quela tupla es verdadera hasta que se modifique el valor de la columna temporal a; asi, la tupla es cierta eneI momento actual. Aunque los tiempos se muestran en forma textual, se almacenan internamente deuna manera mas compacta, como el ruimero de segundos desde algun momento de una fecha fija (comolas 12:00 A.M., 1 de enero, 1900) que puede volver a traducirse a la forma textual normal.15.2.1 Especificacion del tiempo en SQLEl estandar SQL define los tipos date, time y timestamp. El tipo date contiene cuatro cifras para los afios(1-9999), dos para los meses (1-12) y dos mas para los dias (1-31). E1tipo time contiene dos cifras parala hora, dos para los minutos y otras dos para los segundos, ademas de cifras decimales opcionales. Elcampo de los segundos puede superar el valor de sesenta para tener en cuenta los segundos extra quese aftaden algunos afios para corregir las pequefias variaciones de velocidad en la rotaci6n de la Tierra.El tipo timestamp contiene los campos de date y de time con seis cifras decimales para el campo de lossegundos.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    3/22

    I n um ero c ue nta I n o mbr e s uc ur sa l I saldo I de a- -C-101 CEntro 500 1/1/1999 9:00 24/1/1999 11:30C-101 CEntro 100 24/1/1999 11:30 *C-215 Becerril 700 2/6/2000 15:30 8/8/2000 10:00C-215 Becerril 900 8/8/2000 10:00 5/9/2000 8:00C-215 Becerril 700 5/9/2000 8:00 *C-217 Galapagar 750 5/7/1999 11:00 1/5/2000 16:00

    Figura 15.1 La relaci6n temporal cuenta.

    Como las diferentes partes del mundo tienen horas locales diferentes suele darse la necesidad deespecificar la zona horaria junto con la hora. La hora universal coordinada (Universal CoordinatedTime, UTe) es un punto estandar de referencia para la especificaci6n de la hora y las horas locales sedefinen como diferencias respecto a UTe. (La abreviatura estandar esUTC, en lugar de UCT- UniversalCoordinated Time en.ingles=-ya que es una abreviatura de "tiempo universal coordinado (UniversalCoordinated Time)" escrito en frances como u n iv er se l t emp s c oo rd o nn ej . SQL tambien soporta dos tipos,time with time zone y timestamp with time zone, que especifican la hora como la hora local mas ladiferencia de la hora local respeeto de UTe. Por ejemplo, la hora podria expresarse en terrninos de lahora estandar del Este de EE.UU. (U.S. Eastern Standard Time), con una diferencia de -6:00, ya que lahora estandar del Este de Estados Unidos va retrasada seis haras respecto de UTe.

    SQL soporta un tipo denominado interval, que permite hacer referencia a un periodo de tiempo comopuede ser "1 dia" 0 "2 dias y 5 horas", sin especificar la hora concreta en que comienza el periodo. Esteconcepto se diferencia del concepto de intervalo usado anteriorrnente, que hace referencia a un intervalode tiempo con horas de comienzo y de final especificos'.

    15.2.2 Lenguajes de consultas temporalesLas relaciones de base de datos sin informaci6n temporal se denominan a veces relaciones instantaneas,ya que reflejan el estado del mundo real en una instantanea. Asi, una instantanea de una relaci6n tem-poral en un momento del tiempo t es el conjunto de tuplas de la relaei6n que son ciertas en el momentot, con los atributos de intervalos de tiempo eliminados. La operaci6n instantanea para una relaci6n tem-poral da la instantanea de la relaci6n en un momento especificado (0 en el momenta actual, si no seespecifica el momento.Una seleccion temporal es una seleccion que impliea a los atributos de tiempo: una proyeccion tem-

    poral es una proyeccion en la que las tuplas de la proyeccion heredan los valores de tiempo de las tuplasde la relaci6n original. Una reunion temporal es una reunion en que los valores temporales de las tu-plas del resultado son la interseccion de los valores temporales de las tuplas de las que proceden. Si losvalores temporales no se intersecan, esas tuplas se eliminan del resultado.Los predicados precede, so lapa y coniiene pueden aplicarse a los interval os; sus significados deben

    quedar claros. La operacion intereeccion puede aplicarse ados intervalos, para dar un unico intervalo(posiblemente vacio). Sin embargo, la union de dos intervalos puede que no sea un solo intervalo.Las dependencias funcionales deben usarse con cuidado en las relaciones temporales. Aunque puede

    que el numero de cuenta determine funcionalmente el saldo en cualquier momento, evidentemente elsaldo puede eambiar con el tiempo. Una dependencia funcional temporal X .!.. Y es valida para unesquema de relaci6n R si, para todos los casos legales r de R, todas las instantaneas de T satisfacen ladependencia funcional X -7Y.Se han realizado varias propuestas de ampliaei6n de SQL para mejorar su soporte de los datos tern-

    porales, pero al menos hasta SQL:2003 no se ha proporcionado ningun soporte especial para los datostemporales aparte de los tipos de datos relativos a la fecha y hora y sus operaciones.

    1. Muchos investigadores de bases de datos temporales consideran que este tipo de datos deberfa haberse denominado span, yaque no especifica un memento inicial ni un memento final exactos, sino tan s610 el tiempo transcurrido entre los dos.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    4/22

    488 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    15.3 Datos espaciales y geogrcHicosEl soporte de los datos espaciales en las bases de datos es importante para el almacenaje, indexado yconsulta eficientes de los datos basados en las posiciones espaciales. Por ejemplo, sup6ngase que sedesea almacenar un conjunto de poligonos en una base de datos y consultar la base de datos para hallartodos los poligonos que intersecan un poligono dado. No se pueden usar las estructuras estandares deindices como los arboles Bolos indices asociativos para responder de manera eficiente esas consultas.El procesamiento eficiente de esas consultas necesita estructuras de indices de finalidades especiales,como los arboles R (que se estudiaran posteriormente).Dos tipos de datos espaciales son especialmente importantes: Los datos de disefio asistido por computadora (Computer Aided Design, CAD), que incluyeninformaci6n espacial sabre el modo en que los objetos-como los edificios, 10"f caches 0 los avio-nea+-estan construidos. Otros ejemplos importantes de bases de datos de disefio asistido porcomputadora son los disefios de circuitos integrados y de dispositivos electr6nicos .

    Los datos geograficos como los mapas de carreteras, los mapas de usa de la tierra, los map astopograficos, los map as politicos que muestran fronteras, los map as catastrales, etc. Los sistemasde informacion geografica son bases de datos de prop6sito especial adaptadas para el almacena-miento de datos geogrMicos.

    EI soporte para los datos geograficos se ha ariadido a muchos sistemas de bases de datos, como IBMDB2Spatial Extender, Informix Spatial Datablade u Oracle Spatial.15.3.1 Representacion de la informacion geometricaLa Figura 15.2 muestra el modo en que se pueden representar de manera normalizada en las basesde datos varias estructuras geometricas. Hay que destacar aqui que la informaci6n geometries puederepresentarse de varias maneras diferentes, de las que s610se describen algunas.Un s eg m en to r ec ti li ne o puede representarse mediante las coordinadas de sus extremos. Por ejemplo,

    en una bases de datos de map as, las dos coordenadas de un punto sedan su latitud y su longitud. Unal in e a p o li gona l (tarnbien denominada l in e a q ue br a da ) consiste en una secuencia conectada de segmentosrectilineos, y pueden representarse mediante una lista que contenga las coordenadas de los extremosde los segmentos, en secuencia. Se puede representar aproximadamente una curva arbitraria mediantelineas poligonales, dividiendo la curva en una serie de segmentos. Esta representaci6n resulta uti1paraelementos bidimensionales como las carreteras; en este caso, la anchura de la carretera es 10bastantepequefia en relaci6n can el tamafio de todo el mapa que puede considerarse bidimensional. Algunossistemas tambien soportan como primitivas los a r e as d e c ir c un f er e nc ia , 10que permite que las curvas serepresenten como secuencias de arcos. .Los poligonos pueden representarse indicando sus vertices en orden, como en la Figura 15.22. La lista

    de los vertices especifica la frontera de cada regi6n poligonal. En una representaci6n alternativa cadapoligono puede dividirse en un conjunto de triangulos, como se muestra en la Figura 15.2. Este procesose denomina triangulacion, y se puede triangular cualquier poligono. Se concede un identificador a cadapoligono complejo, y cada uno de los triangulos en los que se divide lleva el identificador del poligono.Los circulos y las elipses pueden representarse par los tipos correspondientes, 0 aproxirnarse mediantepoligonos.Las representaciones de las lineas poligonales 0 de los poligonos basadas en listas suelen resultarconvenientes para el procesamiento de consultas. Esas representaciones que no estan en la primera

    forma normal se usan cuando estan soportadas par la base de datos subyacente. Can objeto de quese puedan usar tuplas de tarnano fijo (en la primera forma normal) para la representaci6n de lineaspoligonales se puede dar a la linea poligonal 0 a la curva un identificador, y se puede representar cadasegmento como una tupla separada que tambien lleva el identificador de la linea poligonal 0 de lacurva. De manera parecida, la representaci6n triangulada de los poligonos permite una representacionrelacional de los pohgonos en su primer a forma normal.2. Algunas referencias usan el terrnino p o li gono cenad o para hacer referencia a 10que aqui se denominan poligonos y se refierena las !ineas pol igonales abiertas como pol igonos abiertos.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    5/22

    15.3 Datos espaciales y geograficos 489

    2segrnento de linea /

    1{(xl,yl), (x2,y2)

    triangulo {(xl,yl), (x2,y2), (x3,y3)}

    2

    poligono {(xl,yl), (x2,y2), (x3,y3t (x4,y4), (x5,y5)

    2

    poligono{(xl,yl), (x2,y2), (x3,y3), lOl){(xl,yl), (x3,y3), (x4,y4), lOl){(xl,yl), (x4,y4), (x5,y5), lOl}

    objeto representacionFigura 15.2 Representacion de estructuras geometricas,

    La representacion de los puntos y de los segmentos rectilfneos en el espacio tridimensional es pareci-da a su representaci6n en el espacio bidimensional, siendo la (mica diferencia que los puntos tienen uncomponente z adicional. De manera parecida, la representacion de las figuras planas-como los trian-gulos, los rectangulos y otros polfgonos-no cambia mucho cuando se consideran tres dimensiones.Los tetraedros y los paralelepipedos pueden representarse de la misma manera que los triangulos y losrectangulos. Es posible representar poliedros arbitrarios dividiendolos en tetraedros, igual que se trian-gulan los poligonos. Tambien sepueden representar indicando las caras, cada una de las cuales es. en sfmisma, un polfgono, junto con una indicacion dellado de la cara que esta por dentro del poliedro.

    15.3.2 Bases de datos para disefioLos sistemas de disefio asistido por computadora (Computer Aided Design, CAD) tradiciona1mentealmacenaban los datos en la memoria durante su edicion u otro tipo de procesamiento y los volviana escribir en archivos al final de la sesion de edicion. Entre los inconvenientes de este esquema estanel coste (la complejidad de programaci6n y el coste temporal) de transformar los datos de una formaa otra, y la necesidad de leer todo un archivo aunque solo sea necesaria una parte. Para los diseriosde gran tamafio, como el diserio de circuitos integrados a gran escala 0 el disefio de todo un avion,puede que resulte imposible guardar en la memoria el disefio completo. Los disefiadores de bases dedatos orientadas a objetos estaban motivados en gran parte por las necesidades de los sistemas de CAD.Las bases de datos orientadas a objetos representan los componentes del diserio como objetos y lasconexiones entre los objetos indican el modo en que esta estructurado el disefio,

    Los objetos almacenados en las bases de datos de disefio suelen ser objetos geometricos. Entre losobjetos geometric os bidimensionales sencillos se encuentran los puntas, las hneas, los triangulos, los

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    6/22

    490 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    rectangulos y los polfgonos en general. Los objetos bidimensionales complejos pueden formarse a partirde objetos sencillos mediante las operaciones de union, intersecci6n y diferencia. De manera parecida,los objetos tridimensionales complejos pueden formarse a partir de objetos mas sencillos como las esfe-ras, los cilindros y los paralelepfpedos mediante las operaciones union, interseccion y diferencia, comoen la Figura 15.3. Las superficies tridimensionales tarnbien pueden representarse mediante modelos dealambres, que esencialmente modelan las superficies como conjuntos de objetos mas sencillos, comosegmentos rectilfneos, triangulos y rectangulos,Las bases de datos de disefio tambien almacenan informacion no espacial sobre los objetos, como el

    material del que estan construidos. Esa informacion se suele poder modelar mediante tecnicas estandarde modelado de datos. Aquf se centrara la atencion unicamente en los aspectos espaciales.Al disefiar hay que realizar varias operaciones espaciales. Por ejemplo, puede que el disefiador desee

    recuperar la parte del diseno que corresponde a una region de interes determinada. Las estructurasespaciales de indices, estudiadas en el Apartado 15.3.5, resultan utiles para estas tareas. Las estructurasespaciales de indices son multidimensionales, trabajan con datos de dos y de tres dimensiones, en vezde trabajar solamente con la sencilla ordenacion unidimensional que proporcionan los arboles B+.Las restricciones de integridad espacial, como "dos tuberias no deben estar en la misma ubicacion",

    son importantes en las bases de datos de disefio para evitar errores por interferencias. Estos erroressuelen producirse si el disefio se realiza a mana y 5610 se detectan al construir un prototipo. En con-secuencia, estos errores pueden resultar costosos de reparar. El soporte de las bases de datos para lasrestricciones de integridad espacial ayuda a los usuarios a evitar los errores de diseno, con 10que hacenque el disefio sea consistente. La implementaci6n de esas verificaciones de integridad depende una vezmas de la disponibilidad de estructuras multidimensionales de indices eficientes.

    15.3.3 Datos geograficosLos datos geograficos son de naturaleza espacial, pero se diferencian de los datos de diserio en ciertosaspectos. Los map as. y las imageries de satelite son ejemplos tipicos de datos geograficos. Los mapaspueden proporcionar no s610 informacion sobre la ubicacion-v-sobre fronteras, rios y carreteras, porejemplo-sino tambien informacion mucho mas detallada asociada con la ubicaci6n, como la elevacion,el tipo de suelo, el uso de la tierra y la cantidad anual de lluvia.Los datos geograficos pueden clasificarse en dos tipos:

    Datos por Ifneas. Estos datos consisten en mapas de bits 0 en mapas de pixeles en dos 0masdimensiones. Un ejernplo tipico de imagen de lineas bidimensional son las imageries de satelitede cobertura nubosa, en las que cada pixel almacena la visibilidad de nubes en un area concreta.Estos datos pueden ser tridimensionales-por ejemplo, la temperatura a diferentes altitudes endistintas regiones, tambien medidas con la ayuda de un satelite, El tiempo puede formar otradimension-s-por ejemplo, las medidas de la temperatura superficial en diferentes momentos.Las bases de datos de disefio no suelen almacenar datos por lineas.

    c=:>::. '

    ;_ .- .-_- . : " - - - _

    ~(a) Diferencia de cilindros (b) Union de cilindros

    Figura 15.3 Objetos tridimensionales complejos.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    7/22

    15.3 Datos espaciales y geograficos 491

    Datos vectoriales. Los datos vectoriales estan formados a partir de objetos geometricos basicoscomo los puntos, los segmentos rectilfneos, los triangulos y otros poligonos en dos dimensionesy los cilindros, las esferas, los paralelepipedos y otros poliedros en tres dimensiones.Los datos cartograficos suelen representarse en formate vectorial. Los rios y las carreteraspueden representarse como uniones de varios segmentos rectilfneos. Los estados y.los paisespueden representarse como polfgonos. La informaci6n topologies como la altura puede repre-sentarse mediante una superficie dividida en poligonos que cubren las regiones de igual altura,con un valor de altura asociado a cada polfgono. -

    15.3.3.1 Representacion de los datos geogrcHicosLos accidentes geogrmcos, como los estados y los grandes lagos, se representan como poligonos com-plejos. Algunos accidentes, como los nos, pueden representarse como curvas compiejas 0como poligo-nos complejos, en funcion de si su anchura es importante 0no.La informaci6n geografica relativa a las regiones, como la cantidad anual de lluvia, puede represen-tarse como un array-es decir, en forma de lineas. Para reducir el espacio necesario, el array se puedealmacenar de manera comprimida. En el Apartado 15.3.5 se estudia una representaci6n alternativa deestas arrays mediante una estructura de datos denominada drbol cuadra tico .Como se indic6 en elApartado 15.3.3,se puede representar la informaci6n regional en forma vectorialusando poligonos, cada uno de los cuales es una regi6n en la que el valor del array es el mismo. Larepresentaci6n vectorial es mas compacta que la de lineas en algunas aplicaciones. Tambien es masprecisa para algunas tareas, como el dibujo de carreteras, en que la divisi6n de la regi6n en pfxeles(que pueden ser bastante grandes) lleva a una perdida de precisi6n en la informaci6n de ubicaci6n. Noobstante, la representaci6n vectorial resulta inadecuada para las aplicaciones en que los datos se basanen lmeas de manera intrfnseca, como las imageries de satelite.15.3.3.2 Aplicaciones de los datos geograficosLas bases de datos geograficas tienen gran variedad de usos, incluidos los servicios de map as en linea,los sistemas de navegaci6n para vehiculos. la informacion de redes de distribuci6n para las empresas deservicios publicos como son los sistemas de telefonia, electricidad y surninistro de agua y la informaci6nde uso de la tierra para ecologistas y planificadores.Los servicios de mapas de carreteras basados en Web constituyen una aplicaci6n muy usada de datoscartograficos, En su nivel mas sencillo estos sistemas pueden usarse para generar map as de carreterasen linea de la regi6n deseada. Una ventaja' importante de los mapas interactivos es que resulta sencillodimensionar los mapas al tamafio deseado-es decir, acercarse y alejarse para ubicar los accidentesimportantes. Los servicios de mapas de carretera tarnbien almacenan informaci6n sobre carreteras yservicios, como el trazado de las carreteras, los limites de velocidad, las condiciones de las vias, lasconexiones entre carreteras y los tramos de sentido unico, Con esta informaci6n adicional sobre lascarreteras se pueden usar los mapas para obtener indicaciones para desplazarse de un sitio a otro y paralocalizar, por ejemplo, hoteles, gasolineras 0 restaurantes con las ofertas y gamas de precios deseadas.Los sistemas de navegaci6n para los vehiculos son sistemas montados en autom6viles que propor-cionan mapas de carreteras y servicios para la planificaci6n de los viajes. Un afiadido uti! a los sistemasde informacion geogrmca m6viles como los sistemas de navegaci6n de los vehfculos es una unidad delsistema de posicionamiento global (Global Positioning System, GPS), que usa la informaci6n emitidapor los satelites GPS para hallar 1aubicaci6n actual con una precisi6n de decenas de metros. Con estossistemas el conductor no puede perderse nunca+-e-la unidad GPS halla la ubicaci6n en terminos de la-titud, longitud y elevaci6n y el sistema de navegaci6n puede consultar la base de datos geografica parahallar ellugar en que se encuentra y 1acarretera en que se halla el vehiculo.Las bases de datos geograficas para informaci6n de utilidad publica se estan volviendo cada vez masimportantes a medida que crece la red de cables y tuberias enterrados. Sin mapas detallados las obrasrealizadas por una empresa de servicio publico pueden dafiar los cables de otra, 10 que daria lugar a una

    i3. Bueno,[casinunca!

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    8/22

    492 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    interrupcion del servicio a gran escala. Las bases de datos geograficas, junto con los sistemas precisosde determinacion de la posicion, pueden ayudar a evitar estos problemas.Hasta ahora se ha explicado el motivo de que las bases de datos espaciales resulten utiles. En el restodel apartado se estudiaran los detalles tecnicos, como la representacion y el indexado de la informacion

    espacial.

    15.3.4 Consultas espacialesExisten varios tipos de consultas con referencia a ubicaciones espaciales.

    Las consultas de proximidad solicitan objetos que se hallen cerca de una ubicacion especificada.La consulta para hallar todos los restaurantes que se hallan a menos de una distancia dada deun determinado punto es un ejemplo de consulta de proxirnidad. La consulta de vecino masproximo solicita el objeto que se halla mas proximo al punto especificado. Por ejemplo, puedeque se desee hallar la gasolinera mas cercana. Observese que esta consulta no tiene que especificarun limite para la distancia y, por tanto, se puede formular aunque no se tenga idea de la distanciaa la que se halla la gasolinera mas proxima.

    Las consultas regionales tratan de regiones espaciales. Estas consultas pueden pregw::tar porobjetos que se hallen parcial 0 totalrnente en el interior de la region especificada. Un ejemploes la consulta para hallar todas las tiendas minoristas dentro de los lirnites geograficos de unaciudad dada.

    Puede que las consultas tambien soliciten intersecciones y uniones de regiones. Por ejemplo,dada la informacion regional, como pueden ser la lluvia anual y la densidad de poblacion, unaconsulta puede solicitar todas las regiones con una baja cantidad de lluvia anual y una elevadadensidad de poblacion.

    Las consultas que calculan las intersecciones de regiones pueden considerarse como si cakularan lareunion espacial de dos relaciones espaciales-por ejemplo, una que represente la cantidad de lluvia yotra que represente la densidad de poblacion-c-con la ubicacion en el papel de atributo de reunion. Engeneral, dadas dos relaciones, cada una de las cuales contiene objetos espaciales, la reunion espacial delas dos relaciones genera, 0 bien pares de objetos que se intersectan 0 bien las regiones de interseccionde esos pares.Existen diferentes algoritmos de reuni6n que calculan eficazmente las reuniones espaciales de datos

    vectoriales. Aunque se pueden usar las reuniones de budes anidados 0 de budes anidados indexados(con indices espaciales), las reuniones de asociaci6n y las reuniones por mezcla=ordenacion no pue-den usarse con datos espaciales. Los investigadores han propuesto tecnicas de reuni6n basadas en elrecorrido coordinado de las estructuras espaciales de los indices de las dos relaciones. Veanse las notasbibliograficas para obtener mas informaci6n.En general, las consultas de datos espaciales pueden tener una combinaci6n de requisitos espaciales

    y no espaciales. Por ejemplo, puede que se desee averiguar el restaurante mas cercano que tenga menuvegetariano y que cueste menos de diez euros por comida.Dado que los datos espaciales son inherentemente graficos, se suelen consultar mediante un lenguajegrafico de consulta. El resultado de esas consultas tambien se muestra graficamente, en vez de mostrarse

    en tablas. El usuario puede realizar varias operaciones con la interfaz, como escoger el area que deseaver (por ejemplo, apuntando y pulsando en los barrios del oeste de Arganzuela), acercarse y alejarse,escoger 10que desea mostrar de acuerdo con las condiciones de selecci6n (por ejemplo, casas con masde tres habitaciones), superponer varios mapas (por ejemplo, las casas con mas de tres habitaciones su-perpuestas sobre un mapa que muestre las zonas con bajas tasas de delincuencia), etc. La interfaz graficaconstituye la parte visible para el usuario. S e han propuesto extensiones de SQLpara permitir que lasbases de datos relacionales almacenen y recuperen informacion espacial de manera eficiente y tambienpermitir que las consultas mezclen las condiciones espaciales con las no espaciales. Las extensiones in-cluyen la autorizaci6n de tipos de datos abstractos como las Iineas, los poligonos y los mapas de bits yla autorizaci6n de condiciones espaciales como contiene 0solapa.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    9/22

    15.3 Datos espaciales y geogritficos 493

    15.3.5 Indices sobre los datos espacialesLos indices son necesarios para el acceso eficiente a los datos espaciales. Las estructuras de indices tra-dicionales, como los indices de asociaci6n y los arboles B, no resultan adecuadas, ya que unicamentetrabajan con datos unidimensionales, mientras que los datos espaciales suelen ser de dos 0mas dimen-siones.

    15.3.5.1 Los arboles k-dPara comprender el modo de indexar los datos espaciales que constan de dos 0 mas dimensiones seconsidera en primer lugar el indexado de los puntos de los datos unidimensionales. Las estructuras ar-boreas, como los arboles binarios y los arboles B, operan dividiendo el espacio en partes mas pequefiasde manera sucesiva. Por ejemplo, cada nodo interno de un arbol binario divide un intervalo unidimen-sional en dos. Los puntos que quedan en la partici6n izquierda van al subarbol izquierdo; los puntosque quedan en la partici6n de la derecha van al subarbol derecho. En los arboles binarios equilibra-dos la partici6n se escoge de modo que, aproximadamente, la rnitad de los puntos almacenados en elsubarbol caigan en cada partici6n. De manera parecida, cada nivel de un arbol B divide un intervalounidimensional en varias partes.Se puede usar esa intuici6n para crear estructuras arb6reas para el espacio bidimensional, asi como

    para espacios de mas dimensiones. Una estructura arb6rea denorninada arbol k-d fue una de las pri-meras estructuras usadas para la indexaci6n en varias dimensiones. Cada nivel de un arbol k-d divideel espacioen dos. La divisi6n se realiza segun una dimensi6n en el nodo del nivel superior del arbol,segun otra dimensi6n en los nodos del nivel siguiente, etc., alternando cfclicamente las dimensiones. Ladivisi6n se realiza de tal modo que, en cada nodo, aproximadamente la rnitad de los puntos almacena-dos en el subarbol cae a un lado y la otra mitad al otro. La divisi6n se detiene cuando un nodo tienemenos puntos que un valor maximo dado. La Figura 15.4muestra un conjunto de puntos en el espaciobidimensional y una representaci6n en arbol k-d de ese conjunto de puntos. Cada linea corresponde aun nodo del arb01 , y el numero maximo de puntos en cada nodo hoja se ha definido como uno. Cadalinea de la figura (aparte del marco exterior) corresponde a un nodo del arbol k-d. La numeraci6n de laslineas en la figura indica el nivel del arbol en el que aparece el nodo correspondiente.EI arbol k-d B extiende el arbol k-d para permitir varios nodos hijo por cada nodo interne, igual que

    los arboles Bextienden los arboles binaries, para reducir la altura del arbol, los arboles k-dB estan mejoradaptados al almacenamiento secundario que los arboles k-d.

    3 3

    2

    .

    .

    . 23 3

    Figura 15.4 Divisi6n del espacio por un arbol k-d.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    10/22

    494 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    Figura 15.5 Division del espacio por un arbol cuadratico.

    15.3.5.2 Arboles cuadraticosUna representacion alternativa de los datos bidimensionales son los arboles cuadraticos. En la Figu-ra 15.5 aparece un ejemplo de la division del espacio mediante un arbol cuadratico, El conjunto depuntos es el mismo que en la Figura 15.4. Cada nodo de un arbol cuadratico esta asociado con unaregion rectangular del espacio. El nodo superior esta asociado con todo el espacio objetivo. Cada nodoque no sea un nodo hoja del arbol cuadratico divide su regi6n en cuatro cuadrantes del mismo tamafioy, a su vez, cada uno de esos nodos tiene cuatro nodos hijo correspondientes a los cuatro cuadrantes.Los nodos hoja tienen un numero de puntos que varia entre cera y un numero maximo fijado. A su vez,si la regi6n correspondiente a un nodo tiene mas puntos que el maximo fijado, se crean nodos hijo paraese nodo. En el ejemplo de la Figura 15.5, el numero maximo de puntos de cada nodo hoja esta fijado enuno.Este tipo de arbol cuadratico se denomina arbol cuadratico PR, para indicar que almacena los puntosy que la divisi6n del espacio se basa en regiones, en vez de en el conjunto real de puntos almacenados.Se pueden usar arboles cuadraticos regionales para almacenar informacion de arrays (de hneas). Cadanodo de los arboles cuadraticos regionales es un nodo hoja si todos los valores del array de la regionque abarca son iguales. En caso contrario, se vuelve a subdividir en cuatro nodos hijo con la misma areayes, por tanto, un nodo interno. Cada nodo del arbol cuadratico regional corresponde a un subarray devalores. Los subarrays correspondientes a las hojas contienen un solo elemento del array 0 varios, todosenos con el mismo valor. .El indexado de los segmentos rectilineos y de los poligonos presenta problemas nuevos. Hay exten-

    siones de los arboles k-d y de los arboles cuadraticos para esta labor. No obstante, un segmento rectilineoo un poligono puede cruzar una linea divisoria. Si 1 0 hace. hay que dividirlo y representarlo en cada unode los subarboles en que aparezcan sus fragmentos. La aparicion multiple de un segmento lineal 0 de unpoligono puede dar lugar a ineficiencias en el almacenamiento, asi como a ineficiencias en las consultas.15.3.5.3 Arboles RLa estructura de almacenamiento denominada arbol R resulta util para el indexado de objetos comopuntos. segmentos de linea, rectangulos y otros poligonos. Un arbol R es una estructura arborea equi-librada con los objetos indexados almacenados en los nod os hoja, de manera parecida a los arboles B+.No obstante, en lugar de un rango de valores, se asocia una caja limite con cada nodo del arbol, Lacaja limite de un nodo hoja es el rectangulo mfnimo paralelo a los ejes que contiene todos los objetosalmacenados en el nodo hoja. La caja limite de los nodos intern os, de manera parecida, es el rectangulommimo paralelo a los ejes que contiene las cajas limite de sus nodos hijo. La caja limite de un objeto(como un poligono) viene definida, de manera parecida, como el rectangulo minimo paralelo a los ejesque contiene al objeto.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    11/22

    o~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -~-- - - -- - -- - - -- - - - - -- - - -- - - .

    i 0_ l _ _ B_---,I ! BC,,, 3

    , ,, ', ,, , ,: ~ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ~

    Figura 15.6 Arbol R.

    Cada nodo intemo almacena las cajas limite de los nodos hijo junto con los punteros para los nodoshijo. Cada nodo hijo almacena los objetos indexados y puede que, opcionalmente, almacene las cajaslimite de esos objetos; las cajas limite ayudan a acelerar las comprobaciones de solapamientos de losrectangulos con los objetos indexados-si elrectangulo de una consulta no se solapa con la cajalimite deun objeto, 0 se puede solapar tampoco e1objeto (si los objetos indexados son rectangulos, por supuestono hace.falta almacenar las cajas limite, ya que son identicas a los rectangulos).La Figura 15.6muestra el ejemplo de un conjunto de rectangulos (dibujados con linea continua) y

    de sus cajas limite (dibujadas con linea discontinua) de los nodos de un arbol R para el conjunto derectangulos. Hay que tener en cuenta que las cajas limite semuestran con espacio adicional en su interior,para hacerlas visibles en el dibujo. En realidad, las cajas son menores y se ajustan fielmente a los objetosque contienen; es decir, cada cara de una caja limite C toca como minimo uno de los objetos 0 de lascajas limite que se contienen en C.El arbol R en sfse halla a la derecha de 1aFigura 15.6.La figura hace referencia a las coordenadas de

    la caja limite icomo CLioAhora se vera elmodo de implementar las operaciones de busqueda, insercion y eliminacion en los

    arboles R. Busqueda. Como muestra la figura, las cajas limite con nodos hermanos pueden solaparse: enlos arboles B+, los arboles k-d y los arboles cuadraticos, sin embargo, los rangos no se solapan.Labusqueda de objetos que contengan un punto, por tanto, tiene que seguir todos los nodos hijocuyas cajas limites asociadas contengan el punto; en consecuencia, puede que haya que buscarpor varios caminos. De manera parecida, una consulta para buscar todos los objetos que inter-secten con uno dado tiene que bajar por todos los nodos en que el rectangulo asociado intersecteal objeto dado.

    Inserci6n. Cuando se inserta un objeto en un arbol R se selecciona un nodo hoja para que 10guarde. Lo ideal seria seleccionar un nodo hoja que tuviera espacio para guardar una nuevaentrada, y cuya caja limite contuviera a la caja limite del objeto. Sin embargo, puede que esenodo no exista; aunque exista, hallarlo puede resultar muy costoso, ya que no es posible hallarlomediante un solo recorrido desde la raiz. Encada nodo interno sepueden encontrar varios nodoshijo cuyas cajas limite contengan la caja limite del objeto, y hay que explorar cada uno de esosnodos hijo. Por tanto, como norma heunstica, en un recorrido desde la raiz, si alguno de losnodos hijo tiene una cajalimite que contenga a la caja limite del objeto, el algoritmo del arbol Rescoge una de ellas de manera arbitraria. Sininguno de los nodos hijo satisface esta condicion, elalgoritmo escoge un nodo hijo cuya caja limite tenga el solapamiento maximo con la cajalimitedel objeto para continuar el recorrido.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    12/22

    496 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    Una vez que se ha llegado al nodo hoja, si el nodo ya esta lleno, el algoritmo lleva a cabo unadivisi6n del nodo (y propaga hacia arriba la divisi6n si es necesario) de manera muy parecida a lainserci6n de los arboles B+. Igual que con la inserci6n en los arboles B+, el algoritmo de inserci6nde los arboles R asegura que el arbol siga equilibrado. Ademas, asegura que las cajas limite delos nodos hoja, asf como los nodos internos, sigan siendo consistentes; es decir, las cajas limitede los nodos hoja contienen todas las cajas limites de los poligonos almacenados en el no do hoja,mientras que las cajas limite de los nodos internos contienen todas las cajas limite de los nodoshijo.La principal diferencia del procedimiento de inserci6n con la inserci6n en los arboles B+ radi-

    ca en el modo en que se dividen los nodos. En los arboles B+ es posible hallar un valor tal quela mitad de los de las entradas sea menor que el punto medio y la mitad sea mayor que el valor.Esta propiedad no se genera liza mas alla de una dimensi6n; es decir, para mas de una dimensi6n,no siempre es posible dividir las entradas en dos conjuntos tales que sus cajas limite no se sola-pen. En lugar de eso, como norma heuristica, el conjunto de entradas 8 puede dividirse en dosconjuntos disjuntos 81 y 82 tales que las cajas limite de 81 y 82 tengan un area total minima; otranorma heuristica seria dividir las entradas en dos conjuntos 81 y 82 de modo que 81 y 82 tenganun solapamiento minimo. Los dos nodos resultantes de la divisi6n contendrian las entradas de81 y 82, respectivamente. El coste de hallar las divisiones con area total 0 solapamiento minimospuede ser elevado, por 10 que se usan normas heuristicas mas econ6micas, como la heuristica dela d ivi s i6n cuadrdi ica (la heuristic a recibe el nombre del hecho de que toma el cuadrado del tiempoen el numero de entradas).La principal diferencia del procedimiento de inserci6n con la inserci6n en los arboles B+ radi-

    ca en el modo en que se dividen los nodos. En los arboles B+ es posible hallar un valor tal quela mitad de los de las entradas sea menor que el punto medio y la mitad sea mayor que el valor.Esta propiedad no se generaliza mas alla de una dimensi6n; es decir, para mas de una dimensi6n,no siempre es posible dividir las entradas en dos conjuntos tales que sus cajas limite no se sola-pen. En lugar de eso, como norma heuristica, el conjunto de entradas 8 puede dividirse en dosconjuntos disjuntos 81 y 82 tales que las cajas limite de 81 y 82 tengan un area total minima; otranorma heuristica seria dividir las entradas en dos conjuntos 81 y 82 de modo que 81 y 82 tenganun solapamiento minimo. Los dos nodos resultantes de la divisi6n contendrian las entradas de81 y 82, respectivamente. El coste de hallar las divisiones con area total 0 solapamiento minimospuede ser elevado, por 10 que se usan normas heuristicas mas econ6micas, como la heuristica dela d ivi s i6n cuadrat ica (la heuristica recibe el nombre del hecho de que toma el cuadrado del tiempoen el numero de entradas).La heuristica de la divisi6n cuadratica funciona de esta manera: en primer lugar, selecciona un

    par de entradas a y b de 8 tales que al ponerlas en el mismo nodo den lugar a una caja limite conel maximo de espacio desaprovechado; es decir, el area de la caja limite minima de a y b menosla suma de las areas de a y b es maxima. La heuristic a situa las entradas a y b en los conjuntos 81y 82, respectivamente.Luego af\.ade iterativamente las entradas restantes, una por cada iteraci6n, a uno de los dos

    conjuntos 81 0 82. En cada iteraci6n, para cada entrada restante e, ie,l denota el incremento enel tamaf\.o de la caja limite de 81 si e se af\.ade a 81 e ie,2 denota el incremento correspondientede 82. En cada iteraci6n la heuristica escoge una de las entradas con la maxima diferencia entreie,l e ie,2 y la af\.ade a 81 si ie,l es menor que ie,2, y a 82 en caso contrario. Es decir, se escogeen cada iteraci6n una entrada con "preferencia maxima" por 81 0 82. Las iteraciones se detienencuando se han asignado todas las entradas 0 cuando uno de los conjuntos 81 0 82 tiene entradassuficientes como para que todas las demas entradas haya que anadirlas al otro conjunto de modoque los nodos creados a partir de 81 y 82 tengan la ocupaci6n minima exigida. La heuristic aaf\.ade luego todas las entradas no asignadas al conjunto con men os entradas .

    Eliminaci6n. La elirninaci6n puede llevarse a cabo como si fuera una eliminaci6n de arbol B+,tomando prestadas las entradas de los nodos hermanos, 0 mezclando nodos hermanos si unnodo se queda menos lleno de 10 exigido. Un enfoque alternativo redistribuye todas las entradas

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    13/22

    15.4 Basesde datos multimedia 497

    de los nodos menos llenos de 10 necesario a los nodos hermanos, con el objetivo de mejorar elagrupamiento de las entradas en el arbol R.

    Veanse las referencias bibliograficas para obtener mas detalles de las operaciones de inserci6n y deeliminaci6n en los arboles R, asf como de las variantes de los arboles R, denominados arboles R* 0arboles R".La eficiencia del almacenamiento de los arboles R es mayor que la de los arboles k-d y que la de

    los arboles cuadraticos, ya que cada polfgono s6lo se almacena una vez, y se puede asegurar que cadanodo esta, como minimo, medio lleno. No obstante, las consultas pueden resultar mas lentas, ya que hayque buscar por varios caminos. Las reuniones espaciales son mas sencillas con los arboles cuadraticosque con los arboles R, ya que todos los arboles cuadraticos de cada regi6n estan divididos de la mismamanera. Sin embargo, debido a su mayor eficiencia de almacenamiento, y a su parecido con los arbolesB, los arboles R y sus variantes se han hecho populares en los sistemas de bases de datos que soportandatos espaciales.

    15.4 Basesde datos multimediaLos datos multimedia, como las imageries, el sonido y el video-una modalidad de datos cada vez maspopular-se almacenan hoy en dia casi siempre fuera de las bases de datos, en sistemas de archivos.Este tipo de almacenamiento no sup one ningun problema cuando el numero de objetos multimedia esrelativamente pequefio, ya que las caracteristicas proporcionadas por las bases de datos no suelen serimportantes.Sin embargo, las caracteristicas de las bases de datos se vuelven importantes cuando el numero de

    objetos multimedia almacenados es grande. Aspectos como las actualizaciones transaccionales, las faci-lidades de consulta y e1indexado se vuelven importantes. Los objetos multimedia suelen tener atributosdescriptivos, como los que indican su fecha de creaci6n, su creador y 1acategoria a la que pertenecen. Unenfoque de la creaci6n de una base de datos para esos objetos multimedia es usar las bases de datos paraalmacenar los atributos descriptivos y realizar un seguimiento de los archivos en los que sealmacenanlos objetos multimedia.Sin embargo, el almacenamiento de los objetos multimedia fuera de la base de datos hace mas dificil

    proporcionar la funcionalidad de la base de datos, como el indexado con base en el contenido real dedatos multimedia. Tambien puede llevar a inconsistencias, como que un archivo este registrado en labase de datos pero que sus contenidos falten, 0viceversa. Por tanto, resulta deseable almacenar lospropios datos en la base de datos.Hay que abordar varios aspectos si se pretende almacenar los datos multimedia en una base de datos .

    La base de datos debe soportar objetos de gran tamafio, ya que los datos multimedia como losvideos pueden ocupar varios gigabytes de espacio de almacenamiento. Los objetos de mayor ta-mario pueden dividirse en fragment os menores y almacenarse en la base de datos. De maneraalternativa, los objetos multimedia pueden almacenarse en un sistema de archives, pero la basede datos puede contener un puntero hacia el objeto; el puntero suele ser un nombre de archivo.EI estandar SQL/MED (MED significa Management of External Data, gesti6n de datos externos)perrnite que los datos externos, como los archives, se traten como si formaran parte de la ba-se de datos. Con SQL/MED parece que los objetos son parte de la base de datos, pero puedenalmacenarse externamente.Los formatos de los datos multimedia se estudian en e1Apartado 15.4.l.

    La recuperacion de algunos tipos de datos, como los de sonido y los de video, tiene 1aexigenciade que la entrega de los datos debe realizarse a una velocidad constante garantizada. Estos datosse denominan a veces datos is6cronos 0datos de medios continuos. Por ejemplo, si los datos desonido no se proporcionan a tiempo, habra saltos en el sonido. Si los datos se proporcionan de-masiado deprisa, se pueden desbordar las memorias intermedias, 10 que dara 1ugar a 1aperdidade datos. Los datos de medios continuos se estudian en el Apartado 15.4.2.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    14/22

    498 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    La recuperaci6n basada en la semejanza es necesaria en muchas aplicaciones de bases de datosmultimedia. Por ejemplo, en una base de datos que almacene imageries de huellas digitales, seproporciona una consulta de la imagen de una huella dactilar y hay que recuperar las huellasdactilares de la base de datos que sean parecidas ala huella dactilar de la consulta. Las estructurasde Indices como los arboles B+ y los arboles R no se pueden usar para esta finalidad; hay quecrear estructuras especiales de indices. La recuperaci6n basada en el parecido se estudia en elApartado 15.4.3

    15.4.1 Formatos de datos multimediaDebido al gran numero de bytes necesarios para representar los datos multimedia es fundamental quese almacenen y transmitan de manera comprimida. Para los datos de imageries el formato mas usado esJPEG, que recibe su nombre del organismo de normalizaci6n que 10 cre6: el grupo conjunto de expertosen imageries U o in t P ic tu re E x pe rt s Gr ou p ). Se pueden almacenar los datos de video codificando cada foto-grama de video en formato JPEG, pero esa codificaci6n supone un desperdicio, ya que los fotogramas devideo sucesivos suelen ser casi iguales. El grupo de expertos en peliculas (M o vin g P ic tu re E xp er ts G ro up )desarrollo la serie de estandares M PEG para codificar los datos de video y de sonido; estas codificacio-nes aprovechan las similitudes de las secuencias de fotogramas para conseguir un grado de compresi6nmayor. El estandar MPEG-l almacena un minuto de video y sonido a treinta fotogramas por segundo enunos 12.5 megabytes (en comparaci6n can los aproximadamente 75megabytes solo para video en fPEG).No obstante, la codificaci6n MPEG-1 introduce alguna perdida de calidad del video, a un nivel aproxi-madamente equivalente al de las cintas de video VHS.El estandar MPEG-2 se disefio para los sistemas deradiodifusi6n digitales y para los discos de video digitales (DVD); s6lo introduce una perdida de calidadde video despreciable. MPEG-2 comprime un minuto de video y de sonido en aproximadamente 17 me-gabytes. MPEG-4 proporciona tecnicas de mayor compresi6n de video con ancho de banda variable paraproporcionar la difusi6n de video en redes con un amplio rango de anchos de banda. Se usan variosestandares competidores para la codificaci6n de sonido, entre ellos M P3 (que significa MPEG-l Capa 3),RealAudio y otros formatos.

    15.4.2 Datos de medios continuosLos tipos mas importantes de datos de medios continuos son los datos de video y los de sonido (porejemplo, una base de datos de peliculas). Los sistemas de medios continuos se caracterizan por susrequisitos de entrega de informaci6n en tiempo real:

    Los datos deben entregarse 10 bastante rapido como para que no haya saltos en el resultado desonido 0de video.

    Los datos deben entregarse a una velocidad que no cause un desbordamiento de las memoriasintermedias del sistema.

    La sincronizaci6n entre los distintos flujos de datos debe conservarse. Esta necesidad surge, porejemplo, cuando el video de una persona que habla muestra sus labios rnoviendose de manerasincronizada con el sonido de su voz.

    Para proporcionar los datos de manera predecible en el momento correcto a un gran ruimero deconsumidores de los datos la captura de los datos desde el disco debecoordinarse cuidadosamente.Generalmente los datos se capturan en ciclos peri6dicos. En cada ciclo, digamos de n segundos, secapturan n segundos de datos para cada consumidor y se almacenan en las memorias intermedias,mientras los datos capturados en el ciclo anterior se envian a los consumidores desde las memoriasintermedias. El periodo de los ciclos es un compromiso: un periodo corto usa menos memoria peronecesita mas movimientos del brazo del disco, 10 que sup one un desperdicio de recursos, mientras que,un periodo largo reduce el movimiento del brazo del disco pero aumenta las necesidades de memoria vpuede retrasar la entrega inicial de datos. Cuando lIega una nueva solicitud entra en acci6n el control deadmisi6n: es decir, el sistema comprueba si se puede satisfacer la solicitud con los recurs os disponibles(en cada periodo); si es asi, se admite; en caso contrario, se rechaza.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    15/22

    500 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    dencias tecno16gicas para crear aplicaciones en las cuales la suposicion de una administraci6n y de uncontrol centralizados no es completamente correcta:

    1. El uso cada vez mas extendido de computadoras personales y, sobre todo, de computadorasportatiles.

    2. El desarrollo de una infraestructura inalambrica de comunicaciones digitales de coste relativa-mente bajo, basada en redes inalambricas de area local, redes celulares de paquetes digitales yotras tecnologias.

    La informatica movil se ha mostrado util en muchas aplicaciones. Muchos profesionales us an compu-tadoras portatiles para poder trabajar y tener acceso a los datos durante sus viajes. Los servicios demensajeria usan computadoras portatiles para ayudar al seguimiento de los paquetes. Los servicios deemergencia usan computadoras portatiles en el escenario de los desastres, en las emergencias medicasy similares para tener acceso a la informaci6n y para introducir datos relativos a la situaci6n. Los tele-fonos moviles (celulares) se estan convirtiendo en dispositivos que no solo proporcionan servicios detelefonia, sino que permiten el correo electronico y el acceso Web. Siguen surgiendo nuevas aplicacionesde las computadoras portatiles.

    Las computadoras comunicadas por radio crean una situacion en que las maquinas ya no tienenubicaciones fijas ni direcciones de red. Las consuItas dependientes de la ubicacion son una clase intere-sante de consultas que esta motivada por las computadoras portatiles: en estas consultas la ubicaci6ndel usuario (computadora) es un parametro deb consulta. El valor del parametro de ubicaci6n 10 pro-porciona el usuario 0, cad a vez mas, un sistema de posicionamiento global (GPS). Un ejemplo son lossistemas de informaci6n para viajeros que proporcionan a los conductores datos sobre los hoteles, losservicios de carretera y similares. El procesamiento de las consultas sobre los servicios que se hallan masadelante en la ruta actual debe basarse en la ubicaci6n del usuario, en su direcci6n de movimiento y ensu velocidad. Se ofrecen cada vez mas ayudas a la navegaci6n como una caracterfstica integrada en losautom6viles.

    La energia (la carga de las baterfas) es un recurso escaso para la mayor parte de las computadorasportatiles. Esta limitaci6n influye en muchos aspectos del disefio de los sistemas. Entre las consecuen-cias mas interesantes de la necesidad de eficiencia energetica es que los pequefios dispositivos m6vilesemplean 1amayor parte del tiempo hibernandose, despertandose durante una fracci6n de segundo cadasegundo aproximadamente para comprobar si hay datos entrantes y para enviar datos. Este comporta-miento tiene un impacto significativo en los protocolos usados para comunicarse con los dispositivosm6viles. El uso de emisiones programadas de datos en los sistemas m6viles para reducir la necesidadde transmisi6n de consultas es otra forma de reducir los requisitos de energia.

    Cantidades cada vez mayores de datos residen en maquinas administradas por los usuarios en lugarde por administradores de bases de _datos. Ademas, estas rnaquinas pueden estar, a veces, desconectadade la red. En muchos casos hay un conflicto entre la necesidad del usuario de seguir trabajando mientrasesta desconectado y la necesidad de consistencia global de los datos.

    En los Apartados 15.5.1 a 15.5.4 se estudian tecnicas en uso y en desarrollo para tratar los problemasde las computadoras portatiles y de la informatica personal.

    15.5.1 Un modelo de informatica m6vilEl entorno de la informatica m6vil consiste en computadoras portatiles, denominadas anfitriones mo-viles, y una red de computadoras conectadas por cable. Los anfitriones m6viles se comunican con la redde cable mediante computadoras denominadas estaciones para el soporte de movilidad. Cada estacio __para el soporte de movilidad gestiona los anfitriones m6viles de su celda-es decir, del area geograficaque cubre. Los anfitriones m6viles pueden moverse de unas celdas a otras, por 10 que necesitan el re-levo del control de una estaci6n para el soporte de movilidad a otra. Dado que los anfitriones movilespueden, a veces, estar apagados, un anfitrion puede abandonar una celda y aparecer mas tarde en otradistante. Por tanto, los movimientos de unas celdas a otras no se realizan necesariamente entre celdasadyacentes. Dentro de un area pequefia, como un edificio, los anfitriones m6viles pueden conectarse

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    16/22

    15.5 Computadoras portatiles y bases de datos personales 501

    mediante una red inalamb rica de area local que proporciona conectividad de coste mas reducido quelas redes celulares de area amplia, y que reduce 1asobrecarga de entregas.Es posible que los anfitriones m6viles se comuniquen directamente sin intervenci6n de ninguna esta-

    ci6n para el soporte de movilidad. No obstante, esa comunicaci6n s6lo puede ocurrir entre anfitrionescercanos. Estas formas directas de comunicaci6n se estan haciendo mas frecuentes con la llegada delestandar Bluetooth. Bluetooth usa radio digital de corto alcance para permitir la conectividad por radioa alta velocidad (hasta 721 kilobits por segundo) a distancias inferiores a diez metros. Concebido inicial-mente como una sustituci6n de los cables, 10mas prometedor de Bluetooth es la conexi6n ad hoc sencillaentre computadoras portatiles, PDAs, telefonos celulares y las denominadas aplicaciones inteligentes.Los sistemas de redes de area local inalambricas basados en las normas 801.11 (alb I g) se usan mucho

    actualmente y los sistemas basados en 802.16 (Wi-Max) aparecieron en 2005.La infraestructura de red para la informatica m6vil consiste en gran parte en dos tecnologias: redes

    inalambricas locales y redes de telefonia celular basadas en paquetes. Los primeros sistemas celularesusaban tecnologia analogica y estaban disefiados para la comunicaci6n de voz. Los sistemas digitalesde segunda generaci6n siguieron centrandose en las aplicaciones de voz. Los sistemas de tercera gene-raci6n (3G) y los denominados sistemas 2.5G usan redes basadas en paquetes y estan mas adaptados alas aplicaciones de datos. En estas redes la voz es s610 una mas de las aplicaciones (aunque una econo-micamente importante).Bluetooth, las redes de area local inalambricas y las redes celulares 2.5G y 3G hacen posible que se

    comuniquen a bajo coste gran variedad de dispositivos. Aunque esta comunicaci6n en si misma noencaja en el dominic de las aplicaciones habituales de bases de datos, los datos de la contabilidad, delcontrol y de la administraci6n correspondientes a esta comunicaci6n generan bases de datos enormes.La inmediatez de la comunicaci6n por radio genera la necesidad de acceso en tiempo real a muchas deestas bases de datos. Esta necesidad de inmediatez anade otra dimensi6n a las restricciones del sistema-un asunto que se abordara en profundidad en el Apartado 15.3.El tamano y las limitaciones de potencia de muchas computadoras portatiles han llevado a la crea-

    ci6n de jerarquias de memoria alternativas. En lugar de, 0 ademas de, el almacenamiento en disco,puede incluirse la memoria flash, que se estudi6 en el Apartado 11.1. Si el anfitri6n m6vil incluye undisco duro, puede que se permita que el disco deje de girar cuando no se uti lice, para ahorrar energia.Las mismas consideraciones de tamafio y de energia limitan el tipo y el tamafio de las pantallas usadasen los dispositivos porta tiles. Los diseriadores de los dispositivos portatiles suelen crear interfaces deusuario especiales para trabajar con estas restricciones. No obstante, la necesidad de presentar datosbasados en Web ha exigido la creaci6n de estandares para presentaciones. El protocolo de aplicacionesina lamb rico (Wireless Application Protocol, WAP) es un estandar para el acceso inalambrico a Inter-net. Los exploradores basados en WAPtienen acceso a paginas Web especiales que usan ellenguaje demarcas inalambrico (Wireless Markup Language, WML),un lenguaje basado en XMLdisenado para lasrestricciones de la exploraci6n Web m6vil e inalambrica,

    15.5.2 Encaminamiento y procesamiento de consultasLa ruta entre cada par de anfitriones puede cambiar con el tiempo si alguno de los dos anfitriones esm6vil. Este sencillo hecho tiene un efecto espectacular en el nivel de la red, ya que las direcciones de redbasadas en las ubicaciones ya no son constantes en el sistema.La informatica m6vil tambien afecta directamente al procesamiento de consultas de las bases de da-

    tos. Es necesario considerar los costes de comunicaci6n cuando se escoge una estrategia de procesamien-to distribuido de las consultas. La informatica m6vil hace que los costes de comunicaci6n cambien demanera dinamica, 10 que complica el proceso de optimizaci6n. Ademas, varios conceptos de coste quehay que considerar en relaci6n con los demas:

    El tiempo del usuario es una materia prima muy valiosa en muchasaplicaciones profesionales . El tiempo de conexi6n es la unidad por la que se asignan loscostes monetarios en algunos siste-mas de telefoniacelular. .

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    17/22

    502 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    El ruimero de bytes, 0de paquetes, transferidos es la unidad por la que se calculan los costesalgunos sistemas de telefonia celu1ar digital.

    Los costes basados en la hora del dia varian, en funci6n de si 1acomunicaci6n se produce duranlos periodos pico 0 durante los periodos valle. La energia es limitada. A menudo la energia de las baterias es un recurso escaso cuyo uso deoptimizarse. Un principio basico de las comunicaciones inalambricas es que hace falta menenergia para recibir sefiales de radio que para emitirlas. Asi, la transmisi6n y la recepci6n dedatos imponen demandas de energia diferentes al anfitri6n m6vil.

    15.5.3 Datos de difusi6nSuele ser deseable para los datos que se solicit an con frecuencia que los transmitan las estacionessoporte de las computadoras portatiles en un ciclo continuo, en lugar de que se transmitan a los antriones m6viles a petici6n de estes. Una aplicaci6n tfpica de estos datos de difusi6n es la informaci6de las cotizaciones bursatiles, Hay dos motivos para usar los datos de difusi6n. En primer lugar,anfitriones m6viles evitan el coste energetico de transmitir las solicitudes de datos. En segundo luglos datos de difusi6n pueden recibirlos simultaneamente gran numero de anfitriones moviles, sin coadicional. Por tanto, el ancho de banda disponible para transmisiones se usa de manera mas efectiva.Asi, los anfitriones m6viles pueden recibir los datos amedida que se transmiten, en 1ugar de consum

    energia transmitiendo solicitudes. Puede que los anfitriones m6viles tengan almacenamiento no voladisponible para guardar en la cache los datos de difusion para su uso posterior. Dada una consultlos anfitriones m6viles pueden minimizar los costes energeticos determinando si pueden procesars610 con los datos guardados en 1acache. Si los datos guardados en la cache son insuficientes, hay dopciones: esperar a que los datos se transmitan a transmitir una solicitud de datos. Para tomar edecision los anfitriones m6viles deben conocer el momento en que se transmitiran los datos en cuestioLos datos de difusi6n pueden transmitirse de acuerdo con una programaci6n fija 0segun una pr

    gramaci6n variable. En el primer caso, los anfitriones m6viles usan la programaci6n fija conocida padeterminar el momento en que se transmitiran los datos en cuestion, En e1segundo caso, se debe tranmitir la propia programaci6n de transmisiones en una frecuencia de radio conocida y a interval ostiempos conocidos.En efecto, el medio transmitido puede modelarse como un disco con una latencia elevada. Las

    licitudes de datos pueden considerarse atendidas cuando los datos solicitados se transmiten. Las prgramaciones de transmision se comportan como los indices de los discos. Las notas bibliograficas cittrabajos de investigaci6n recientes en e1area de administraci6n de los datos de difusion,

    15.5.4 Desconexiones y consistenciaDado que puede que las comunicaciones inalarnbricas se paguen con arreglo al tiempo de conexi6n, hun incentivo para que se desconecten determinados anfitriones m6viles durante periodos de tiemconsiderables. Las computadoras portatiles sin conectividad inalambrica estan desconectadas la mayparte del tiempo en que se usan, excepto cuando se conectan de manera peri6dica a sus computadoraanfitrionas, fisicamente 0 mediante una red informatica.Durante esos periodos de desconexi6n puede que el anfitri6n movil siga operativo. Puede queusuario del anfitri6n m6vil formule consultas y solicite actualizaciones de los datos que residen loc

    mente 0 que se han guardado en la cache local. Esta situaci6n crea varios problemas, en especial: Recuperabilidad. Las actualizaciones introducidas en una maquina desconectada pueden pderse si el anfitri6n m6vil sufre un fallo catastr6fico. Dado que el anfitri6n m6vil represent aunico punto de fallo, no se puede simular bien el almacenamiento estable.

    Consistencia. Los datos guardados en la cache local pueden quedar obsoletes, pero el anfitrim6vil no puede descubrir la situaci6n hasta que vuelva a conectarse. De manera parecida,actualizaciones que se produzcan en el anfitri6n m6vil no pueden transmitirse hasta que noproduzca de nuevo la conexi6n.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    18/22

    15.5 Computadoras portatiles y bases de datos person ales 503

    En los sistemas distribuidos conectados por redes fisicas las particiones se consider an un modo defallo: en la informatica movil las particiones mediante desconexiones son parte del modo de operacionnormal. Por tanto, es necesario permitir que continue el acceso a los datos a pesar de las particiones,pese al riesgo de que se produzca una perdida de consistencia.Para los datos actualizados solo por el anfitrion movil, es sencillo transmitir las actualizaciones cuan-

    do el anfitrion movil vuelve a conectarse. No obstante, si el anfitrion rnovil guarda en la cache copias delos datos solo para lectura que pueden actualizar otras computadoras, puede que los datos guardadosen la cache acaben siendo inconsistentes. Cuando se conecta el anfitrion movil. puede recibir informesde invalidacion que 10 informen de las entradas de la cache que estan obsoletas. No obstante, cuando elanfitrion movil este desconeetado puede perder algun informe de invalidacion. Una solucion sencilla aeste problema es invalidar toda la cache al volver a conectar el anfitrion movil, pero una solucion tan ex-trema resulta muy costosa. En las notas bibliograficas se citan varios esquemas para el almacenamientoen la cache.Si se pueden producir aetualizaciones tanto en el anfitrion movil como en el resto del sistema, la de-

    teccion de las aetualizaciones conflictivas resulta mas dificil. Los esquemas basados en la numeracion deversiones permiten las actualizaciones de los archivos compartidos desde los anfitriones desconectados.Estos esquemas no garantizan que las actualizaciones sean consistentes. Mas bien, garantizan que, si dosanfitriones actualizan de manera independiente la misma versi6n del documento, el conflicto se acabaradescubriendo, cuando los anfitriones intercambien informaci6n directamente 0mediante un anfitri6ncomun,El esquema del vector de versiones detecta las inconsistencias cuando las copias de un documento

    se actualizan de manera independiente. Este esquema permite que las copias de un documento se alma-cenen en varios anfitriones. Aunque se utilice el termino documento, el esquema puede aplicarse a otroselementos de datos, como las tuplas de una relaci6n.La idea basica es que cada anfitrion i almacene, con su copia de cada documento d, un vector de

    versiones-es decir, un conjunto de numeros de versiones {Vd.dj]L con una entrada para cada unode los dernas anfitriones d en los que se puede actualizar potencialmente el documento. Cuando unanfitrion iactualiza un documento d, incrementa el mimero de versi6n Vd,- i t il en una unidad.Siempre que dos anfitriones i y d se conectan entre sf, intercambian los documentos actualizados, de

    modo que los dos obtienen versiones nuevas de los documentos. No obstante, antes de intercambiar losdocumentos, los anfitriones tienen que averiguar si las copias son consistentes:

    1. Si los vectores de versiones son iguales en los dos anfitriones-es decir, si para cada k , V d, i[ k] =V d,j [k ]-las copias del documento d son identicas,

    2. Si, para cada k , V d,dk ] < : : : : Vd, j [k ] y los vectores de versiones no son identicos, la copia del docu-mento 'd del anfitrion ies mas antigua que la del anfitri6n d . Es decir, la copia del documentod del anfitrion d se obtuvo mediante una 0mas modificaciones de la copia del documento delanfitri6n i. El anfitri6n isustituye su copia de d, asi como su copia del vector de versiones de d,por las copias del anfitri6n d.

    3. Si hay un par de anfitriones k y m tales que 1icl , i [k] < Vd, j [k ] y V :t,; [m ] > Vd, j [m] , las copias son in -consistentes; es decir, la copia de d de i contiene actualizaciones realizadas por el anfitri6n k que nose han transmitido al anfitri6n d y,de manera parecida, la copia de d de d contiene actualizacionesllevadas a cabo por el anfitri6n m que no se han transmitido al anfitri6n i. Entonces, las copias ded son inconsistentes, ya que se han realizado de manera independiente dos 0mas actualizacionesde d. Puede que se necesite la intervenci6n manual para mezclar las actualizaciones.

    El esquema de vectores de versiones se disefi6 inicialmente para tratar los fallos en los sistemas dearchivos distribuidos. El esquema adquiri6 mayor importancia porque las computadoras portatiles sue-len almacenar copias de los archivos que tambien se hallan presentes en los sistemas servidores, 10 queconstituye de facto un sistema de archivos distribuido que suele estar desconectado, Otra aplicacionesde este esquema son los sistemas en grupo, en que los anfitriones se coneetan de manera peri6dica, enlugar de hacerlo de manera continua, y deben intercambiar los documentos actualizados. El esquemadel vector de versiones tambien tiene aplicaciones en las bases de datos replicadas.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    19/22

    504 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    No obstante, el esquema del vector de versiones no logra abordar el problema mas dificil e importanteque plantean las actualizaciones de los datos compartidos-Ia reconciliaci6n de las copias inconsistentesde los datos. Muchas aplicaciones pueden llevar a cabo de manera automatica la reconciliaci6n ejecutan-do en cada computadora las operaciones que han conducido a las actualizaciones en las computadorasremotas durante el periodo de desconexi6n. Esta soluci6n funciona si las operaciones de actualizaci6nconmutan-es decir, generan el mismo resultado, independientemente del orden en que se ejecuten.Puede que se disponga de tecnicas alternativas en ciertas aplicaciones; en el peor de los cases, no obs-tante, debe dejarse a los usuarios que resuelvan las inconsistencias. El tratamiento automatico de estasinconsistencias y la ayuda a los usuarios para que resuelvan las que no puedan tratarse de maneraautomatica sigue siendo un area de investigaci6n.Otra debilidad es que el esquema del vector de versiones exige una comunicaci6n sustancial entreel anfitri6n m6vil que vuelve a conectarse y su estaci6n para el soporte de movilidad. Las verificacio-nes de la consistencia pueden posponerse hasta que se necesiten los datos, aunque este retraso puedeincrementar la inconsistencia global de la base de datos.La posibilidad de desconexi6n y el coste de las cornunicaciones inalambricas limitan el aspecto prac-tico de las tecnicas de procesamiento de las transacciones para los sistemas distribuidos. A menudoresulta preferible dejar que los usuarios preparen las transacciones en los anfitriones m6viles y exigirque, en lugar de ejecutarlas localmente. las remitan al servidor para su ejecuci6n. Las transacciones queafectan a mas de una computadora y que incluyen un anfitri6n m6vil afrontan bloqueos de larga dura-ci6n durante el compromiso de la transaccion, a menos que las desconexiones sean muy poco frecuenteso predecibles.

    15.6 Resumen El tiempo desempefia un papel importante en los sistemas de bases de datos. Las bases de datosson modelos del mundo real. Aunque la mayor parte de las bases de datos modelan el estado delmundo real en un momento dado (en el momento actual), las bases de datos temporales modelanlos estados del mundo real a 10 largo del tiempo. Los hechos de las relaciones temporales tienen momentos asociados cuando son valid os, que

    pueden representarsecomo una uni6n de intervalos. Los lenguajes de consultas temporales sim-plifican el modelado del tiempo, asf como las consultas relacionadas con el tiempo. Las bases de datos espaciales se usan cada vez mas hoy en dia para almacenar datos de disefioasistido por computadora y datos geogrMicos. Los datos de diseno se almacenan sobre todo como datos vectoriales; los datos geograficos con-sisten en una combinaci6n de datos vectoriales y lineales. Las restricciones de integridad espacialson importantes para los datos de disefio, Los datos vectoriales pueden codificarse como datos de la primera forma normal 0 almacenarsemediante estructuras que no sean la primera forma normal, como las listas. Las estructuras deindices de finalidad espacial resultan especialmente importantes para tener acceso a los datos

    espaciales y para procesar las consultas espaciales. Los arboles R son una extensi6n multidimensional de los arboles B;con variantes como los arbo-les R+ y los arboles R*, se han hecho populares en las bases de datos espaciales. Las estructurasde indices que dividen el espacio de manera regular, como los arboles cuadraticos, ayudan aprocesar las consultas de mezcla espaciales. Las bases de datos multimedia estan aumentando de importancia. Problemas como la recupe-raci6n basada en la semejanza y la entrega de datos a velocidades garantizadas son temas deinvestigaci6n actuales. Los sistemas de informatica m6vil se han vuelto de uso comun, 10 que ha llevado al interes parlos sistemas de bases de datos que pueden ejecutarse en ellos. El procesamiento de las consultasen estos sistemas puede implicar la busqueda en las bases de datos de los servidores. El modelo

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    20/22

    Ejerciciospractices 505

    de coste de las consultas debe incluir el coste de la comunicaci6n, incluido el coste moneta rio y elcoste de la energta de las baterfas, que resulta relativamente elevado para los sistemas portatiles. La transmision resulta mucho mas economica por receptor que la comunicacion punto a punto,y la transmision de datos como los datos bursatiles ayuda a los sistemas portatiles a recoger losdatos de manera economica. La opera cion en desconexi6n, el uso de los datos de difusion y el almacenamiento de los datosen la cache son tres problemas importantes que se estan abordando hoy en dia en la informaticamovil.

    Terminos de repaso Datos temporales. Tiempo valido. Tiempo de transacci6n. Relaci6n temporal. Relaci6n bitemporal. Tiempo universal coordinado (UTC). Relaci6n instantanea. Lenguajes de consultas tempora1es. Seleccion temporal. Proyecci6n temporal. Reunion temporal. Mezcla temporal. Datos espaciales y geograficos. Datos de disefio asistido por computadora(Computer Aided Design, CAD). Datos geograficos. Sistemas de informaci6n geografica. Triangulaci6n. Bases de datos de diseno, Datos geograficos. Datos por lineas (raster). Datos vectoriales. Sistema de posicionamiento global (Global

    Positioning System, CPS). Consultas espaciales. Consultas de proximidad. Consultas de vecino mas proximo.

    Consultas regionales. Reuni6n espacial. Indexado de los datos espaciales. Arboles k-d... Arboles k-d B. Arboles cuadraticos:o PR.o Regional. Arboles R.o Caja limite.o Division cuadratica. Bases de datos multimedia... Datos is6cronos... Datos de medios continuos.C > Recuperaci6n basada en la semejanza. Formatos de datos multimedia. Servidores de video... Informatica m6vil.o Anfitriones moviles.o Estaciones de soporte de las compu-tadoras porta tiles.o Celda.o Relevo... Consultas dependientes de la ubicaci6n. Datos de difusi6n... Consistencia.o Informes de invalidaci6n.o Esquema del vector de versiones.

    Ejercicios practices15.1 Indiquense los dos tipos de tiempo y en 10que se diferencian. Expliquese el motivo de que hayados tipos de tiempo asociados con cada tupla.15.2 Sup6ngase que se tiene una relaci6n que contiene las coordenadas x, y y los nombres de variosrestaurantes. Sup6ngase tambien que las unicas consultas que se formularan seran de 1a forma

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    21/22

    506 Capitulo 15 Tipos de datos avanzados y nuevas aplicaciones

    siguiente: la consulta especifica un punto y pregunta si hay algun restaurante exactamente en esepunto. Indiquese el tipo de fndice que seria preferible, arbol R 0 arbol B.Explfquese el motivo.

    15.3 5up6ngase que se dispone de una base de datos espacial que soporta consultas regionales (conregiones circulares) pero no consultas de vecino mas pr6ximo. Descrfbase un algoritmo para hallarel vecino mas pr6ximo haciendo uso de varias consultas regionales.

    15.4 5up6ngase que se desean almacenar segmentos rectilineos en un arbol R. Si un segmento rectilineono es paralelo a los ejes, su caja limite puede ser grande y contener una gran area vacia . Descrfbase el efecto en el rendimiento de tener cajas limite de gran tamafio en las consultasque piden los segmentos rectilineos que intersectan una regi6n dada .

    Descrfbase brevemente una tecnica para mejorar el rendimiento de esas consultas y dese unejemplo de sus ventajas. Sugerencia: se pueden dividir los segmentos en partes mas pequefias.

    15.5 Dese un procedimiento recursivo para calcular de manera eficiente la mezcla espacial de dosrelaciones con indices de arbol R. Sugerencia: usense cajas limite para comprobar si las entradashojas bajo W1par de nodos internos pueden intersectarse.

    15.6 Descrfbase el modo en que las ideas subyacentes ala organizaci6n RAID (Apartado 11.3) puedenusarse en un entorno de datos de difusi6n, donde puede que haya ocasionalmente ruido queimpida la recepci6n de parte de los datos que se estan transmitiendo.

    15.7 Definase un modelo en que se difundan repetidamente los datos en el que el medio de transmisionse modele como un disco virtual. Descrfbase el modo en que el tiempo de acceso y la velocidad detransferencia de datos del disco virtual se diferencian de los valores correspondientes a un discoduro normal.

    15.8 Considerese una base de datos de documentos en la que todos los documentos se conserven enuna base de datos central. En las computadoras portatiles se guardan copias de algunos docu-mentos. 5up6ngase que la computadora portatil A actualiza una copia del documento 1mientrasesta desconectada y que, al mismo tiempo, la computadora portatil B actualiza una copia deldocumento 2 mientras esta desconectada. Muestrese e1modo en que el esquema del vector ver-si6n puede asegurar la actualizaci6n adecuada de la base de datos central y de las computadorasporta tiles cuando se vuelva a conectar una computadora portatil.

    Ejercicios15.9 Indfquese si se conservaran las dependencias funcionales si se convierte una relaci6n en una rela-

    ci6n temporal afiadiendole un atributo temporal. Indiquese el modo en que se resuelve el proble-ma en las bases de datos temporales.

    15.10 Considerense dos datos vectoriales bidimensionales en que los elementos de datos no se solapan.Indiquese si es posible convertir esos datos vectoriales en datos lineales. En caso de que sea po-sible, indiquense los inconvenientes de almacenar los datos lineales obtenidos de esa conversionen lugar de los datos vectoria1es originales.

    15.11 Estudiese el soporte de los datos espaciales ofrecido por el sistema de bases de datos que se estausando e implementese 10siguiente:a. Un esquema para representar 1a ubicaci6n geogrMica de los restaur antes y caracteristicascomo la cocina que se sirve en cada restaurante y su nivel de precios.

    b. Una consu1ta para hallar los restaurantes econ6micos que sirven comida india y que se hallana menos de nueve kilometres de casa de11ector (sup6ngase cua1quier ubicaci6n para 1acasadel lector ).

    c. Una consulta para hallar para cada restaurante su distancia al restaurante mas cercano quesirve la misma cocina y con el mismo nive1 de precios.

  • 8/2/2019 Capitulo 15- Tipos de Datos Avanzados y Nuevas Aplicaciones

    22/22

    Notas bibliograficas 507

    15.12 Indiquense los problemas que se producen en un sistema de medios continuos si los datos seentregan demasiado 1ento 0 demasiado rapido.

    15.13 Indiquense tres caracteristicas principales de la informatica m6vil en redes inalambricas que sondiferentes de las de los sistemas distribuidos tradicionales.

    15.14 Indiquense tres factores que haya que considerar en la optimizaci6n de las consultas para la in-formatica m6vil que no se consideren en los optimizadores de consultas tradicionales.

    15.15 Dese un ejemplo para mostrar que el esquema del vector versi6n no asegura 1asecuenciabilidad.Sugerencia: utilicese el ejemplo del Ejercicio practice 15.8, con la suposici6n de que los documentos1y 2 estan disponibles en las dos computadoras portatiles A y B,Ytengase en cuenta la posibilidadde que un documento pueda leerse sin que se actualice.

    Notas biblloqraficasStarn y Snodgrass [1988] y Soo [1991] proporcionan estudios sobre 1aadrninistracion de los datos tern-porales. Jensen et al. [1994] presentan un glosario de conceptos de las bases de datos temporales, conla intenci6n de unificar la terminologfa. Tansel et a1. [1993] es una colecci6n de articulos sobre diferen-tes aspectos de las bases de datos temporales. Chomicki [1995] presenta tecnicas para administrarIasrestricciones para la integridad temporal.Heywood et a1.[2002] es un libro que estudia los sistemas de informaci6n geografica. Samet [1995b]

    proporciona una introducci6n a la gran cantidad de trabajo realizado sobre las estructuras espacialesde indices. Samet [1990]praporciona una cobertura en el nivel de los libros de texto de las estructurasespaciales de datos. Una de las primer as descripciones de los arboles cuadraticos se proporciona enFinkel y Bentley [1974]. Samet [1990] y Samet [1995b] describen numerosas variantes de los arbolescuadraticos. Bentley [1975] describe los arboles k-d, y Robinson [1981] describe los arboles k-d B. Losarboles R se presentaron originalmente en Guttman [1984]. Las extensiones de los arboles R se presen-tan en Sellis et a1.[1987],que describen los arboles R+IYBeckmann et a1.[1990],que describen los arbolesR*tree.Brinkhoff et a1.[1993]estudian una implementaci6n de las mezclas espaciales mediante arboles R. Lo

    y Ravishankar [1996] y Patel y DeWitt [1996]presentan los metodos basados en las particiones para elcalculo de las mezclas espaciales. Samet y Aref [1995] proporcionan una introducci6n de los modelosespaciales de datos, de las operaciones espaciales y de la integraci6n de los datos espaciales con los noespaciales.Revesz [2002] es un libra que estudia el area de las bases de datos con restricciones; los intervalos

    temporales y las regiones espaciales se pueden pensar como un caso especial de restricciones.Samet [1995a] describe los campos de investigaci6n en las bases de datos multimedia. EI indexado de

    los datos multimedia se estudia en Faloutsos y Lin [1995].Dashti et a1. [2003] es un libra que describe el diseno de servidores de flujos de datos de medios,

    incluyendo un estudio extensivo de la organizaci6n de datos en subsistemas de discos. Los servidoresde video se estudian en Anderson et a1. [1992], Rangan et al. [1992], Ozden et a1. [1994], Freedman yDeWitt [1995]y Ozden et a1.[1996b]. La tolerancia a los fallos se estudia en Berson et a1.[1995]y Ozdenet a1. [1996a].La administraci6n de la informaci6n en los sistemas que incluyen computadoras portatiles se estudia

    en Alonso y Korth [1993] yen Imielinski y Badrinath [1994]. Imielinski y Korth [1996] presentan unaintroducci6n a la informatica m6vil y una colecci6n de trabajos de investigaci6n sobre el tema.El esquema del vector de versiones para la detecci6n de la inconsistencia en los sistemas de archivos

    distribuidos se describe en Popek et al. [1981]y en Parker et a1.[1983].