ManualBD_SIOSEV1_12

18
Modelo Relacional de la Base de Datos del Proyecto SIOSE Versión 1.12

Transcript of ManualBD_SIOSEV1_12

Page 1: ManualBD_SIOSEV1_12

Modelo Relacional de la

Base de Datos del

Proyecto SIOSE

Versión 1.12

Page 2: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 2 de 18

Modelo Relacional de la Base de Datos del Proyecto SIOSE

Identificador 070212_ManualBD_SIOSEV1_12.doc Editor Equipo Técnico Nacional SIOSE Puesto Fecha 12 de febrero de 2007

Tema Modelo Relacional de la Base de Datos SIOSE (Sistema de Información de Ocupación del Suelo de España)

Proyecto Proyecto SIOSE Unidad S.G. de Producción Cartográfica (I.G.N.) Estado Versión 1.12 Objetivo Descripción Técnica de la Base de Datos del Proyecto SIOSE

Descripción Descripción Técnica de la Base de Datos del Proyecto SIOSE para el diseño técnico y metodológico del Proyecto SIOSE

Contribuciones

S.G. de Aplicaciones Geográficas (IGN) Centro Nacional de Información Geográfica (CNIG) Equipo Técnico Nacional SIOSE Grupo de Sistemas de Información Avanzados (Universidad de Zaragoza)

Difusión Equipo Técnico Nacional SIOSE Equipos autonómicos Asamblea General SIOSE

Documentos relacionados

DOCUMENTO TÉCNICO DEL PROYECTO SIOSE ModeloSIOSE.doc Manual Fotointerpretación SIOSE.doc Manual de Control de Calidad del Proyecto SIOSE Guía de comprobación en campo Manual de Metadatos SIOSE

Page 3: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 3 de 18

1. INTRODUCCIÓN .......................................................................................................... 4

2. Modelo Relacional de la Base de Datos......................................................................... 6

2.1. Tablas de la base de datos................................................................................ 7

2.1.1. Tablas relativas a la información de los tesauros.......................................... 7 Thesaurus_simple............................................................................................... 7 Thesaurus_composed ......................................................................................... 7 Thesaurus_attributes........................................................................................... 8

2.1.2. Tablas relativas a las clases del modelo conceptual SIOSE ......................... 8 Polygon............................................................................................................... 8 Coverage............................................................................................................. 9 Polygon_coverage .............................................................................................. 9 Simple_coverage ................................................................................................ 9 Composed_coverage .......................................................................................... 9 Tablas de coberturas simples y compuestas..................................................... 10 Relation_attributes ........................................................................................... 10 Relation_attributes_composed ......................................................................... 10

2.1.3. Tablas de configuración o definición del modelo ........................................ 10 Predefined_child............................................................................................... 11 Attributes.......................................................................................................... 12 Attributes_composed........................................................................................ 12

3. Ejemplos prácticos........................................................................................................ 13

3.1. Almacenamiento de una cobertura simple en la Base de Datos................. 13

3.2. Almacenamiento de una cobertura compuesta en la Base de Datos.......... 13

3.3. Consultas a la Base de Datos ......................................................................... 15

3.4. Ampliación del modelo................................................................................... 17

Page 4: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 4 de 18

1. INTRODUCCIÓN

El Instituto Geográfico Nacional (Ministerio de Fomento), como Centro Nacional de Referencia en Ocupación del Suelo, dependiente del Punto Focal Nacional (Ministerio de Medio Ambiente) tiene como uno de sus objetivos prioritarios coordinar la información en materia de ocupación del suelo (coberturas y usos) en España utilizando como soporte para la transmisión de la información el que facilita la Red EIONET.

La creación de un Sistema de Información sobre Ocupación del Suelo de España (SIOSE), donde se pueda integrar la información de las Bases de Datos de Ocupación del Suelo de las CCAA y de la AGE, se convertirá en un referente español, donde se facilitará el acceso a la información, con un flujo de trabajo tendente a reunir en un único repositorio de información los datos precisos para el conocimiento de la ocupación del suelo, con el propósito general de ‘recoger una vez’ y ‘utilizar muchas veces’ y al que se pueda dar acceso a las distintas organizaciones peticionarias de datos según las directrices INSPIRE de la UE .

