CIENCIAS

GML – Geography Markup Language

Para empezar ¿Qué es el GML?

Geography Markup Language (Lenguaje de Marcado Geográfico)

Es un sublenguaje de XML descrito como una gramática en XML Schema para el modelaje, transporte y almacenamiento de información geográfica. - OSGeo Live


En GML, los feature concretan los objetos físicos o abstractos. En contraste con el legado definido por los SIG, un feature no es definido principalmente como objeto geométrico, pero si como un objeto que puede tener tanto propiedades geométricas como de otros tipos, por ejemplo, nombre de un sitio o tipos de acceso.

En GML 3.0, cada objeto instanciado hereda el atributo gml:id para indicar el identificador único de cada objeto. En versiones anteriores, el atributo fid se utilizaba para los identificadores de los feature y el atributo gid para elementos geométricos. Aunque GML 3.0 es compatible con las versiones anteriores, los autores recomiendan utilizar gml:id para identificar tanto feature como elementos geométricos.

Usos de GML

  • Si existe la necesidad de intercambiar documentos entre diferentes sistemas de computación o de edición.
  • Para la publicación de contenidos en su más amplia definición, desde sencillos archivos hasta las bases de datos con contenidos multimedia.
  • En este rango por supuesto se incluye información geográfica, objeto de estudio de este trabajo.
  • Cuando los documentos se creen para diferentes usos. En caso de que sea fundamental la estructura de un documento.
  • Para el intercambio de contenidos a través de la red.
  • Validar y reutilizar la estructura del documento en que se esté trabajando.
  • Presentar los contenidos en diferentes formatos.
  • Cuando se utilice una base de datos para el almacenamiento y recuperación de los elementos del documento.

1.1. Diseño de bases de datos relacionales

1.1.1. Sistema de información

Un Sistemas de Información es un conjunto de elementos, ordenadamente relacionados entre sí de acuerdo con unas ciertas reglas, que aporta al sistema objeto (es decir a la organización a la cual sirve y que le marca las directrices de funcionamiento) la información necesaria para el cumplimiento de sus fines, para lo cual tendrá que recoger, procesar y almacenar datos, procedentes tanto de la misma organización como de fuentes externas, facilitando la recuperación, elaboración y presentación de los mismos. [de Miguel y Piattini, 1999]

1.1.2. Definiciones de base de datos

Colección de datos interrelacionados. [Elsmari y Navathe, 1989]

Colección de datos interrelacionados almacenados en conjunto sin redundancias perjudiciales o innecesarias; su finalidad es servir a una aplicación o más, de la mejor manera posible; los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos bien determinados para incluir nuevos datos y para modificar o extraer los datos almacenados. [Martin, 1975]

Colección o depósito de datos, donde los datos están lógicamente relacionados entre sí, tienen una definición y descripción comunes y están estructurados de una forma particular. Una base de datos es también un modelo del mundo real y, como tal, debe poder servir para toda una gama de usos y aplicaciones. [Conference del Staticiens Européens, 1977]

Conjunto de datos de la empresa memorizado en un ordenador, que es utilizado por numerosas personas y cuya organización está regida por un modelo de datos. [Flory, 1982] 

Conjunto estructurado de datos registrados sobre soportes accesibles por ordenador para satisfacer simultáneamente a varios usuarios de forma selectiva y en tiempo oportuno. [Delobel, 1982]

Colección no redundante de datos que son compartidos por diferentes sistemas de aplicación. [Howe, 1983]

Colección integrada y generalizada de datos, estructurada atendiendo a las relaciones naturales de modo que suministre todos los caminos de acceso necesarios a cada unidad de datos con objeto de poder atender todas las necesidades de los diferentes usuarios. [Deen, 1986]

Conjunto de ficheros maestros, organizados y administrados de una manera flexible de modo que los ficheros puedan ser fácilmente adaptados a nuevas tareas imprevisibles. [Frank, 1988]

