Bases de Datos Geográficas
Teoría de bases de datos
Objetivos
- Investigar ventajas e inconvenientes de las bases de datos
- Acercar al alumno al modelado de bases de datos
- Implementar el modelo de datos entidad relación en un modelo relacional
Problemas
- Manejo de grandes volúmenes de datos
- Complejidad en la extracción de estos datos
- Concurrencia en el acceso a datos, accesos simultáneos por varios usuarios
Limitaciones de archivos
- Limitaciones en la cantidad de datos que era posible almacenar
- Rendimiento de lectura de estos archivos
- Bloqueo de los archivos con el acceso por usuario
- Imposibilidad de gestionar el versionado de manera sencilla
¡¡Fragmentación!!
Con el desarrollo de la tecnología se democratiza el uso de ordenadores potentes que permiten poner a disposición de las organizaciones equipos potentes que gestionen de manera eficiente las base de datos mediante
Base de datos
- Una gran masa de datos relacionados entre si pertenecientes a un mismo contexto
- Colección estructurada almacenada en un sistema informático
OBJETIVO
Aportar a la organización a la que sirve la información necesaria
Funciones
-
Recogida
- Almacenamiento
- Procesamiento
- Recuperación
Algunas propiedades
2 Capas 3 Capas
Deben presentar la menor redundancia posible
Son compartidas por todos los usuarios de una red
Objetivos generales de las BBDD
-
Abstracción de la información
- Redundancia mínima
- Seguridad
- Integridad
- Respaldo y recuperación
- Control de la concurrencia, versionado
- Tiempo de respuesta
- ...
Modelo de datos
Encargado de reflejar mediante un conjunto de REGLAS y CONCEPTOS en la estructura de datos y OPERACIONES aplicables sobre estos
Modelo de datos
- Define el tipo de datos que hay en la base de datos y la forma en que se relacionan
- Aplica restricciones entre estos datos
- Define las operaciones de manipulación de los datos
Modelo de datos relacional E-R
Modelo de datos relacional
Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (filas) y campos (columnas)
Conceptos básicos
-
Tablas
-
Columnas
-
Registros
-
Relaciones
Tablas
Unidad que almacena la información referente a un echo. Guarda lo relativo a un concepto definido
Columnas
Almacena la información referente a propiedades o atributos determinados del echo conocido
Registros
Asigna un valor determinado dentro de un rango para cada columna del echo conocido. Define la unidad mínima de información asociada al contexto
Relaciones
Determina el comportamiento de unos echos con otros, de unas tablas con las otras.
Modelización
Construir un modelo de la realidad, que simplifique la “complejidad infinita de ésta”, y permita estudiar una “realidad simplificada”, de tal forma que la información sobre la ejecución de estos escenarios en el modelo sirva de apoyo para la toma de decisiones en base a lo que sucedería en el mundo real.
Modelización
Conceptos deL modelo de datos
Entidad
Algunos ejemplos de entidad son un accidente geográfico, un edificio o una calle. También son entidades otros elementos del mundo real de interés, menos tangibles pero igualmente diferenciales del resto de objetos; por ejemplo, un punto de interés, un tipo de usuario, un archivo de imagen, etc.
Entidad
PARQUE NATURAL →Entidad
OFICINA CORREO →Entidad
ACCIDENTE GEOGRÁFICO →Entidad
Entidad
Las entidades se representan con un rectángulo. El nombre de la entidad se escribe en mayúsculas dentro del rectángulo.
entidad
Entidad débil
Una entidad débil es una entidad cuyos atributos no la identifican completamente, sino que sólo la identifican de forma parcial. Esta entidad debe participar en una interrelación que ayuda a identificarla.
Entidad débil
Curso → Profesor
Localidad → Provincia
Dominio y valor
El conjunto de posibles valores que puede tomar una cierta característica se denomina dominio
dominio y valor
Inglés → pertenece al dominio de Idiomas
33000ha → pertenece al dominio de unidades de medida de superficie
dominio y valor
atributo
Cada una de las propiedades o características que tiene un tipo de entidad o un tipo de relación se denomina atributo; estos toman valores de uno o varios dominios.
Atributo
atributo
Atributo
- Atributo multivaluado: atributos de una entidad que pueden tener más de un valor.
- Atributo optativo: aquel que puede admitir valores nulos
- Atributo identificador: Uno o más campos cuyos valores son únicos en cada ejemplar de una entidad
- Deben distinguir a cada ejemplar tendiendo en cuenta las entidades que utiliza el modelo
- Todos los ejemplares de un entidad deben tener el mismo identificador
Atributo
Ejemplos de atributo:
Parque Natural → Superficie
Parque Natural → Nombre
Oficina → Teléfono
ATRIBUTO
Atributo
Ejemplos de atributo multivaluado:
- Curso → Idioma
- Oficina → Teléfono
Atributo multivaluado
Atributo
Ejemplos de atributo opcional:
-
Cliente → e-mail
Atributo
Ejemplos de atributo identificador:
-
Cliente → numero identificación
Pueden existir varios atributos identificadores
Atributo identificador
Restricciones
Se trata de limitaciones en las estructuras y en los datos impuestas por el propio modelo o por el desarrollador del modelo.
Estas solo deben darse entre las entidades del modelo, nunca entre las relaciones.
Restricciones
Ejemplos de restricción
El modelo obliga a que las entidades tengan un identificador.
El uso de dominios se puede considerar una restricción sobre los valores.
Necesidad de Integridad referencial
Restricciones
Ejemplos de restricción
Restricción de dominio: Un trabajador de Correos no puede tener un sueldo menor a X
Integridad referencial: Si cierra Correos no puede quedar ninguna Oficina abierta en la base de datos
Relaciones
Esta se define como la asociación, vinculación o correspondencia entre entidades.
Relaciones
Ejemplo de relación:
PAÍS → TIENE → PARQUE NATURAL
Relaciones
En el modelo relacional se representa con un rombo entre las entidades relacionadas
Elementos de una relación
Nombre
Nombre, es el valor por el que se distingue del resto. En la representación gráfica se correspondería con la etiqueta incluida en el rombo que representa la relación.
Nombre
Aporta semántica al modelo relacional
Grado
Número de entidades que participan en un tipo de relación. Será de grado 2 (o binaria) cuando asocia dos tipos de entidad. Para las relaciones de grado 2 puede existir un caso particular que son las reflexivas o recursivas, en las cuales una entidad se asocia consigo misma.
Grado
Tipo de correspondencia
Número máximo de ejemplares que pueden estar asociados, en una determinada relación, con un ejemplar de otro tipo. Para representarlo gráficamente se pone una etiqueta 0:N, 1:1, 1:N o N:M en el lado de la relación que corresponda o bien se orienta el arco de la unión en el sentido 1 a N mediante una flecha
Tipo de correspondencia
Papel
El papel o rol, es la función que cada uno de los tipos de entidad tiene en la relación. Se representa poniendo el nombre del papel en el arco de cada entidad
Papel
Cardinalidad
Número mínimo y máximo de ejemplares de un tipo de entidad que pueden estar interrelacionadas con un ejemplar del otro, u otros tipos de entidad que participan en el tipo de relación. Se representará graficamente mediante un etiqueta del tipo (0,1), (1,1), (0,N) o (1,N).
Cardinalidad
Atributos de las relaciones
Se produce cuando el atributo identifica una característica propia de la relación y no de alguna de sus entidades
Ejemplo de atributo en relación:
-
Fecha de un evento
-
Edición de un curso
Especialización
Entidades que se pueden dividir en entidades más concretas. La entidad general comparte con las especializadas sus atributos. Se detecta cuando hay ejemplares para los que no tienen sentido algunos de los atributos mientras que otros si.
Especialización
Generalización
La generalización es si se puede agrupar varias entidades en una o mas entidades generales. Se observa generalización si en varias entidades existen atributos iguales.
Generalización
Modelización
-
Encontrar entidades
-
Identificar atributos de las entidades
-
Buscar identificadores
-
Especificar las relaciones y cardinalidades
-
Identificar entidades débiles
-
Especializar y generalizar entidades donde sea posible
Práctica guiada
Crear un diseño entidad relación que permita almacenar datos geográficos referidos a un país:
-
Se almacenará la población de cada localidad, junto con su nombre y los datos del distrito al que pertenece la localidad, su nombre y superficie
-
Necesitamos también conocer el nombre de cada provincia y las localidades y distritos de la misma
-
Para identificar a la provincia se usarán los dos primeros dígitos del código postal. Es decir 111 será el código de una provincia y 51 el del distrito
-
Necesitamos saber qué localidad es la capital de cada provincia y cuáles lo son de cada distrito
Encontrar entidades
Encontrar entidades
Identificar atributos
IDENTIFICAR ATRIBUTOS
Buscar identificadores
BUSCAR IDENTIFICADORES
Especificar relaciones y cardinalidades
ESPECIFICAR RELACIONES Y CARDINALIDADES
Identificar entidades débiles
RESULTADO
¡¡RECORDAD!!
Encontrar entidades
Identificar atributos de las entidades
Buscar identificadores
Especificar las relaciones y cardinalidades
Identificar entidades débiles
Especializar y generalizar entidades donde sea posible
Modelo E/R
By Micho García
Modelo E/R
- 1,457