El Modelo de Datos de SIOSE describe los objetos, atributos, relaciones, reglas de consistencia, estructura y filosofía de los datos geográficos digitales vectoriales del Sistema de Ocupación del Suelo en España. Dicho Modelo de Datos se basa en la definición de dos entidades fundamentales: el polígono y la cobertura (simple o compuesta). La especificación técnica del mismo puede consultarse en el documento “Modelo Conceptual del Proyecto SIOSE”.

El Modelo de Datos de SIOSE se ha transformado en un modelo relacional para posibilitar su implementación en una Base de Datos. Este modelo relacional se basa en la utilización de tesauros como mecanismo fundamental para organizar la información.

Un tesauro es, a grandes rasgos, una jerarquía de conceptos, donde cada concepto

tiene vinculada cierta información, Los conceptos de un tesauro llevan asociado un identificador, denominado URI (Uniform Resource Identifier), que los identifica de manera unívoca. Además, existen otra serie de elementos que caracterizan los conceptos de un tesauro: la etiqueta que define el concepto en un idioma determinado, la descripción del concepto, las traducciones de las etiquetas y descripciones en otros idiomas, etiquetas alternativas, relaciones con otros conceptos del tesauro,…

La definición anterior sobre lo que es un tesauro encaja perfectamente con la

clasificación de coberturas del Modelo de Datos SIOSE, tanto simples como compuestas, donde los conceptos del tesauro son los diferentes tipos de coberturas, y las relaciones entre los mismos se establecen a través de la herencia.

En el modelo relacional de la Base de Datos SIOSE se ha tomado la decisión de crear dos tesauros: uno para las coberturas simples y otro para las compuestas. Por otro lado, observando las características de los atributos asociados a las coberturas del Modelo de Datos SIOSE, se llega a la conclusión de que todos ellos son enumeraciones de dos elementos (caso de los valores booleanos) o más, que pueden ser utilizados en coberturas de diferente tipo (por

Índice

Page 5: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 5 de 18

ejemplo, la función de cortafuegos aparece tanto en los pastizales como en los suelos desnudos). Por ello, se ha decidido utilizar la funcionalidad de los tesauros para representar todos estos valores.

En general, las características principales del modelo relacional de la Base de Datos

SIOSE son las siguientes: - Cada clase del Modelo de Datos se representa mediante una tabla distinta en el

modelo relacional. Si tiene atributos no enumerados éstos serán columnas de esta tabla.

- Cada clase de cobertura del Modelo de Datos se representa además mediante un

concepto de un tesauro. - Se crea un tesauro diferente para cada uno de los conjuntos de valores asignables

a los atributos con valores enumerados de las clases de coberturas. - El modelo relacional es fácilmente ampliable:

o La adición de una nueva cobertura implica únicamente crear una nueva tabla en la Base de Datos y añadir el concepto en el tesauro apropiado.

o La adición de un nuevo posible valor en un atributo existente supone incluir dicho valor en el tesauro de atributos correspondiente.

o La adición de un nuevo atributo de tipo enumeración implica crear un nuevo tesauro de atributos.

o La adición de un atributo que no sea una enumeración de valores a una cobertura supone añadir dicho atributo en la tabla que representa a la cobertura correspondiente.

- El modelo relacional ha sido implementado en una Base de Datos de Microsoft

Access que se distribuye conjuntamente con la aplicación de asignación de coberturas (creada para facilitar su manejo). Por ello, los tipos de datos, consultas,… que aparecen en el presente documento están orientados a dicho entorno.

Page 6: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 6 de 18

2. Modelo Relacional de la Base de Datos

ModeloRelacionalBD_SIOSEv_1.11.pdf

Page 7: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 7 de 18

2.1. Tablas de la base de datos

2.1.1. Tablas relativas a la información de los tesauros Las tablas que se describen a continuación almacenan la información de los tesauros relativos al modelo de datos SIOSE, es decir, el tesauro de coberturas simples, el tesauro de coberturas compuestas y los tesauros que describen los atributos que pueden tener ambos tipos de coberturas.

Thesaurus_simple

Conjunto de conceptos del tesauro asociado a las coberturas simples del modelo de datos SIOSE. Sus atributos son: Atributo Tipo de Datos Descripción URI Texto (50) Uniform Resource Identifier. Identifica al concepto

de manera unívoca. id Entero Identificador del concepto en la Base de Datos name Texto (50) Nombre del tesauro al que pertenece el concepto. Su

valor será siempre simpleCoverage language Texto (50) Idioma en el que se expresa la etiqueta asignada al