Colección o depósito de datos integrados, almacenados en soporte secundario (no volátil) y con redundancia controlada. Los datos, que han de ser compartidos por diferentes usuarios y aplicaciones, deben mantenerse independientes de ellos, y su definición (estructura de la base de datos) única y almacenada junto con los datos, se ha de apoyar en un modelo de datos, el cual ha de permitir captar las interrelaciones y restricciones existentes en el mundo real. Los procedimientos de actualización y recuperación, comunes y bien determinados, facilitarán la seguridad del conjunto de los datos. [de Miguel y Piattini, 1999]

Un Sistema de Gestión de Bases de Datos (SGDB) es un conjunto de programas que permiten la implantación, acceso y mantenimiento de la Base de Datos (BD).

El Sistema de Base de Datos (SBD) está compuesto por el SGBD, los datos y los usuarios.

1.1.3. Niveles de abstracción

  • Externo: describe la parte de la DB que interesa a un grupo de usuarios determinados, ocultando el resto de la base de datos (vistas de usuarios).
  • Conceptual: describe la estructura de la base de datos para una comunidad de usuarios. Oculta los detalles de la estructura física de almacenamiento y se concentra en describir: entidades, tipos de datos, etc.
  • Interno: especifica cómo se guardarán físicamente la base de datos (caminos de accesos).

1.1.4. Modelo relacional

El modelo relacional de bases de datos representa la segunda generación de SGBD. Fue introducido por E.F. Codd en 1970. En este modelo, todos los datos están estructurados a nivel lógico como tablas formadas por filas y columnas, aunque a nivel físico pueden tener una estructura completamente distinta. Un punto fuerte del modelo relacional es la sencillez de su estructura lógica. Pero detrás de esa simple estructura hay un fundamento teórico importante del que carecen los SGDB de la primera generación.

1.1.4.1. Relaciones

Una relación es una tabla con columnas y flas. Un SGBD sólo necesita que el usuario pueda percibir la base de datos como un conjunto de tablas. Esta percepción sólo se aplica a la estructura lógica de la base de datos. No se aplica a su estructura física de la base de datos, que se puede implementar con distintas estructuras de almacenamiento.

Un atributo es el nombre de una columna de una relación. En el modelo relacional, las relaciones se utilizan para almacenar información sobre los objetos que se representan en la base de dato. Una relación se representa gráficamente como una tabla bidimensional en la que las filas corresponden a registros individuales y las columnas corresponden a los campos o atributos de esos registros. Los atributos pueden aparecer en la relación en cualquier orden.

Un dominio es el conjunto de valores legales de uno o varios atributos. Los dominios constituyen una poderosa característica del modelo relacional. Cada atributo de una base de datos relacional se define sobre un dominio, pudiendo haber varios atributos sobre el mismo dominio.

Una tupla es una fila de una relación. Los elementos de una relación son las tuplas o filas de la tabla.

El grado de una relación es el número de atributos que contiene. El grado de una relación no cambia con frecuencia. La cardinalidad de una relación es el número de tuplas que contiene. Ya que en las relaciones se van insertando y borrando filas a menudo, la cardinalidad de las mismas varía constantemente.

Una base de datos relacional es, por tanto, un conjunto de relaciones normalizadas.

1.1.4.2. Propiedades de las relaciones

  • Cada relación tiene un nombre y éste es distinto del nombre de todas las demás.
  • Los valores de los atributos son atómicos: en cada tupla, cada atributo toma sólo un valor.
  • Se dice que las relaciones están normalizadas.
  • No hay dos atributos que se llamen igual.
  • El orden de los atributos no importa.
  • Cada tupla es distinta a las demás, no hay dos tuplas iguales.
  • El orden de las tuplas no importa.

1.1.4.3. Claves

Ya que en una relación no hay tuplas repetidas, éstas se pueden distinguir unas de otras, es decir, se pueden identificar de modo único. La forma de identificarlas es mediante los valores de sus atributos.

Una superclave es un conjunto de uno o más atributos que, tomados colectivamente, permiten identificar de forma única una entidad en el conjunto de entidades.

Una clave candidata es una superclave en la que ninguno de sus subconjuntos es una superclave de la relación. Cuando una clave candidata está formada por más de un atributo, se dice que es una clave compuesta.

  • Clave primaria: es la que el usuario escoge entre las claves candidatas
  • Claves alternativas: claves candidatas que no han sido escogidas como primaria.
  • Clave ajena: conjunto de atributos de una relación cuyos valores han de coincidir con los valores de la clave primaria de otra relación.

