clase3

43
FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA Curso Modelo de datos para SIG (720145M ) Clase 3 Modelo Relacional Fabio Andrés Herrera [email protected] http://cursomdsig.blogspot.com

Upload: t763rm3n

Post on 21-Jun-2015

614 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Clase3

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

Page 2: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 3: Clase3

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 )

Page 4: Clase3

• 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 )

Page 5: Clase3

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 )

Page 6: Clase3

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 )

Page 7: Clase3

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

Page 8: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 9: Clase3

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

Page 10: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Modelo Relacional

Page 11: Clase3

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).

Page 12: Clase3

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.

Page 13: Clase3

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)

Page 14: Clase3

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

Page 15: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 16: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 17: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 18: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 19: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 20: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 21: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 22: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 23: Clase3

� 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 )

Page 24: Clase3

�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 )

Page 25: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 26: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 27: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 28: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Page 29: Clase3

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 )

Page 30: Clase3

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 )

Page 31: Clase3

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 )

Page 32: Clase3

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 )

Page 33: Clase3

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 )

Page 34: Clase3

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 )

Page 35: Clase3

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 )

Page 36: Clase3

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 )

Page 37: Clase3

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 )

Page 38: Clase3

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 )

Page 39: Clase3

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.

Page 40: Clase3

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)

Page 41: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Ejemplo E/R

Page 42: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Ejemplo UML

Page 43: Clase3

FACULTAD DE INGENIERÍAESCUELA DE INGENIERÍA CIVIL Y GEOMÁTICA

Curso Modelo de datos para SIG (720145M )

Gracias !Gracias !