concepto, así como su definición label Texto (255) Etiqueta asignada al concepto en el idioma señalado

por el atributo language definition Texto (255) Definición del concepto en el idioma señalado por el

atributo language

Thesaurus_composed

Conjunto de conceptos del tesauro asociado a las coberturas compuestas del modelo de datos SIOSE. Sus atributos son: Atributo Tipo de Datos Descripción URI Texto (50) Uniform Resource Identifier. Identifica al concepto

de manera unívoca. id Entero Identificador del concepto en la Base de Datos name Texto (50) Nombre del tesauro al que pertenece el concepto. Su

valor será siempre composedCoverage language Texto (50) Idioma en el que se expresa la etiqueta asignada al

concepto, así como su definición label Texto (255) Etiqueta asignada al concepto en el idioma señalado

por el atributo language definition Texto (255) Definición del concepto en el idioma señalado por el

atributo language

Page 8: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 8 de 18

Thesaurus_attributes

Conjunto de conceptos de los diferentes tesauros asociados a los atributos, tanto de las coberturas simples como compuestas, del modelo de datos SIOSE. Sus atributos son:

2.1.2. Tablas relativas a las clases del modelo conceptual SIOSE Las tablas comentadas a continuación representan la implementación directa en la Base de Datos de las clases del Modelo Conceptual del Proyecto SIOSE, así como de las relaciones existentes entre las mismas.

Polygon

Conjunto de polígonos en los que se divide la/s región/es del terreno consideradas en la Base de Datos. Sus atributos son: Atributo Tipo de Datos Descripción id Texto (50) Identificador del polígono checked Sí/No Indica se ha producido la verificación en campo del

polígono observations Texto (255) Observaciones asociadas al polígono, generalmente

relacionadas con la verificación en campo. comments Memo Comentarios asociados al polígono, generalmente

relacionados con la verificación en campo. En general, se recomienda utilizar el atributo observations para hacer cualquier tipo de observación/comentario sobre el polígono, y usar este campo únicamente si los comentarios son muy largos (más de 255 caracteres).

geom Memo Geometría del polígono en formato GML 3.1.

Atributo Tipo de Datos Descripción URI Texto (50) Uniform Resource Identifier. Identifica al concepto

de manera unívoca. id Entero Identificador del concepto en la Base Datos name Texto (50) Nombre del tesauro al que pertenece el concepto.

Ejemplos de valores de este atributo son: enSecanoRegadio, funcionDeCortafuegos, tipoEdificacion, enConstruccion, etc.

language Texto (50) Idioma en el que se expresa la etiqueta asignada al concepto, así como su definición

label Texto (255) Etiqueta asignada al concepto en el idioma señalado por el atributo language

definition Texto (255) Definición del concepto en el idioma señalado por el atributo language

altLabel Texto (50) Etiqueta alternativa que se podría utilizar para referirse al concepto. Su uso principal es la asignación de abreviaturas de las etiquetas de los conceptos

Page 9: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 9 de 18

Coverage

Conjunto de coberturas existentes en los polígonos almacenados en la Base de Datos. Sus atributos son: Atributo Tipo de Datos Descripción id Texto (50) Identificador de la cobertura coverage_area_perentage Real Porcentaje del polígono que cubre la cobertura id_coverage_parent Texto (50) Clave ajena que identifica a la cobertura

compuesta a la que pertenece la presente cobertura. En caso de no pertenecer a ninguna cobertura compuesta, este campo se dejará vacío.

Polygon_coverage

Relación entre las coberturas y los polígonos existentes en la Base de Datos. Sus atributos son: Atributo Tipo de Datos Descripción id_polygon Texto (50) Clave ajena que identifica al polígono objeto de

la relación. id_coverage Texto (50) Clave ajena que identifica a la cobertura objeto

de la relación.

Simple_coverage

Conjunto de coberturas simples existentes en la Base de Datos. Sus atributos son: Atributo Tipo de Datos Descripción id_coverage Texto (50) Identificador de la cobertura simple. Es una

clave ajena, por lo que dicha cobertura simple debe existir también en la tabla coverage

type Entero Clave ajena que identifica al concepto del tesauro de coberturas simples que describe la cobertura

Composed_coverage

Conjunto de coberturas compuestas existentes en la Base de Datos. Sus atributos son: Atributo Tipo de Datos Descripción id_coverage Texto (50) Identificador de la cobertura compuesta. Es una

clave ajena, por lo que dicha cobertura compuesta debe existir también en la tabla

Page 10: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 10 de 18

coverage type Entero Clave ajena que identifica al concepto del

tesauro de coberturas compuestas que describe la cobertura

Tablas de coberturas simples y compuestas

En la base de datos se ha creado una tabla por cada una de las clases del modelo SIOSE que representan especializaciones de coberturas simples o compuestas. El objetivo de las mismas consiste en facilitar la ampliación del modelo mediante la adición de nuevos atributos específicos de alguna cobertura, no representables mediante tesauros, como pudieran ser campos numéricos, fechas, campos de texto libre (comentarios, descripciones,…), etc. El único atributo común que presentan estas tablas es el siguiente: Atributo Tipo de Datos Descripción id Texto (50) Identificador de la cobertura. Es una clave ajena,

por lo que dicho identificador de cobertura debe existir también en la tabla coverage

Relation_attributes

Relación entre las coberturas simples y sus atributos (representados como conceptos de tesauros). Sus atributos son: Atributo Tipo de Datos Descripción id_coverage Texto (50) Clave ajena que identifica a la cobertura simple

objeto de la relación. id_element Entero Clave ajena que identifica al concepto del

tesauro de la tabla thesaurus_attributes objeto de la relación

Relation_attributes_composed

Relación entre las coberturas compuestas y sus atributos (representados como conceptos de tesauros). Sus atributos son: Atributo Tipo de Datos Descripción id_coverage Texto (50) Clave ajena que identifica a la cobertura

compuesta objeto de la relación. id_element Entero Clave ajena que identifica al concepto del

tesauro de la tabla thesaurus_attributes objeto de la relación

2.1.3. Tablas de configuración o definición del modelo

Page 11: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 11 de 18

Por último, se han definido tres tablas que representan ciertas restricciones impuestas por el modelo de datos y que únicamente tienen utilidad para el correcto funcionamiento de la Aplicación de Asignación de Coberturas SIOSE (appSIOSE).

Predefined_child

Esta tabla establece qué coberturas simples, según el modelo de datos SIOSE, pueden formar parte de cada cobertura compuesta de tipo asociación predefinida. Para ello se hace uso de la información contenida en las tablas thesaurus_simple y thesaurus_composed. Sus atributos son: Atributo Tipo de Datos Descripción id_composed Entero Clave ajena que identifica al tipo de cobertura

compuesta de la que formarán parte las coberturas simples asociadas

id_simple Entero Clave ajena que identifica al tipo de cobertura simple que forma parte de la cobertura compuesta indicada por el atributo id_composed

Por ejemplo, la cobertura compuesta, de tipo asociación, Huerta Familiar está compuesta por las siguientes coberturas simples: Cultivos herbáceos, Cultivos leñosos, Arbolado forestal, Edificación y Lámina de agua artificial. O bien, la cobertura compuesta, de tipo asociación, Olivar/Viñeo está compuesta por las siguientes coberturas simples: Viñedo y Olivar.

id_composed id_simple

5 25 35 125 305 327 77 8

id label

5 Huerta familiar7 Olivar/Viñedo

id label

2 Cultivos herbáceos3 Cultivos leñosos12 Arbolado Forestal30 Edificación32 Láminas de agua artificial7 Viñedo8 Olivar

PREDEFINED_CHILD

THESAURUS_COMPOSED

THESAURUS_SIMPLE

PREDEFINED_CHILD

id_composed (FK)id_simple (FK)

id_composed id_simple

5 25 35 125 305 327 77 8

id label

5 Huerta familiar7 Olivar/Viñedo

id label

2 Cultivos herbáceos3 Cultivos leñosos12 Arbolado Forestal30 Edificación32 Láminas de agua artificial7 Viñedo8 Olivar

PREDEFINED_CHILD

THESAURUS_COMPOSED

THESAURUS_SIMPLE

PREDEFINED_CHILD

id_composed (FK)id_simple (FK)

PREDEFINED_CHILD

id_composed (FK)id_simple (FK)

Page 12: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 12 de 18

Attributes

Esta tabla establece qué atributos, según el modelo de datos SIOSE, corresponden a cada cobertura simple (incluyendo aquellas coberturas simples que forman parte de alguna compuesta de tipo asociación predefinida). Para ello se hace uso de la información contenida en las tablas thesaurus_simple, thesaurus_composed y thesaurus_attributes. Sus atributos son: Atributo Tipo de Datos Descripción id_parent Entero Clave ajena que identifica al tipo de cobertura

