IBD
Clase 13
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
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
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.
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
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
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
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
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
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
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
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)
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)
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)
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.
UNLP - Facultad de InformáticaIBD - CLASE 1316
Modelado de datos
Dependencias:• Anomalias de Actualización
• Eliminación• Inserción• Actualización
• Integridad Referencial
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
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.
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.
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
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
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
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
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.
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.