1.1.4.4. Esquema de una base de datos relacional

Una base de datos relacional es un conjunto de relaciones normalizadas. Para representar el esquema de una base de datos relacional se debe dar el nombre de sus relaciones, los atributos de éstas, los dominios sobre los que se definen estos atributos, las claves primarias y las claves ajenas.

1.1.5. Relaciones entre bases de datos

En las bases de datos relacionales, las relaciones entre tablas pueden ser de cuatro tipos:

  • Uno a uno: Cada registro de la tabla primaria puede corresponderse con un único registro de la secuencia. Suele utilizarse cuando existen varias tablas con distintos atributos referidos al mismo objeto. Sería el caso de una tabla de datos geométricos y otra de atributos para la misma clase de entidad.
  • Muchos a uno: Cada registro de la tabla secundaria puede corresponderse con uno o varios registros de la primaria. Un ejemplo lo encontramos en las listas codificadas, en las que se establecen los valores exclusivos que pueden adoptar un determinado atributo. Presenta las ventajas de reducir el espacio de almacenamiento y eliminar posibles errores de transcripción de datos, cuya ejecución resulta también más rápida.
  • Uno a muchos: Cada registro de la tabla primaria puede corresponderse con uno o varios registros de la secundaria. Se trata de la relación más crítica ya que normalmente requiere redundancia de datos en la segunda tabla. Se utiliza cuando se necesita individualizar una instancia que comparte atributos con otras.
  • Muchos a muchos: Varios registros de la primera tabla se pueden corresponder con más de un registro de la secundaria. Esta relación requiere implementar una tabla intermedia formada por los dos campos de las tablas a relacionar: la relación se establece en cada registro de esta tabla intermedia.

1.2. SQL

1.2.1. Historia

Donald Chamberlain y Raymond Boyce, investigadores de IBM, crearon, a mediados de la década de los 70´s el lenguaje SEQUEL (Structured English Query Language) para la especificación de características de las bases de datos que adoptaban el modelo relacional.

A comienzos de los 80’s comienzan a comercializarse los productos relacionales y empresas como Oracle y Sybase comienzan a comercializar productos similares. Fue en 1987 cuando el lenguaje SQL/87 se transformó en ISO y la versión actual es de 1992, SQL/92.

Actualmente está en marcha un proceso de revisión del lenguaje por parte de los comités ANSI e ISO, que debería terminar en la definición de lo que en este momento se conoce como SQL3. Las características principales de esta nueva encarnación de SQL deberían ser su transformación a un lenguaje stand-alone, puesto que ahora es utilizado como un lenguaje hospedado en otros lenguajes, y la introducción de nuevos tipos de datos más complejos que permitan, por ejemplo, el tratamiento de los datos multimedia. [M. Dorrego, 2010]

1.1.2. Sublenguajes de SQL

El DDL (Data Description Language), es un lenguaje de definición de datos, incluye órdenes para definir, modificar o borrar tablas en las que se almacenan los datos y las relaciones entre éstas.

El DML (Data Manipulation Language) nos permite recuperar los datos almacenados en la base de datos y también incluye órdenes para permitir al usuario actualizar la base de datos añadiendo nuevos datos, suprimiendo datos existentes o modificando datos previamente almacenados.

El DCL (Data Control Language) contiene los elementos útiles para trabajar en un entorno multiusuario, en el que es importante la protección de los datos, la seguridad de las tablas y el establecimiento de las restricciones en el acceso, así como elementos para coordinar la compartición de datos por parte de usuarios concurrentes, asegurando que no interfieren unos con otros.

Dato importante

GML es un estándar basado en gramática XML (Estándar de la W3C) para transferencia de información geográfica vía Web siguiendo y respetando su esquema de estructuración de información geográfica.

SI TE INTERESA DESARROLLAR TUS CAPACIDADES EN EL CAMPO DEL MEDIO AMBIENTE, ENTRA EN CEUPE E INFÓRMATE SOBRE NUESTROS MÁSTERS DE MEDIO AMBIENTE - CALIDAD - RENOVABLES.