viernes, 25 de mayo de 2018
BASE DE DATOS ESPECIALES
Todo cuanto hemos visto en los puntos anteriores constituye el conjunto de ideas fundamentales sobre las que se asienta la creación y uso de bases de datos de cualquier índole. No obstante, no hemos mencionado a lo largo de los ejemplos presentados ningún dato de carácter espacial, a pesar de que sabemos bien que la información geográfica contiene tanto una componente temática como una espacial. Más aún, algunos de los atributos en los sencillos casos mostrados, como puede ser el atributo, son fácilmente asociables a elementos geográficos (por ejemplo, un punto que señale el centro de la ciudad o un polígono que recoja su contorno).
Aunque las ideas anteriores no pierden su validez al incorporar datos espaciales, la inclusión de estos no es en absoluto obvia, y presenta una complejidad adicional que requiere de nuevos planteamientos para poder seguir trabajando con la base de datos de una forma similar a como sucede cuando se trabaja con los tipos de datos habituales. Mantener las características propias del SGBD en el contexto de los datos espaciales no es sencillo, y tampoco lo es integrar esa base de datos dentro de un SIG y permitir que este aproveche la potencia de dicha base de datos de la mejor manera posible.
Las bases de datos espaciales representan una de las áreas dentro del manejo de datos donde se ha desarrollado últimamente una mayor evolución, especialmente debido a la gran importancia que los SIG, usuarios primordiales de este tipo de bases de datos, han cobrado recientemente. Esta evolución ha ido paralela a la forma en que los SIG han trabajado con esas bases de datos y cómo se han integrado en ellos las operaciones y funcionalidades que ofrecen.
SISTEMA DE BASES DE DATOS
Junto con las bases
de datos, el elemento fundamental para el aprovechamiento de estas son
los Sistemas Gestores de Bases de
Datos (SGDB o DBMS, del inglés DataBase Management System). Estos sistemas representan un
elemento intermedio entre los propios datos y los programas que van a hacer uso
de ellos, facilitando las operaciones a realizar sobre aquellos. En nuestro
caso, son el componente que permite unir el SIG con la base de datos en la que
se almacenan los datos espaciales con los que este va a trabajar.
Un SGBD es una
pieza de software compleja, ya que las situaciones a las que debe responder son
diversas y en muchas ocasiones con requerimientos elevados, por ejemplo en lo
que a eficiencia y volumen de datos respecta. Piénsese que una base de datos
actual puede tener millones de registros y ser utilizada simultáneamente por
miles de usuarios, que a su vez pueden utilizar diversos programas, no todos ellos
del mismo tipo. Por ejemplo, una base de datos que contenga números de
teléfono, nombres de usuarios, direcciones y coordenadas asociadas a cada línea
telefónica, puede ser empleada desde un SIG para crear un mapa que muestre la
densidad de usuarios o también desde una aplicación que genere un listín
telefónico, o bien desde una aplicación en una página Web que permita localizar
el número de teléfono de una persona concreta. Cada una de estas aplicaciones
realiza un trabajo distinto, pero todas ellas utilizan la misma base de datos.
El SGBD debe proporcionar a todos ellos la metodología adecuada para extraer
del conjunto de datos completo cuanto sea necesario en cada caso.
Además, el SGBD es
la herramienta utilizada no solo por quienes aprovechan los datos, sino también
por aquellos que se han de encargar de la propia gestión y mantenimiento de la
base de datos. Administrar una base de datos puede suponer una tarea altamente
compleja, por lo que el SGBD debe proveer los útiles necesarios para llevar a cabo
ese mantenimiento.
Para ser de
verdadera utilidad y responder a todas las necesidades que pueden plantearse en
relación con la base de datos, un SGBD debe perseguir los siguientes objetivos:
- Acceso transparente a los datos. La base de datos ha de poder accederse de forma transparente, sin que sea necesario para el usuario del SGBD preocuparse por aspectos internos relativos a la estructura de esta u otras características. Esto significa que, por ejemplo, si queremos recuperar un registro de la base de datos, debemos poder hacerlo sin necesidad de saber si dicha base de datos está almacenada en un único archivo o varios, o si el registro que pretendemos recuperar está almacenado a su vez de uno u otro modo. Así, el SGBD debe crear una abstracción de los datos que haga el trabajo con estos más sencillo, ocultando aspectos que no sean relevantes para dicho trabajo.
- Protección de los datos. Si la base de datos almacena información sensible, el SGBD debe controlar el acceso a esta, restringiendo el acceso cuando corresponda (por ejemplo, estableciendo distintos permisos de acceso para distintos tipos de usuarios) e implementando los mecanismos de protección necesarios.
- Eficiencia. Acceder a los datos no es suficiente en la mayoría de los casos, sino que se requiere un acceso eficiente. El SGBD debe ser capaz de gestionar de forma fluida grandes volúmenes de datos o de operaciones (por ejemplo, muchos usuarios accediendo simultáneamente), de modo que dé una respuesta rápida a las peticiones de los usuarios de la base de datos.
- Gestión de transacciones. Las operaciones sobre la base de datos tales como la adición o borrado de un registro se realizan mediante transacciones. Una transacción es un conjunto de operaciones realizadas por un usuario sobre la base de datos como una única unidad de trabajo, de forma indivisible. El SGBD ha de encargarse de gestionarlas de manera eficiente y segura para que todos los usuarios de la base de datos puedan hacer su trabajo de forma transparente. Aspectos como el acceso concurrente a la base de datos (varias transacciones simultaneas) resultan especialmente importantes, y en su buena gestión se pone gran esfuerzo en el diseño de los SGBD. Se denomina transaccional al SGBD capaz de garantizar la integridad de los datos, no permitiendo que las transacciones puedan quedar en un estado intermedio. Esto implica la capacidad de poder volver a un estado anterior en caso de que por cualquier causa (error en el sistema, fallo eléctrico, etc) no haya podido completarse la transacción.
VENTAJAS Y DESVENTAJAS
Las bases de
datos tienen muchas ventajas al utilizarlas, pero también podemos considerar
algunas
desventajas, estas son:
Ventajas.
- Almacenan grandes cantidades de información.Esto es muy útil para las grandes compañías que manejan grandes volúmenes de información.
- Compartir la información.
Los usuarios de distintas oficinas pueden compartir datos e
información que son de gran importancia para sus departamentos o funciones.
- Acceso rápido a la información.
Esta es una gran ventaja, ya que la información siempre estará
disponible para los usuarios.
- Eliminación de información repetida o redundante.
Los usuarios tendrán la certeza de que la información que están
solicitando no esta repetida o es redundante.
- Aumento en la productividad.
Como la información está disponible y es coherente, los usuarios
podrán aumentar su rendimiento al saber que cuentan con una información fiel.
- Reducción del espacio de almacenamiento.
Al tener la información en medios electrónicos, se reduce
considerablemente el espacio para almacenar de manera tradicional.
Mejora la seguridad de la información.
Existe un acceso reducido para los usuarios, de tal manera que
cierta información podrá ser controlada por los administradores de la base de
datos.
- Mejor mantenimiento.
Al estar la información en medios electrónicos, el darle
mantenimiento es mucho más fácil ya que se cuentan con herramientas para este
mantenimiento.
Desventajas:
- Tamaño.
Entre más grande sea la base de datos, se requiere mayor
capacidad e disco duro y más memoria ram para que pueda funcionar
adecuadamente.
- Costo.
- Actualización.
Es necesario mantener actualizados a los usuarios ya que las tecnologías
van cambiando constantemente.
- Vulnerabilidad a los fallos.
Esta es una gran desventaja ya que la base de datos está
expuesta a fallos que no están en las manos de los usuarios, como una descarga
eléctrica.
MODELOS
En función de la estructura utilizada
para construir una base de datos, existen diversos modelos de bases de datos.
El modelo de la base de datos define un paradigma de almacenamiento,
estableciendo cómo se estructuran los datos y las relaciones entre estos. Las
distintas operaciones sobre la base de datos (eliminación o sustitución de
datos, lectura de datos, etc.) vienen condicionadas por esta estructura, y
existen notables diferencias entre los principales modelos, cada uno de ellos
con sus ventajas e inconvenientes particulares. Algunos de los más habituales
son los siguientes:
- Bases de
datos jerárquicas. Los datos se recogen mediante una estructura basada en nodos
interconectados. Cada nodo puede tener un único padre y cero, uno o varios
hijos. De este modo, se crea una estructura en forma de árbol invertido en el
que todos sus nodos dependen en última instancia de uno denominado raíz.
Aunque potente, el modelo jerárquico presenta algunas deficiencias,
principalmente la escasa independencia de sus registros (el acceso a un
registro —un nodo— implica que se ha de pasar por sus padres, restando
flexibilidad a la navegación por la base de datos). Otra grave deficiencia de
este modelo es la mala gestión de la redundancia de datos, ya que si un
registro guarda relación con dos o más, debe almacenarse varias veces, ya que
no se permite que el nodo correspondiente tenga varios padres. Esto tiene
consecuencias no solo en el mayor volumen de datos que se almacena, sino
también en la integridad y coherencia de los datos. Si se modifica una de las
«copias» de ese registro en la base de datos, deben modificarse también las
restantes, ya que, aunque no conectadas en la estructura de la base de datos,
realmente representan una única realidad y debieran ser idénticas entre sí.
- Bases de
datos en red. Con objeto de solucionar los problemas de redundancia de las
bases de datos jerárquicas, surge el modelo en red. Este modelo permite la
aparición de ciclos en la estructura de la base de datos (es decir, no ha de
existir un único padre para cada nodo), lo cual permite una mayor eficacia en
lo que a la redundancia de datos se refiere. Presenta, no obstante, otros
problemas, siendo el más importante de ellos su gran complejidad, lo que hace
difícil la administración de la base de datos.
- Bases de
datos relacionales. Constituyen el modelo de bases de datos más utilizado en la
actualidad. Solucionan los problemas asociados a las bases de datos jerárquicas
y en red, utilizando para ello un esquema basado en tablas, que resulta a la
vez sencillo de comprender y fácil de utilizar para el análisis y la consulta
de los datos. Las tablas contienen un número dado de registros (equivalentes
a las filas en la tabla), así como campos (columnas), lo que
da lugar a una correcta estructuración y un acceso eficiente.
- Bases de
datos orientadas a objetos. Se trata de uno de los modelos más actuales,
derivado directamente de los paradigmas de la programación orientada a objetos.
El modelo extiende las capacidades de las bases de datos relacionales, de tal
modo que estas pueden contener objetos, permitiendo así una integración más
fácil con la propia arquitectura de los programas empleados para el manejo de
la base de datos, en caso de que estos hayan sido desarrollados mediante
programación orientada a objetos. Su popularidad crece de forma notable en
ciertas áreas en las cuales resultan más ventajosas que el modelo relacional,
siendo los SIG una de ellas.
jueves, 24 de mayo de 2018
¿QUÉ ES UNA BASE DE DATOS?
Entendemos
como Base de Datos un conjunto de datos estructurado y almacenado de forma
sistemática con objeto de facilitar su posterior utilización. Una base de datos
puede, por tanto, constituirse con cualquier tipo de datos, incluyendo los de
tipo puramente espacial (geometrías, etc.) tales como los que se utilizan en un
SIG, así como, por supuesto, datos numéricos y alfanuméricos como los que
constituyen la componente temática de la información geoespacial. Los elementos
clave de la base de datos son esa estructuración y sistematicidad, pues ambas
son las responsables de las características que hacen de la base de datos un
enfoque superior a la hora de gestionar datos.
Imaginemos,
por ejemplo, el caso de un ingeniero encargado de planear la instalación de un
tendido eléctrico a través de nuestra zona forestal de ejemplo. Sin duda,
deberá emplear datos tales como Modelos Digitales de Elevaciones, capas de
zonas protegidas o capas de arbolado para establecer el trazado óptimo y
estimar costes de la línea, entre otras tareas. Si en una situación ideal este
ingeniero estaría en comunicación con el gestor forestal y ambos compartirían
sus conocimientos dentro de un equipo multidisciplinar, también en lo referente
a los datos debería existir una comunicación igual que implique, ente otras
cosas, un uso compartido y convenientemente coordinado de ellos. En otras
palabras, los datos también tienen ese carácter multidisciplinar y deben dejar
de verse como algo propio de un uso particular, para concebirse como un conjunto
global del que se benefician muy diversos usuarios.
Establecer
un uso compartido de los datos en una situación como la anterior no parece
difícil, ya que simplemente se trata de dos profesionales que realizan tareas
relacionadas y que, de un modo u otro, van a tener un contacto directo. El
gestor forestal puede sencillamente dar una copia de sus datos al ingeniero y
este podrá trabajar después con ellos de forma independiente. Aunque los datos
con que trabajen son inicialmente los mismos, en realidad esta práctica da
lugar son dos copias aisladas que constituyen dos universos distintos.
La
situación real, sin embargo, es habitualmente mucho más compleja, y utilizar un
esquema de colaboración como el anterior puede ser imposible, carecer por
completo de sentido, o tener un buen número de consecuencias negativas. A
medida que aumenta el número de usuarios, resulta menos recomendable que cada
uno trabaje con sus propios datos y se los hagan llegar entre ellos a medida
que los necesitan (una realidad que, desgraciadamente, se presenta con más
frecuencia de lo recomendable). No debe olvidarse que un conjunto más amplio de
usuarios que trabajan de esta forma y son ellos mismos quienes gestionan sus
propios datos, implica directamente un número también más elevado de
aplicaciones informáticas y de formatos de archivo, complicando enormemente el trabajo
coordinado en cuanto el equipo tiene un tamaño medio.
Es
probable además que existan usuarios dentro de una misma organización (por
ejemplo, un organismo público) que aunque requieran para su trabajo datos
similares, no tengan contacto alguno entre sí. Aunque los usuarios sean
independientes, sus datos no lo han de ser necesariamente, y en una situación
ideal deberían acudir a un repositorio único de datos del que cada cual tomaría
lo necesario, en lugar de basar su trabajo en un conjunto de datos fragmentado
y difícil de gestionar.
Pensemos
en un dato que pueda ser de interés a varios usuarios, como por ejemplo una
capa de vías de comunicación. A nuestro gestor forestal le será de interés
para, por ejemplo, saber qué medios de acceso existen en caso de tener que
hacer frente a un incendio. Lo más relevante de esas vías será su trazado, es
decir su geometría, y tal vez el tipo de vía de que se trata, para poder
conocer la velocidad a la que se pueden desplazar los medios de extinción.
Otros usuarios, por su parte, pueden necesitar parámetros distintos como el
volumen de tráfico medio de cada vía. Si todos ellos tienen una capa de vías
con los parámetros asociados que necesitan para su trabajo, nos encontramos con
una innecesaria redundancia de la componente espacial (las geometrías), y una
dispersión de la componente temática, que resultaría más conveniente mantenerla
agrupada.
Pensemos
ahora que el gestor forestal detecta un error en el trazado de una de las vías
y lo corrige. Esa corrección no estará disponible para los restantes usuarios,
que pueden a su vez efectuar modificaciones similares que no redundarán en una
mayor calidad de los datos con los que trabaja el gestor forestal, ya que, pese
a utilizar datos similares, trabaja con su propio conjunto de datos. Incluso si
en algún momento todos estos usuarios deciden poner en común sus datos y
unirlos, esta operación puede ser muy compleja o incluso, como sucede
frecuentemente, imposible de realizar. Por su parte, otros usuarios pueden
añadir una nueva variable temática, como por ejemplo un índice de
siniestralidad de la vía, el cual, si bien tal vez no resulte de utilidad
inmediata para muchos usuarios, en un futuro sí pudiera serlo. Una vez más,
estos nuevos datos no quedan a disposición del resto de usuarios, y en caso de
serlo, no lo hacen en conjunto con datos similares, sino como un dato aislado
de los restantes.
En
definitiva, es complejo gestionar de forma adecuada los datos en el momento en
que estos alcanzan un ámbito más allá de lo personal, y las prácticas más
habituales basadas en una gestión «manual» de un conjunto de ficheros no son
una opción adecuada. La solución para lograr esa necesaria gestión centralizada
de los datos son las bases de datos y también, como veremos más adelante, los
sistemas gestores de bases de datos, que representan la interfaz entre las
bases de datos y los distintos usuarios.
INTRODUCCIÓN
Las
bases de datos son un elemento fundamental en el entorno informático hoy en día
y tienen aplicación en la práctica totalidad de campos. Concebidas con un
propósito general, son de utilidad para toda disciplina o área de aplicación en
la que exista una necesidad de gestionar datos, tanto más cuanto más
voluminosos sean estos. En nuestro ámbito particular de los SIG, los datos son
cada día más voluminosos, debido no solo a una mayor cantidad de información,
sino también a una mayor precisión en esta, la cual implica un mayor volumen de
datos. Además, presentan otra serie de características (uso múltiple, necesidad
de acceso eficiente para análisis, necesidad de indexación, etc.), haciendo
todas ellas que sea recomendable el uso de bases de datos y tecnologías
específicas para su manejo.
Pese
a que, como veremos en este mismo capítulo, el uso de las bases de datos en el
ámbito SIG (Sistema Informático Geográfico)
no ha sido siempre el actual, hoy en día representan una parte clave
para la gestión de los datos geográficos, en especial dentro del marco de
proyectos de cierta envergadura. Aunque la realidad es que todavía se efectúa
mucho trabajo SIG sin emplear bases de datos (y las aplicaciones SIG así lo
permiten, no siendo estrictamente necesario disponer de una base de datos para
almacenar la información), la naturaleza propia de los proyectos SIG y la
progresiva implantación de los SIG a niveles más allá del uso personal traen
ambas consigo un uso cada vez mayor de las bases de datos, y por tanto una
mayor necesidad de conocer el funcionamiento de estas.
HISTORIA
Antecedentes de las Bases de Datos
La primera vez que se escuchó
el término base de datos fue en un congreso celebrado en California en 1963. Una
base de datos es un cúmulo de información que se encuentra reunida o
estructurada.
Sus
orígenes provienen de la antigüedad, donde ya existían bibliotecas y toda clase
de registros, también la utilizaban para recoger información sobre las
cosechas.
Se
empezaron a desarrollar cuando emepezó a ser necesario almacenar grandes
cantidades de información o datos. El concepto de bases de datos siempre ha
estado ligado a la informática.
En 1884
Diseño la máquina automática de tarjetas perforadas, ante este hecho
empezó a crear una máquina tabuladora, basada en tarjetas perforadas.
En
la década de los 50
En la década de los 60
Bajaron los precios de los ordenadores para que se
pudiesen adquirir y hacer popular el uso de los discos. En esta época también
empezaron las primeras generaciones de bases de datos de red y las bases de
datos jerárquicas. Durante este tiempo también se unieron IBM y American
Airlines para crear SABRES, un sistema operativo que controlaba las reservas de
vuelos, información de los pasajeros y las transacciones.Charles Bachman
Ingeniero que creó un software para aprovechar los datos comerciales sentando una base técnica para el comercio digital moderno. |
Creó un nuevo tipo de bases de datos y esto permitió la creación de un standar en los sistemas de bases de datos gracias a invención de nuevos lenguajes de sistemas de información.
En
la década de los 70
Un científico informático inglés, llamado Edgar Frank
Codd, aclaró el modelo relacional a la vez que publicó una serie de reglas para
los sistemas de datos relacionales; a raíz de esto nació la segunda generación
de los Sistemas Gestores de Bases de Datos.
Gracias
al trabajo de Edgar F. Codd, Larry Ellison desarrolló el Relational Software
System, aunque actualmente se conoce como Oracle Corporation, creando así un
sistema de gestión de bases de datos relacional con el nombre de la compañía.
Lawrence J. Ellison
Edgar Frank Codd
Lawrence J. Ellison
Fundador de Oracle donde fue Director Ejecutivo de 1977
hasta 2015
|
Científico informático inglés, conocido por sus aportes a la teoría de bases de datos relacionales, considerado el modelo más usado hoy en día y para muchas personas, el único que conocen. |
En
la época de los 80
se creó un lenguaje de consultas de acceso a bases
de datos que permite realizar consultas para recuperar información de interés
de una base de datos y realizar cambios de manera sencilla; aparte de examinar
grandes cantidades de información y deja detallar varios tipos de operaciones
frente a la misma información.
Durante
este tiempo SQL comenzó a ser el modelo de la industria; las bases de datos
relacionales con su sistema de tablas pudieron competir con las bases
jerárquicas y de red.
En
los años 90
investigaron las bases de datos orientadas en objetos.
Han tenido bastante éxito a la hora de ejecutar datos complejos en los terrenos
donde las bases de datos relacionales no han podido desenvolverse de manera
eficaz. Así se crearon herramientas como el Excel y Access.
Así
se creó la tercera generación de sistemas gestores de bases de datos.
En
esta época también, se empezó a incorporar nuevas expresiones regulares,
consultas recursivas y algunas características orientadas a objetos. Además se
creó la oportunidad de que SQL se pueda utilizar simultáneamente XML, y
se determina como importar y guardar datos XML en una base de datos SQL.
Lo
sorprendente de esta década es el nacimiento del World Wide Web y gracias
a éste es más fácil la consulta a bases de datos.
Actualmente,
dominan las bases de datos tres compañías que son IBM, Microsoft y Oracle. En
internet el preferido es google, aunque LINQ también te permite crear y manejar
bases de datos con facilidad.
En
Net el objetivo es aprobar que todo el código hecho en Visual Studio sea
también orientado a objetos; éste último es un ámbito de desarrollo
constituido para sistemas operativos Windows que soporta varios lenguajes de
programación.
Aunque
se están desplegando las extensiones imprescindibles para otros, que tienen
como objetivo crear aplicaciones, sitios y aplicaciones web que soporte la
plataforma NET, generando así aplicaciones que intercomuniquen entre estaciones
de trabajo, páginas web y dispositivos móviles.
Suscribirse a:
Entradas (Atom)