clase3
TRANSCRIPT
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Clase 3
Modelo Relacional
Fabio Andrés [email protected]
http://cursomdsig.blogspot.com
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
• Una Base de Datosdescribe 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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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 estructuraspequeñas y homogéneas.� Normalización: determinación de las relaciones naturalesentre los datos.� Mecanismos de normalización: división de tablas en otrascon menos atributos.� Importante: que no se pierdan datos (recuperación de las tablasoriginales mediante uniones naturales).
Se trabaja sobre el modelo de datos: descripción de la base de datos.
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ideas Diseño E/REsquema Relacional
Base de datos Relacional
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Modelo Relacional
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ículasLa 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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
AtributosLos atributos son las columnas de un relación y describen características particulares de ella.
EsquemasEs 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" (relationaldatabase schema).
TuplasCada uno de los renglones en una relación conteniendo valores para cada uno de los atributos.
(Star Wars, 1977, 124, color)
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
DominiosSe 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ónLas 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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
� 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.
Diseño de una base de datos. Normalización.
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
�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.
Normalización.
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo de Normalización
NOMBRE PACIENTE
DIRECCIÓN TELÉFONO NOMBRE PROFESIONAL
FECHA
A1 C/Tupilan 9999 P1 25/12/2000 A1 C/Tupilan 9999 P1 28/12/2000 A1 C/Tupilan 9999 P2 1/1/2001 A2 C/Amalopa 8888 P1 25/12/2000
Base de Datossin Normalizar
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.� …
Clínica I
Clínica I
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo de Normalización
DNI A PELLIDOS NOMBRE TELÉFONO DIRECCIÓN
78732733-Q Humero Yodal Lorenzo 78465 C/Penutia.464575852-M Nadal Bingo Marta 63633 C/Gisarol.
DNI_PACIENTE DNI_PROFESIONAL FECHA
12345678-s 78732433-Q 25/12/200012345678-s 78732433-Q 31/12/200098765432-d 464575852-M 25/12/2000
Base de DatosNormalizada
Consultas:Se pueden hacer las mismas consultas.
DNI A PELLIDOS NOMBRE DIRECCIÓN TELÉFONO
12345678-s García Romeral Benito C/tupilán 999998765432-d Robledo Tuk Gloria C/Amalopa 8888
Pacientes
Profesionales
Consultas
Clínica I
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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 laorganizació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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo de entidades y atributos.
•Analítica.•Radiología.•Histopatología.•Otras Exploraciones complementarias.•Diagnóstico.•Tratamiento.•Evolución.•Recomendaciones especiales.
•Nombre del paciente.•Apellidos del paciente.•Fecha.•Nombre del Especialista.•Apellidos del especialista.•Motivo consulta.•Enfermedad actual.•Antecentedentespersonales.•Exploración clínica.
Historia
•Teléfono 1.•Teléfono 2.•Dirección.
•Número de profesional.•Apellidos.•Nombre.
Profesional
•Dirección.•Teléfono.•Fecha Nacimiento.
•Número de Paciente.•Apellidos.•Nombre.
Paciente
AtributosEntidades
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo: pequeña mejora.
•Analítica.•Radiología.•Histopatología.•Otras Exploraciones complementarias.•Diagnóstico.•Tratamiento.•Evolución.•Recomendaciones especiales.
•Fecha.•DNI del paciente.•DNI del profesional.•Motivo consulta.•Enfermedad actual.•Antecentedentespersonales.•Exploración clínica.
Historia
•Teléfono 1.•Teléfono 2.•Dirección.
•DNI.•Apellidos.•Nombre.
Profesional
•Dirección.•Teléfono.•Fecha Nacimiento.
•DNI.•Apellidos.•Nombre.
Paciente
AtributosEntidades
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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
DNI APELLIDOS NOMBRE DIRECCIÓN TELÉFONO
12345678-s García Romeral Benito C/tupilán 999998765432-d Robledo Tuk Gloria C/Amalopa 8888
PacientesUna instancia de unaentidad define una filaen una tabla de la basede datos.
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Relaciones entre los objetos
Hay que definir las relaciones entre tablas (uno a uno, uno a varios, variosa uno, varios a varios).Integridad referencial (se usan claves externaso ajenas para asegurar laintegridad de los datos).
� Si se actualiza una clave primaria, se actualizan todas las clavesexternas que se refieran a ella.� Si se elimina una fila, hay que eliminar todas las filas que tengancomo clave externa su clave primaria.� Si se añade una fila con clave externa, tiene que existir una filacon la correspondiente clave primaria.
Cada tabla tiene uno o varios índices (eficiencia).
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
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 delconjunto 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ÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo E/R
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Ejemplo UML
FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA
Curso Modelo de datos para SIG (720145M )
Gracias !Gracias !