compuesta al que pertenece la cobertura simple objeto de la relación

id_coverage Entero Clave ajena que identifica al tipo de cobertura simple al que corresponde el atributo objeto de la relación

thesaurus_name Texto (50) Nombre del tesauro que identifica al atributo objeto de la relación. Debe corresponderse con un valor de los existentes en el campo name de la tabla thesaurus_attributes

default_value Entero Valor por defecto del atributo. Debe corresponderse con un valor de los existentes en el campo id de la tabla thesaurus_attributes

Por ejemplo, la cobertura simple Pastizal tiene cuatro atributos: función de cortafuegos, cortas, procedencia de cultivo y pastizal de alta montaña. Sin embargo, si dicha cobertura simple forma parte de otra cobertura compuesta de tipo Dehesa, el atributo función de cortafuegos tiene un valor por defecto: no función de cortafuegos.

Attributes_composed

Esta tabla tiene la misma estructura y propósito que la anterior, con la diferencia de que se refiere únicamente a los atributos que corresponden a cada cobertura compuesta.

id label

10 Prados y Praderas11 Pastizal12 Arbolado Forestal

THESAURUS_SIMPLE

id name label

5 funcionDeCortafuegos FUNCIÓN DE CORTAFUEGOS6 funcionDeCortafuegos NO FUNCIÓN DE CORTAFUEGOS7 cortas CORTAS8 cortas NO CORTAS13 procedenciaDeCultivo PROCEDE DE CULTIVO14 procedenciaDeCultivo NO PROCEDE DE CULTIVO

id_parent id_coverage thesaurus_name default_value

11 funcionDeCortafuegos11 cortas11 procedenciaDeCultivo

8 11 funcionDeCortafuegos 6id label

5 Huerta familiar6 Asentamiento agrícola7 Olivar/Viñedo8 Dehesa

ATTRIBUTES

THESAURUS_COMPOSED

THESAURUS_ATTRIBUTES

id label

10 Prados y Praderas11 Pastizal12 Arbolado Forestal

THESAURUS_SIMPLE

id name label

5 funcionDeCortafuegos FUNCIÓN DE CORTAFUEGOS6 funcionDeCortafuegos NO FUNCIÓN DE CORTAFUEGOS7 cortas CORTAS8 cortas NO CORTAS13 procedenciaDeCultivo PROCEDE DE CULTIVO14 procedenciaDeCultivo NO PROCEDE DE CULTIVO

id_parent id_coverage thesaurus_name default_value

11 funcionDeCortafuegos11 cortas11 procedenciaDeCultivo

8 11 funcionDeCortafuegos 6id label

5 Huerta familiar6 Asentamiento agrícola7 Olivar/Viñedo8 Dehesa

ATTRIBUTES

THESAURUS_COMPOSED

THESAURUS_ATTRIBUTES

Page 13: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 13 de 18

3. Ejemplos prácticos

3.1. Almacenamiento de una cobertura simple en la Base de Datos Supongamos una cobertura simple de tipo Arroz que ocupa el 100% del polígono en el que está contenida (el identificador de dicho polígono en la Base de Datos es, por ejemplo, el 27) y que posee las siguientes características: es una zona de regadío (regado), no abancalada y no forzada. Las tablas que habrá que completar para almacenar esta información en la base de datos son las siguientes: POLYGON_COVERAGE id_polygon id_coverage 27 1 COVERAGE id Coverage_area_percentage id_coverage_parent 1 100 SIMPLE_COVERAGE id_coverage type 1 55 El elemento con identificador 55 en la tabla thesaurus_simple es “CULTIVOS.CULTIVOS HERBÁCEOS.ARROZ” CULTIVOS id 1 CULTIVOS_HERBACEOS id 1 ARROZ id 1 RELATION_ATTRIBUTES id_coverage id_element 1 3 1 18 1 16 Los elementos con identificadores 2, 18 y 16 en la tabla thesaurus_attributes son “REGADÍO.REGADO”, “NO ABANCALADO” y “NO FORZADO”, respectivamente.

3.2. Almacenamiento de una cobertura compuesta en la Base de Datos Supongamos un polígono (cuyo identificador en la Base de Datos es el 35) que contiene una cobertura compuesta de tipo Mosaico Regular que ocupa el 100% del mismo. En su interior se puede distinguir una cobertura simple de tipo Suelo No Edificado (55% del Mosaico) y otra compuesta de tipo Industria Aislada (45% del Mosaico). Esta última cobertura posee un 70%

