1. Curso Modelo de datos para SIG (720145M )
Clase 3
Modelo Relacional
Fabio Andrés Herrera
fandresherrera@hotmail.com
http://cursomdsig.blogspot.com
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
2. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
3. Curso Modelo de datos para SIG (720145M )
Una base de datos relacional es un conjunto de una o más
tablas estructuradas en registros (líneas) y campos (columnas),
que se vinculan entre sí por un campo en común, en ambos
casos posee las mismas características como por ejemplo el
nombre de campo, tipo y longitud; a este campo generalmente
se le denomina ID, identificador o clave. A esta manera de
construir bases de datos se le denomina modelo relacional.
Estrictamente hablando el término se refiere a una colección
específica de datos pero a menudo se le usa, en forma errónea
como sinónimo del software usado para gestionar esa colección
de datos. Ese software se conoce como SGBD (sistema
gestor de base de datos) relacional o RDBMS (del inglés
relational database management system).
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
4. Curso Modelo de datos para SIG (720145M )
• Una Base de Datos describe organizaciones del mundo
real, representa simbólicamente los objetos del mundo
real como tablas.
• Importancia del diseño de la BD.
• Diseño lógico: proceso iterativo.
•Partir grandes estructuras heterogéneas en otras
estructuras más pequeñas y homogéneas.
• A este proceso se le llama normalización.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
5. Curso Modelo de datos para SIG (720145M )
Diseño de una base de datos. Características
Etapa previa a la introducción (Grabación) de datos.
Proceso iterativo (normalización): se buscan estructuras
pequeñas y homogéneas.
Normalización: determinación de las relaciones naturales
entre los datos.
Mecanismos de normalización: división de tablas en otras
con menos atributos.
Importante: que no se pierdan datos (recuperación de las tablas
originales mediante uniones naturales).
Se trabaja sobre el modelo de datos: descripción de la base de datos.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
6. Curso Modelo de datos para SIG (720145M )
Entre las ventajas de este modelo están:
1. Garantiza herramientas para evitar la duplicidad de registros, a
través de campos claves o llaves.
2. Garantiza la integridad referencial: Así al eliminar un registro
elimina todos los registros relacionados dependientes.
3. Favorece la normalización por ser más comprensible y aplicable.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
7. Curso Modelo de datos para SIG (720145M )
Esquema Base de datos
Ideas Diseño E/R
Relacional Relacional
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
8. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
9. Curso Modelo de datos para SIG (720145M )
Modelo Relacional
Elementos del modelo
En el modelo relacional el único elemento de representación es
la tabla
Equivalencia entre representaciones
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
10. Curso Modelo de datos para SIG (720145M )
Modelo Relacional
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
11. Curso Modelo de datos para SIG (720145M )
El paso del modelo E/R al modelo relacional
•Conjuntos de entidades Tablas
•Cada entidad es una fila
•Atributos y claves primarias se identifican
•Relaciones Tablas
•Cada ocurrencia es una fila
•Atributos
•Las claves primarias de los conjuntos entidades que intervienen
•Los atributos propios de la relación (si los hay)
•Las claves primarias de la relaciones serán:
Si no hay atributos propios:
• La relación es muchos a muchos → La unión de las dos llaves
• La relación es uno a muchos → La clave correspondiente a muchos
•Si la relación es uno a uno → Una de las dos claves
Si hay atributos:
•La clave incluye los atributos del apartado anterior, pudiendo incluir,
además, los atributos propios (depende de la semántica).
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
12. Curso Modelo de datos para SIG (720145M )
Conceptos básicos
Tablas
El modelo relacional proporciona un manera simple de representar los datos:
una tabla bidimensional llamada relación.
Relación Películas
La relación Películas tiene la intención de manejar la información de las
instancias en la entidad Películas, cada renglón corresponde a una entidad
película y cada columna corresponde a uno de los atributos de la entidad.
Sin embargo las relaciones pueden representar más que entidades.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
13. Curso Modelo de datos para SIG (720145M )
Atributos
Los atributos son las columnas de un relación y describen características
particulares de ella.
Esquemas
Es el nombre que se le da a una relación y el conjunto de atributos en ella.
Películas (título, año, duración, tipo)
En un modelo relación, un diseño consiste de uno o más esquemas, a este
conjunto se le conoce como "esquema relacional de base de datos" (relational
database schema).
Tuplas
Cada uno de los renglones en una relación conteniendo valores para cada
uno de los atributos.
(Star Wars, 1977, 124, color)
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
14. Curso Modelo de datos para SIG (720145M )
Dominios
Se debe considerar que cada atributo (columna) debe ser atómico, es
decir, que no sea divisible, no se puede pensar en un atributo como un
"registro" o "estructura" de datos.
Representaciones equivalentes de una relación
Las relaciones son un conjunto de tuplas, no una lista de tuplas. El orden
en que aparecen las tuplas es irrelevante.
Así mismo el orden de los atributos tampoco es relevante
Otra representación de la relación Películas
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
15. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
16. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
17. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
18. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
19. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
20. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
21. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
22. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
23. Curso Modelo de datos para SIG (720145M )
Diseño de una base de datos. Normalización.
Objetivo de la normalización: determinar las relaciones
naturales entre los datos.
Se parte una tabla en dos o más con menos columnas.
No hay pérdida de información.
Información de la tabla original: operación de unión de las
tablas.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
24. Curso Modelo de datos para SIG (720145M )
Normalización.
Actualización y borrado de los datos más fácil.
Cuando un dato se almacena en un lugar y se accede a
él por referencia, la posibilidad de error debido a la
existencia de duplicados se reduce.
Cuando los datos se almacenan una sola vez la
posibilidad de inconsistencia en los datos se reduce.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
25. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
26. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
27. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
28. Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
29. Curso Modelo de datos para SIG (720145M )
Ejemplo de Normalización
Clínica I
Base de Datos NOMBRE
PACIENTE
DIRECCIÓN TELÉFONO NOMBRE
PROFESIONAL
FECHA
sin Normalizar A1
A1
C/Tupilan
C/Tupilan
9999
9999
P1
P1
25/12/2000
28/12/2000
A1 C/Tupilan 9999 P2 1/1/2001
Clínica I A2 C/Amalopa 8888 P1 25/12/2000
Consultas:
Queremos saber la dirección y el teléfono de todos los pacientes que hayan
sido tratados por el especialista P1.
Nombre, dirección de todos los pacientes que tienen consulta el 25/12/2000.
…
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
30. Curso Modelo de datos para SIG (720145M )
Ejemplo de Normalización
Pacientes
DNI APELLIDOS NOMBRE DIRECCIÓN TELÉFONO
12345678-s García Romeral Benito C/tupilán 9999
98765432-d Robledo Tuk Gloria C/Amalopa 8888
Base de Datos
Normalizada Profesionales
DNI APELLIDOS NOMBRE TELÉFONO DIRECCIÓN
Clínica I 78732733-Q Humero Yodal Lorenzo 78465 C/Penutia.
464575852-M Nadal Bingo Marta 63633 C/Gisarol.
Consultas
DNI_PACIENTE DNI_PROFESIONAL FECHA
12345678-s 78732433-Q 25/12/2000
12345678-s 78732433-Q 31/12/2000
98765432-d 464575852-M 25/12/2000
Consultas:
Se pueden hacer las mismas consultas.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
31. Curso Modelo de datos para SIG (720145M )
Análisis y modelado de datos.
Recogida de Datos.
Antes de diseñar los objetos de la base de datos –tablas y columnas– es
necesario organizar y analizar los datos del mundo real a un nivel
conceptual.
Hay cuatro objetivos primarios:
Identificación de las mayores funciones y actividades de la
organización. Por ejemplo: Mantener un registro de las consultas en un
centro, etc.
Identificación de los objetos de estas funciones y actividades.
Por ejemplo: Paciente, profesional, etc.
Identificación de las características de estos objetos.
Identificación de las relaciones entre los objetos.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
32. Curso Modelo de datos para SIG (720145M )
Análisis y modelado de datos.
Identificación de Entidades y Atributos
Entidades. Identificación de objetos relevantes (ej. Usuario,
empleado, tratamiento, centro de salud, etc.)
Atributos. Identificación de características de los objetos (ej.
Para empleado: identificador, apellidos, nombre, puesto, cualificación
antigüedad).
Relaciones. Identificación de relaciones entre objetos (ej. Centro de
salud tiene empleados, centro de salud tiene usuarios, usuarios son
atendidos por empleados, usuarios tienen tratamientos).
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
33. Curso Modelo de datos para SIG (720145M )
Ejemplo de entidades y atributos.
Entidades Atributos
•Número de Paciente. •Dirección.
Paciente •Apellidos. •Teléfono.
•Nombre. •Fecha Nacimiento.
•Número de profesional. •Teléfono 1.
Profesional •Apellidos. •Teléfono 2.
•Nombre. •Dirección.
•Nombre del paciente. •Analítica.
•Apellidos del paciente. •Radiología.
•Fecha. •Histopatología.
•Nombre del Especialista. •Otras Exploraciones
Historia •Apellidos del especialista. complementarias.
•Motivo consulta. •Diagnóstico.
•Enfermedad actual. •Tratamiento.
•Antecentedentes •Evolución.
personales. •Recomendaciones especiales.
•Exploración clínica.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
34. Curso Modelo de datos para SIG (720145M )
Ejemplo: pequeña mejora.
Entidades Atributos
•DNI. •Dirección.
Paciente •Apellidos. •Teléfono.
•Nombre. •Fecha Nacimiento.
•DNI. •Teléfono 1.
Profesional •Apellidos. •Teléfono 2.
•Nombre. •Dirección.
•Fecha. •Analítica.
•DNI del paciente. •Radiología.
•DNI del profesional. •Histopatología.
•Motivo consulta. •Otras Exploraciones
Historia •Enfermedad actual. complementarias.
•Antecentedentes •Diagnóstico.
personales. •Tratamiento.
•Exploración clínica. •Evolución.
•Recomendaciones especiales.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
35. Curso Modelo de datos para SIG (720145M )
Diseño de las tablas.
Tabla (en base de datos relacional): representación de una entidad con
sus atributos:
Cada columna: valores para un atributo.
Cada fila: instancia de una entidad.
Ejemplo
Pacientes
DI
N A LIDOS
PEL NM E
O BR D ECCIÓN
IR TELÉFO O
N Una instancia de una
12345678-s G R eral
arcía om Benito C/tupilán 9999 entidad define una fila
98765432-d RobledoTuk G loria C m
/A alopa 8888 en una tabla de la base
de datos.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
36. Curso Modelo de datos para SIG (720145M )
Atributos Únicos
Es necesario identificar unívocamente cada instancia de
una entidad.
Para ello se usan claves primarias (valores únicos para una
o varias propiedades).
Las claves primarias pueden ser referenciadas por otras
tablas. (Claves externas)
Por ejemplo: El DNI del paciente y el DNI del
profesional.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
37. Curso Modelo de datos para SIG (720145M )
Reglas de Integridad.
Especificación del tipo de dato (ej: texto, numérico,
fecha,...).
Valores por defecto, requeridos, y estado nulo.
Restricciones de integridad (reglas para validar la
entrada de datos (columna a tabla y tabla a tabla)).
Reglas de validación (ejemplo: la fecha de nacimiento
ha de estar en el pasado).
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
38. Curso Modelo de datos para SIG (720145M )
Relaciones entre los objetos
Hay que definir las relaciones entre tablas (uno a uno, uno a varios, varios
a uno, varios a varios).
Integridad referencial (se usan claves externas o ajenas para asegurar la
integridad de los datos).
Si se actualiza una clave primaria, se actualizan todas las claves
externas que se refieran a ella.
Si se elimina una fila, hay que eliminar todas las filas que tengan
como clave externa su clave primaria.
Si se añade una fila con clave externa, tiene que existir una fila
con la correspondiente clave primaria.
Cada tabla tiene uno o varios índices (eficiencia).
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
39. Curso Modelo de datos para SIG (720145M )
El paso del modelo E/R al modelo relacional
Paso de entidades débiles a tablas:
La entidad débil será una tabla que incluirá, además de los atributos
propios, la clave primaria de la entidad fuerte de la que depende.
La clave primaria de la tabla construida estará compuesta por la clave
primaria de la entidad fuerte+algún atributo propio usado como discriminante.
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
40. Curso Modelo de datos para SIG (720145M )
El paso del modelo E/R al modelo relacional
Paso de GENERALIZACION a tablas:
1. Crear una tabla por cada conjunto de entidades.- En
este caso, las particularizaciones heredan la clave primaria del
conjunto de entidades de nivel superior.
EMPLEADO(NRP,NOMBRE,DIRECCION,....)
FUNCIONARIO(NRP,NIVEL)
LABORAL(NRP,GRUPO)
2. Crear una tabla por cada caso particular.- En este caso,
las particularizaciones heredan todos los atributos de la entidad
general.
FUNCIONARIO(NRP,NOMBRE,DIRECCION,....,NIVEL)
LABORAL(NRP,NOMBRE,DIRECCION,....,GRUPO)
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
41. Curso Modelo de datos para SIG (720145M )
Ejemplo E/R
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
42. Curso Modelo de datos para SIG (720145M )
Ejemplo UML
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
43. Curso Modelo de datos para SIG (720145M )
Gracias !
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA