IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de...

25
IBD Clase 13

Transcript of IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de...

Page 1: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

IBD

Clase 13

Page 2: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 132

Modelado de datos

Diseño lógico de alto nivel usando E-I• Convertir el esquema conceptual en un esquema lógico• Enfoque global del diseño lógico(independiente del modelo)

Esquema conceptual

DiseñoLógico

Criterios derendimiento

Descr. del modelológico objetivo

Info de cargade BD

Esquema lógico en el modelo objetivo

Page 3: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 133

Modelado de datos

Decisiones a tomar:Sobre datos derivados Eliminación de atributos con cardinalidad

> 1Eliminación de Jerarquías de

GeneralizaciónPartición de EntidadesPartición de InterrelacionesFusión de Entidades e Interrelaciones

Page 4: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 134

Modelado de datos

Sobre datos derivados

• Ventaja: no se necesita calcular el valor, reduce # de accesos a la BD

• Desventajas: procesamiento adicional para mantener los datos derivados, y se requiere más espacio en HD.

Page 5: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 135

Modelado de datos

Eliminación de Jerarquías de generalización:

• Los modelos lógicos no permiten representarlas. • Se deben representar usando sólo entidades e

interrelaciones • Se debe cuidar:

• Herencia de atributos se debe indicar explícitamente

• Interrelación implícita ES_UN se debe captar• Tres Casos

Page 6: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 136

Modelado de datos

Caso 1:

Integrar la jerarquía de generalización a una sola entidad uniendo los atributos de las subentidades y añadiendo estos atributos a los de la superentidad.

(Ver Figura)• Solución muy simple• Generan valores nulos de atributos (card 0,1)• Aplicable a cualquier caso de jerarquía de

Generalización

Page 7: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 137

Modelado de datos

Caso 2:

Eliminar la superentidad pero retener las subentidades.

(Ver Figura)• Desventajas: repetir atributos y operaciones de

superentidad (el uso repetitivo de la misma interrelación crea una redundancia no deseable)

• Aplicable en caso de cobertura total exclusiva• Mala en cobertura superpuesta o parcial

Page 8: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 138

Modelado de datos

Caso 3:

retener todas las entidades y establecer explícitamente las interrelaciones entre las superentidades y subentidades.

(Ver Figura)• Es el caso más general y aplicable• Proporciona redundancia inherente (a nivel

conceptual) al representar la relación “es_un” de la Jerarquía a través de una interrelación explícita

Page 9: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 139

Modelado de datos

Partición de entidades (para acceso simultáneo con frecuencia)

• Horizontal (entidades) (Ver Figura)• Vertical (atributos) (Ver Figura)

Partición de Interrelaciones• En situaciones de relaciones de uno a muchos y de

muchos a muchos (Ver Figura)

Fusión de entidades e interrelaciones• Normalización• cardinalidad

Page 10: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1310

Modelado de datos

Diseño lógico en el modelo relacionalRDBMS: modelo actual más popularCaracterísticas:

• Relaciones: elem. básico del modelo• Una agregación de atributos -> relación• Dominio: conj. de valores que puede tomar un

atributo• Un caso de relación es una tabla con filas y

columnas• Columnas de la tabla: atributos, Filas de la tabla:

tuplas

Page 11: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1311

Modelado de datos

Diseño lógico en el modelo relacionalRestricciones:

• De clave (superclave, candidata, primaria): especifican las claves candidatas de cada tabla

• De integridad de entidades: ningun valor de clave primaria puede ser nulo

• De integridad referecial: se especifica entre dos relaciones

Page 12: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1312

Modelado de datos

Correspondencia E-I Modelo Relacional• Eliminación de identificadores externos , no

usados en el modelo relacional (Ver figura) • Eliminación de atributos compuestos (Ver figura)

• Considerar todos sus componentes como atributos individuales

• Considerar el atributo compuesto entero como un solo atributo

• Eliminación de atributos polivalentes (Ver figura)

• Transformar cada entidad en una relación (Ver figura)

Page 13: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1313

Modelado de datos

Transformación de interrelaciones• Uno a uno

• Integración de una relación binaria• Misma clave primaria en las dos entidades (Ver

Figura)• Clave distinta (idem), se toma una como clave.

• Relaciones individuales (una con participación parcial). (Ver Figura)

• Relaciones inviduales (ambas con participación parcial). (Ver Figura)

Page 14: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1314

Modelado de datos

• Uno a muchos• Participación parcial (Ver Figura)