Page 14: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 14 de 18

de edificios (naves), y un 30% de otras construcciones. Las tablas que habrá que completar para almacenar esta información en la base de datos son las siguientes: POLYGON_COVERAGE id_polygon id_coverage 35 2 COVERAGE id coverage_area_percentage id_coverage_parent 2 100 3 55 2 4 45 2 5 31,5 4 6 13,5 4 Los porcentajes indicados en el campo coverage_area_percentaje toman como referencia la totalidad del polígono SIMPLE_COVERAGE id_coverage type 3 35 5 30 6 34 Los elementos con identificador es 35, 30 y 34 en la tabla thesaurus_simple son “COBERTURAS ARTIFICIALES.SUELO NO EDIFICADO”, “COBERTURAS ARTIFICIALES.EDIFICACIÓN” y “COBERTURAS ARTIFICIALES.OTRAS CONSTRUCCIONES”, respectivamente COMPOSED_COVERAGE id_coverage type 2 2 4 18 Los elementos con identificador es 2, y 18 en la tabla thesaurus_composed son “MOSAICO.MOSAICO REGULAR” y “ASOCIACIÓN.ARTIFICIAL COMPUESTO.INDUSTRIAL.INDUSTRIA AISLADA”, respectivamente MOSAICO id 2 MOSAICO_REGULAR id 2 COBERTURAS_ARTIFICIALESid 3 5 6 SUELO_NO_EDIFICADO id 3 ASOCIACION

Page 15: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 15 de 18

id 4 ARTIFICIAL_COMPUESTO id 4 INDUSTRIAL id 4 INDUSTRIA_AISLADA id 4 EDIFICACION id 5 OTRAS_CONSTRUCCIONES id 6 RELATION_ATTRIBUTES_COMPOSEDid_coverage id_element 4 33 El elemento con identificador 33 en la tabla thesaurus_attributes es “NO ESTÁ EN CONSTRUCCIÓN” RELATION_ATTRIBUTES id_coverage id_element 5 24 El elemento con identificador 24 en la tabla thesaurus_attributes es “NAVE”

3.3. Consultas a la Base de Datos A continuación, se ofrecen una serie de consultas de ejemplo a la Base de Datos con el objetivo aclarar un poco más el funcionamiento de la misma.

• Obtener todas las coberturas simples de tipo Cobertura Artificial

SELECT * FROM COBERTURAS_ARTIFICIALES;

• Obtener el número de coberturas artificiales de tipo Edificación existentes en la base de datos

SELECT COUNT(*) FROM EDIFICACION;

• Obtener todas las Praderas de Regadío

Page 16: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 16 de 18

SELECT id_coverage FROM CULTIVOS_HERBACEOS, RELATION_ATTRIBUTES WHERE CULTIVOS_HERBACEOS.id = RELATION_ATTRIBUTES.id_coverage AND (RELATION_ATTRIBUTES.id_element = 2 OR RELATION_ATTRIBUTES.id_element = 3 OR RELATION_ATTRIBUTES.id_element = 4);

Los valores 2, 3 y 4 se corresponden respectivamente con los identificadores de los elementos “REGADÍO”, “REGADÍO.REGADO” y “REGADÍO.NO REGADO” de la tabla relation_attributes. La misma consulta podría realizarse utilizando únicamente la información de los tesauros:

SELECT SIMPLE_COVERAGE.id_coverage FROM THESAURUS_SIMPLE, SIMPLE_COVERAGE, RELATION_ATTRIBUTES WHERE THESAURUS_SIMPLE.label = 'CULTIVOS.CULTIVOS HERBACEOS' AND THESAURUS_SIMPLE.id = SIMPLE_COVERAGE.type AND RELATION_ATTRIBUTES.id_coverage = SIMPLE_COVERAGE.id_coverage AND (RELATION_ATTRIBUTES.id_element = 2 OR RELATION_ATTRIBUTES.id_element = 3 OR RELATION_ATTRIBUTES.id_element = 4);

• Obtener todos los tipos de coberturas existentes en la Base de Datos

SELECT DISTINCT label FROM SIMPLE_COVERAGE, THESAURUS_SIMPLE WHERE THESAURUS_SIMPLE.id = SIMPLE_COVERAGE.type UNION SELECT DISTINCT label FROM COMPOSED_COVERAGE, THESAURUS_COMPOSED WHERE THESAURUS_COMPOSED.id = COMPOSED_COVERAGE.type;

• Obtener las características de todas las coberturas de tipo Cultivos Herbáceos

SELECT SIMPLE_COVERAGE.id_coverage, THESAURUS_ATTRIBUTES.label FROM

SIMPLE_COVERAGE, THESAURUS_SIMPLE, RELATION_ATTRIBUTES, THESAURUS_ATTRIBUTES WHERE

SIMPLE_COVERAGE.type=THESAURUS_SIMPLE.id AND THESAURUS_SIMPLE.label LIKE '*.CULTIVOS HERBÁCEOS.*' AND SIMPLE_COVERAGE.id_coverage=RELATION_ATTRIBUTES.id_coverage AND RELATION_ATTRIBUTES.id_element=THESAURUS_ATTRIBUTES.id;

Page 17: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 17 de 18

3.4. Ampliación del modelo Para ejemplificar cómo se llevaría a cabo una ampliación del modelo de datos, vamos a pensar en un caso práctico: Supongamos que queremos especializar la cobertura compuesta artificial Red Viaria en dos coberturas: Autopistas/Autovías y Otras vías. Además, las Autopistas/Autovías van a tener dos atributos, uno de tipo numérico que indicará el número de carriles y otro de tipo booleano que indicará si es o no de pago. Por otro lado, en el atributo enConstrucción de la cobertura Artificial Compuesto queremos recoger si una cobertura que está en fase de construcción, está también en fase de terminación. Los cambios que habría que realizar en la Base de Datos son los siguientes:

• Añadir la información de las nuevas coberturas con sus atributos (los que no son de tipo enumeración). Se crea una tabla para cada nueva cobertura, y se añade la información en el tesauro apropiado (en este caso en el de coberturas compuestas).

TABLA AUTOPISTAS_AUTOVÍAS Atributo Tipo de Datos Descripción id Texto (50) Identificador de la cobertura. Es una clave ajena,

por lo que dicho identificador de cobertura debe existir también en la tabla coverage

lanes Entero Número de carriles de la vía

TABLA OTRAS_VÍAS Atributo Tipo de Datos Descripción id Texto (50) Identificador de la cobertura. Es una clave ajena,

por lo que dicho identificador de cobertura debe existir también en la tabla coverage

THESAURUS_COMPOSED URI id name language label definition http://www.siose.org/composedCoverage/63

63 composedCoverage

es ASOCIACIÓN.ARTIFICIAL COMPUESTO.INFRAESTRUCTURA.TRANSPORTE.RED VIARIA.AUTOPISTAS_AUTOVÍAS

http://www.siose.org/composedCoverage/64

64 composedCoverage

es ASOCIACIÓN.ARTIFICIAL COMPUESTO.INFRAESTRUCTURA.TRANSPORTE.RED VIARIA.OTRAS VÍAS

• Añadir los valores del nuevo atributo de tipo enumeración. Como es un conjunto de

valores que no existía en la Base de Datos, se crea un nuevo tesauro con sus valores, y se añade la información en la tabla thesaurus_attributes.

Page 18: ManualBD_SIOSEV1_12

Fecha: 12-2 2007 Modelo Relacional de la Base de Datos SIOSE Página 18 de 18

THESAURUS_ATTRIBUTES URI id name language label definition altLabel http://www.siose.org/viaDePago/63

34 viaDePago es VIA DE PAGO TRUE

http://www.siose.org/viaDePago/64

35 viaDePago es VIA GRATUITA FALSE

• Asignar a la nueva cobertura sus atributos de tipo enumeración.

ATTRIBUTES_COMPOSED id_parent id_coverage thesaurusName defaultValue 63 viaDePago

• Extender los valores del atributo enConstrucción, ya existente. THESAURUS_ATTRIBUTES URI id name language label definition altLabel http://www.siose.org/enConstruccion/32

32 enConstruccion es EN CONSTRUCCIÓN

TRUE

http://www.siose.org/enConstruccion/33

33 enConstruccion es NO ESTÁ EN CONSTRUCCIÓN

FALSE

http://www.siose.org/enConstruccion/36

36 enConstruccion es EN CONSTRUCCIÓN.EN FASE DE TERMINACIÓN

TRUE