• Con valores nulos• Sin valores nulos

• Participación total (Ver Figura)

• Muchos a muchos (Ver Figura)

• N-arias (Ver Figura)

• Recursivas (Ver Figura)

Page 15: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1315

Modelado de datos

Dependencias: Funcional: dado un atributo B de una entidad o

interrelación, este es funcionalmente dependiente de otro A (A->B), si para cualquier valor dado del atributo A existe un valor simple asociado en el atributo B.

• Siempre existe entre los atributos no clave respecto del clave

Si se da el valor de un atributo se puede obtener (o buscar) el valor de otro. Ej: si se conoce el valor de DNI, se puede hallar el nombre del cliente. En este caso el nombre del cliente es funcionalmente dependiente del DNI del cliente. Las claves son atributos que forman dependencias funcionales hacia los no claves.

Page 16: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1316

Modelado de datos

Dependencias:• Anomalias de Actualización

• Eliminación• Inserción• Actualización

• Integridad Referencial

Page 17: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1317

Modelado de datos

Dependencias:

• Que es clave?

Conjunto de atributos que identifica unívocamente cada entidad del conjunto de entidades

• Identificador• Claves

• primaria• candidatas

Page 18: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1318

Modelado de datos

Parcial: un atributo B (no clave) depende de un subconjunto de A (clave)

Transitiva: un atributo B (no clave) depende de un atributo C no clave

Boyce Codd: un atributo B (Clave o parte de clave) depende de un atributo que no es clave.

Page 19: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1319

Modelado de datos

Multivaluada: dada una relación R con atributos A,B,C decimos que existe una dependencia entre A y B multivaluada en R, sii el conjunto de valores de B que concuerdan con el par (A,C) en R depende solo del valor de A, pero no del de C. Una dependencia multivaluada existe cuando un atributo puede determinar más de un valor para otro atributo.

Page 20: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1320

Normalización

Proceso formal para decidir que atributos deben agruparse en un entidad/relación.

Progresiva detección y eliminación de Dependencias NO deseadas

Varias políticas Normalizar sobre E/R Normalizar sobre Modelo Relacional

Problemas de una mala normalización o normalización inexistente Anomalías de actualización Anomalías de inserción Anomalías de borrado

Page 21: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1321

Normalización

Formas normalesPrimera Forma: todos los atributos tiene

cardinalidad 0 o 1.Segunda Forma: una tabla está en 2NF si

está en 1NF y no existen dependencias parciales.

Tercer Forma: una tabla está en 3NF si está en 2NF y no existen dependencias transitivas

Page 22: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1322

Normalización

Boyce Codd Forma:• Una tabla está en BCNF si está en 3NF y no existen

dependencias de B-C. • Otra Def: para todo las dependencias funcionales

de la forma X->Y:• X->Y es trivial ( y está incluido o es igual a x), ó• X es superclave de R (Superclave= conj. De

atributos que incluye la clave)

Cuarta Forma: una tabla está en 4NF si está en BCNF y no existen dependencias multivaluadas

Page 23: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1323

Normalización

Quinta Forma, Forma de Dominio Clave: una tabla está en 5NF si cada restricción es una consecuencia lógica de la definición de las claves y dominios

Page 24: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1324

Modelado de datos

Ejemplo: Se debe modelizar el esquema de una facultad. Los

profesores se relacionan con sus departamentos y lugares de nacimiento, los estudiantes con sus lugares de nacimiento y de residencia, y con los cursos en que se inscriben. El esquema representa, además los lugares de reunión de los cursos y los consejeros de los estudiantes graduados. Podemos tener profesores visitantes. Los profesores pertenecen a un departamento, los cursos se relacionan con los profesores que los imparten. Los cursos se dictan para alumnos y se indica en que semestre se dicta. Además, se indica la duración y horario del mismo.

Page 25: IBD Clase 13. UNLP - Facultad de InformáticaIBD - CLASE 13 2 Modelado de datos Diseño lógico de alto nivel usando E-I Convertir el esquema conceptual.

UNLP - Facultad de InformáticaIBD - CLASE 1325

Modelado de datos

Ejemplo Se modeliza el esquema de clubes de fútbol. Las

personas involucradas con un club son aficionados, entrenadores, jugadores y/o directivos. Cada uno de ellos pertenece a un equipo. Cada equipo juega con otro, si tiene un resultado del partido y el lugar donde se realiza, además la asistencia de gente. Los equipos entrenan en estadios.