SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Maestría en Bioinformática
Bases de Datos y Sistemas de Información
Del MER al MR
Ing. Alfonso Vicente, PMP
alfonso.vicente@logos.com.uy
Agenda
 IntroducciónConceptos
MER a MR
Agenda
 Entidades fuertes
 Discusión
 Entidades débiles
 Relaciones binarias
 Relaciones n-arias
 Generalización / Especialización
Conceptos
MER a MR
Agenda
 IntroducciónConceptos
MER a MR
Conceptos
Introducción
• Necesitamos desarrollar una aplicación para satisfacer
determinados requerimientos
• Por la naturaleza del problema la aplicación se beneficiaría
de utilizar un RDBMS
• Sabemos cómo realizar un modelo conceptual a partir de los
requerimientos, utilizando el MER
• Conocemos el Modelo Relacional, un modelo lógico más
cercano a la implementación de una Base de Datos
Conceptos
Introducción
• El paso lógico siguiente sería pasar del MER al MR
Relevamiento Modelado conceptual ???
• Necesitamos un algoritmo para hacer esto
• Hay software que permite pasar del MER al MR de forma
semi-automática (como brModelo), pero es necesario
comprender el proceso
• ¿Nos podríamos saltear el diseño conceptual y realizar
directamente el diseño lógico?
Requerimientos MER MR
Agenda
 Entidades fuertes
 Discusión
 Entidades débiles
 Relaciones binarias
 Relaciones n-arias
 Generalización / Especialización
Conceptos
MER a MR
MER a MR
Entidades fuertes
• Ejemplo: entidad CLIENTE, con atributos simples,
multivalorados, estructurados y determinantes
• Necesitamos traducir esta entidad fuerte al MR
MER a MR
Entidades fuertes
• Crearemos una relación por cada entidad fuerte del MER,
con el mismo nombre pero en plural
• Crearemos una columna en la relación por cada atributo
simple del MER, con el mismo nombre
• Crearemos una columna en la relación por cada hoja en la
estructura de los atributos estructurados
• Se especificarán claves correspondientes a cada conjunto
de atributos determinantes, y una de ellas se elegirá
(arbitrariamente, por ahora) como PK (Primary Key)
MER a MR
Entidades fuertes
• Para los atributos multivaluados:
• Se creará una nueva relación con una columna
correspondiente al atributo multivaluado
• Se agregarán las columnas correspondientes a la clave
primaria de la relación que corresponde a la entidad
fuerte, que serán una clave foránea
• Se especificará además el conjunto de todas las
columnas de la relación como una clave
MER a MR
Entidades fuertes
• La entidad del ejemplo, podría traducirse al MR así:
MER a MR
Entidades fuertes
• Se podría especificar, para cada columna, el tipo de datos y
si admite o no el valor NULL.
• Suele representarse subrayada la PK de cada relación.
• Las FKs suelen representarse como una línea entre las
relaciones participantes, terminada con el “crow’s foot” del
lado de la relación que tiene la FK.
• Más allá de las posibilidades de notación de los diagramas
de Modelo Relacional, conviene tomar nota de las claves y
claves foráneas al pie del diagrama.
MER a MR
Discusión
• ¿Qué hubiera pasado si la entidad CLIENTE hubiera tenido
otro atributo determinante, por ejemplo: credencial?
• Los dos hubieran constituido claves de la relación
CLIENTES, de forma que hubiéramos tenido que elegir una
de las dos claves para mantener en la relación
TELEFONOS_CLIENTE.
MER a MR
Discusión
• Cuando haya más de una clave candidata, las
distinguiremos en dos tipos, una será la PRIMARY KEY, y
elegiremos para esto una de las claves que no admita
valores nulos.
• A las claves restantes, admitan o no valores nulos, las
llamaremos UNIQUE KEYS.
• En nuestro ejemplo, si hubiéramos tenido un atributo
determinante credencial, pero admitiera valores nulos, la
columna cedula seguiría siendo la PRIMARY KEY, mientras
que credencial sería una UNIQUE KEY.
MER a MR
Discusión
• En ocasiones, una entidad no tiene una clave candidata
claramente identificable, o bien tiene una compuesta de
muchos atributos, y ya sabemos que la PK de una relación
se “propaga”, por ejemplo cuando hay atributos
multivaluados.
• Para estos casos puede convenir “inventar” una clave para
que funcione como PK. A esto lo llamaremos surrogate key.
• Al no tener semántica, una surrogate key podría ser
generada automáticamente por cualquier método que
asegure la unicidad (por ejemplo un número secuencial)
MER a MR
Discusión
• Para ilustrar el concepto de surrogate key, veremos una
debilidad del Modelo Relacional que hemos generado,
observando una instancia de la relación CLIENTES.
• ¿Qué problemas tiene esa instancia?
• ¿Cómo podríamos solucionar esos problemas?
MER a MR
Discusión
• Pueden existir valores para departamento que no
corresponden a un departamento (San Gregorio), valores
para ciudad que no corresponden a una ciudad (de
Polanco), y combinaciones incorrectas de departamento y
ciudad (no existe una ciudad La Paloma en Lavalleja).
• Para solucionar el problema de los datos inexistentes,
observamos que el problema radica en que los nombres de
departamentos y ciudades deben pertenecer a un dominio
mucho más reducido que el conjunto VARCHAR(30), por
ejemplo.
MER a MR
Discusión
• Podríamos pensar en mantener el conjunto de los nombres
válidos de departamento, en una relación con una única
columna; y lo mismo para ciudades. En cada caso, la única
columna de la relación constituirá la Primary Key de la
misma.
MER a MR
Discusión
• Teniendo definidas estas relaciones y especificando Foreign
Keys como las siguientes en la relación CLIENTES,
solucionamos el problema de los departamentos y ciudades
inexistentes:
• {departamento} es FK en CLIENTES, y referencia a
nombre en DEPARTAMENTOS
• {ciudad} es FK en CLIENTES, y referencia a nombre en
CIUDADES
MER a MR
Discusión
• Parecería que la elección de la clave primaria en
DEPARTAMENTOS y CIUDADES era la única posible, pero
en estos casos, suelen utilizarse surrogate keys,
“inventando” una columna con un código para cada uno de
los valores del dominio:
MER a MR
Discusión
MER a MR
Discusión
• Note que el MER no teníamos una entidad
DEPARTAMENTO ni una entidad CIUDAD, sino que
agregamos estas relaciones al Modelo Relacional para
solucionar el problema de restringir los dominios de algunas
columnas.
• Estas relaciones especiales con códigos y valores formando
un dominio, se conocen muchas veces como “codigueras”.
• ¿Qué ganamos al agregar la surrogate key codigo en las
nuevas relaciones?
MER a MR
Discusión
• Por lo pronto: espacio
• Imagine que para almacenar el nombre de una ciudad como
“San Gregorio de Polanco” se necesitan 25 bytes (uno por
cada carácter más dos para delimitar el fin de la cadena).
• Si tenemos 1.000 clientes de San Gregorio de Polanco
tendremos 25.000 bytes en la tabla CLIENTES dedicados a
mantener esta información. Si podemos tener un código
entero de 4 bytes para cada ciudad, ocuparemos 4.000
bytes en la tabla CLIENTES en lugar de 25.000 para
mantener la misma información.
MER a MR
Discusión
• En general as codigueras son elementos agregados en el
Modelo Relacional, porque es difícil que el MER se haya
considerado una restricción no estructural del tipo “El
atributo departamento de la entidad CLIENTE debe ser uno
de los siguientes: Montevideo, Canelones, …”; aunque es
válido que existan este tipo de restricciones.
• Las codigueras son muy comunes, y se pueden considerar
como un patrón de diseño
• [2 min] ¿Cómo evitamos las “malas combinaciones”, como:
La Paloma - Lavalleja?
MER a MR
Entidades débiles
• Consideremos, por ejemplo, la entidad débil SALON (débil
respecto a CENTRO).
• La entidad fuerte CENTRO, se mapearía a una relación
CENTROS, con dos columnas: nombre (que será su PK) y
dirección
MER a MR
Entidades débiles
• La entidad débil SALON, se mapearía a una relación
SALONES, que tendría columnas numero (la clave parcial
de la entidad débil) y capacidad.
• Pero las entidades débiles no tienen por sí mismas datos
suficientes como para poder ser identificadas, por lo que
dependen de otra, y más específicamente dependen de la
clave de esa otra entidad para poder ser identificadas.
• Por este motivo, la clave de la relación CENTROS se
propagará a la relación SALONES, y será una Foreign Key
en SALONES
MER a MR
Entidades débiles
• Éste es un ejemplo de cómo quedaría el MR
• El atributo nombre de la entidad CENTRO se cambió a
nom_centro, ya que por ser la PK de CENTROS, debía
propagarse a SALONES.
MER a MR
Entidades débiles
• El algoritmo entonces para traducir una entidad débil al
Modelo Relacional, una vez que se representó la entidad de
la que depende, podría ser el siguiente:
• Crear una relación con el mismo nombre pero en plural
• Crear una columna en la relación por cada atributo
simple, con el mismo nombre
• Agregar las columnas que formen la PK de la relación
correspondiente a la entidad de la que depende.
MER a MR
Entidades débiles
• Especificar como PK las columnas que sean PK de la
relación correspondiente a la entidad de la que ésta
depende, más las columnas que forman la clave parcial
de la entidad débil.
• Especificar como FK las columnas que sean PK de la
relación correspondiente a la entidad de la que ésta
depende.
• Si la entidad débil tiene atributos multivaluados o
estructurados, traducirlos de la misma manera que en el
caso de las entidades fuertes.
MER a MR
Relaciones binarias
• Consideraremos tres tipos de relaciones, según su
cardinalidad (1:1, 1:N y N:M)
• En el caso de la entidad débil, ya hicimos la traducción de
una relación 1:N
• La forma de traducir una relación 1:N sirve para una relación
1:1, aunque también hay otras opciones
MER a MR
Relaciones binarias
• Cuando tenemos relaciones 1:N :
• Agregaremos en la tabla del lado de la cardinalidad N de
la relación, la PK de la otra tabla (que será FK) y las
columnas que correspondan a atributos de la relación.
• La PK se propaga
MER a MR
Relaciones binarias
• El Modelo Relacional podría quedar:
• ¿Podría haber libretas sin chofer asociado? ¿Cómo
podemos asegurarnos?
MER a MR
Relaciones binarias
• Cuando tenemos relaciones N:M
• Crearemos una nueva tabla para representar la relación,
agregando la PK de cada una de las tablas, además de
las columnas que correspondan a atributos de la relación
• La PK de la nueva tabla será la combinación de las PK
de las tablas que participan en la relación
• Se deben especificar como FK, las PK de las tablas que
participan en la relación
MER a MR
Relaciones binarias
• Si tenemos, por ejemplo, que un chofer puede conducir
varios vehículos, y un vehículo puede ser conducido por
varios choferes, el MER podría ser el siguiente
MER a MR
Relaciones binarias
• Y el Modelo Relacional:
• También se podría utilizar para relaciones 1:N ¿con qué PK?
MER a MR
Relaciones binarias
• Relaciones 1:1
• Consideremos el MER que pretende modelar la siguiente
realidad:
Cada chofer se identifica por su cédula, y se mantiene su
nombre y apellido. Se desea registrar la libreta de cada
chofer, que se identifica por un número, y tiene una fecha de
emisión y una fecha de vencimiento. Es de interés llevar un
registro de dónde suele tener cada chofer su libreta
(billetera, guantera del vehículo, etc.).
MER a MR
Relaciones binarias
• El MER podría ser:
• En este caso observamos que la relación es total del lado de
LIBRETA. Esto significa que no es posible tener una libreta
que no tenga asociado un chofer.
MER a MR
Relaciones binarias
• Supongamos que ya se tradujeron las entidades fuertes:
• Podemos agregar en la tabla con participación total, las
columnas que correspondan a la PK de la otra tabla y
columnas para los atributos de la relación (si los hay).
MER a MR
Relaciones binarias
• ¿Podríamos haberlo hecho al revés?
MER a MR
Relaciones binarias
• Otra opción, sería fundir las tablas, manteniendo la PK de la
tabla que no tiene participación total, y dejando la PK de la
tabla que tiene participación total como UK.
• Note que esta opción
implica que se deban
permitir valores nulos
• Podríamos tener valores no
nulos para las fechas de
emisión y vencimiento, y no
tener un número de libreta
MER a MR
Relaciones binarias
• Cuando no hay ninguna tabla con participación total se
puede elegir arbitrariamente una de las tablas para agregar
en ella la PK de la otra, y definirla como FK, además de las
columnas que correponden a atributos de la relación (igual a
cuando había una tabla con participación total), aunque se
debe considerar en este caso que los valores pueden ser
nulos.
• Otra opción es crear una tabla para la relación, que
mantenga las PK de las dos tablas además de las columnas
que corresponden a atributos de la relación (como en N:N)
MER a MR
Relaciones binarias
• En resumen, las posibilidades son
(*) Cuidado con los NULL si no hay totalidad
(+) Cuidado al elegir la PK
• Es un buen momento para preguntarse si no podría haber
un cambio de requerimientos que determine un cambio en la
cardinalidad (e.g. de una libreta por chofer a más de una, de
autos no-compartidos a compartidos)
Nueva tabla Propagar PK Unificar
1:1 SI SI * SI * +
1:N SI SI *
N:N SI
MER a MR
Relaciones n-arias (n > 2)
• Siempre se creará una nueva tabla
• Su clave será la unión de las claves de las entidades
participantes de la relación (la excepción es cuando hay
una cardinalidad 1, en ese caso, la clave será la que
corresponde a la entidad del lado de la cardinalidad 1)
• Se definirán las correspondientes claves foráneas
• Sus agregarán los atributos de la relación, si los hubiera
MER a MR
Agregación
• Se traduce primero la relación interna de la agregación, lo
que dará lugar a una tabla T cuya PK permita identificar las
instancias de la relación (sea una nueva tabla, una de las ya
existentes en la que se propagó la PK de la otra o una
unificación)
• Luego se traduce la relación de la que participa la
agregación, considerando que participa con T
MER a MR
Generalización / especialización
• Tenemos varias opciones para transformar una
generalización
MER a MR
Generalización / especialización
• Opción 1
• Creamos una tabla para la entidad más general, como si
fuera una entidad fuerte cualquiera
• Creamos una tabla para cada sub-entidad, con sus
atributos, y propagamos la PK de la entidad más general
• Definimos las FKs desde las PKs de éstas últimas tablas,
a la PK de la tabla que corresponde a la entidad más
general
MER a MR
Generalización / especialización
• Opción 1
FK1: Estudiantes(cedula) references Personas(cedula)
FK2: Docentes(cedula) references Personas(cedula)
MER a MR
Generalización / especialización
• Opción 2
• Crear una tabla por cada sub-entidad, con sus atributos
más los atributos de la entidad más general
• ¿Qué sucede si un docente
es también estudiante?
• ¿Qué sucede si un docente
no puede ser estudiante?
• ¿Reporte de direcciones?
MER a MR
Generalización / especialización
• Opción 3
• Crear una sola tabla con todos los atributos
(los de la entidad más general y los de las
subentidades) más un atributo “tipo” que
permita diferenciar las sub-entidades
• Sólo para sub-entidades disjuntas
CHECK: tipo in (‘Docente’, ‘Estudiante’)
MER a MR
Generalización / especialización
• Opción 4
• Crear una sola tabla con todos los atributos
(los de la entidad más general y los de las
subentidades) más un atributo “es_X” por
cada sub-entidad X
• Permite sub-entidades no disjuntas

Más contenido relacionado

La actualidad más candente

El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacionalLuis Jherry
 
Bases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalBases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalVideoconferencias UTPL
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Neguib Núñez
 
Diseño Logico de base de datos
Diseño Logico de base de datosDiseño Logico de base de datos
Diseño Logico de base de datosRobert Rodriguez
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridadkamui002
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8Andalucia
 
T3 Modelo de Datos Relacional
T3 Modelo de Datos RelacionalT3 Modelo de Datos Relacional
T3 Modelo de Datos Relacionalrmonago
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacionalJulio Pari
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Modelo Entidad - Relación
Modelo Entidad - RelaciónModelo Entidad - Relación
Modelo Entidad - RelaciónDenisse C
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesRobert Rodriguez
 
4. diseño logico. relacional
4. diseño logico. relacional4. diseño logico. relacional
4. diseño logico. relacionalGalo Anzules
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bdMaría Luisa Velasco
 
Base de datos
Base de datosBase de datos
Base de datosmarcia666
 

La actualidad más candente (20)

Modelo relacional2
Modelo relacional2Modelo relacional2
Modelo relacional2
 
El modelo relacional
El modelo relacionalEl modelo relacional
El modelo relacional
 
Bases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacionalBases de Datos Cap:III El modelo relacional
Bases de Datos Cap:III El modelo relacional
 
Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)Modelo Relacional (Base de Datos)
Modelo Relacional (Base de Datos)
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Diseño Logico de base de datos
Diseño Logico de base de datosDiseño Logico de base de datos
Diseño Logico de base de datos
 
Modelo relacional y reglas de integridad
Modelo relacional y reglas de integridadModelo relacional y reglas de integridad
Modelo relacional y reglas de integridad
 
PresentacióN Tema 8
PresentacióN Tema 8PresentacióN Tema 8
PresentacióN Tema 8
 
T3 Modelo de Datos Relacional
T3 Modelo de Datos RelacionalT3 Modelo de Datos Relacional
T3 Modelo de Datos Relacional
 
Clase 4 Normalización de Base de Datos
Clase 4 Normalización de Base de DatosClase 4 Normalización de Base de Datos
Clase 4 Normalización de Base de Datos
 
Tm10 modelo relacional
Tm10 modelo relacionalTm10 modelo relacional
Tm10 modelo relacional
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Modelo Entidad - Relación
Modelo Entidad - RelaciónModelo Entidad - Relación
Modelo Entidad - Relación
 
Diseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos RelacionalesDiseño Logico de Base de datos Relacionales
Diseño Logico de Base de datos Relacionales
 
Clase 1 Modelo de Datos Relacional
Clase 1 Modelo de Datos RelacionalClase 1 Modelo de Datos Relacional
Clase 1 Modelo de Datos Relacional
 
4. diseño logico. relacional
4. diseño logico. relacional4. diseño logico. relacional
4. diseño logico. relacional
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bd
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Base de datos
Base de datosBase de datos
Base de datos
 

Similar a Maestría en Bioinformática Bases de Datos

Modelo relacional (mr)
Modelo relacional (mr)Modelo relacional (mr)
Modelo relacional (mr)Damelys Bracho
 
Sistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptxSistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptxLuisRiofrioLopez
 
Clase 2 - Analisis y Gestión de Datos.pptx
Clase 2 - Analisis y Gestión de Datos.pptxClase 2 - Analisis y Gestión de Datos.pptx
Clase 2 - Analisis y Gestión de Datos.pptxDavidLopez809267
 
03 De conceptual a relacional
03 De conceptual a relacional03 De conceptual a relacional
03 De conceptual a relacionaltoniserna
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosEsteban Andres Diaz Mina
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfAbisSanMartin1
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad RelaciónAlba Miranda
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionJosé Antonio Sandoval Acosta
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalCarlos Villarroel González
 
Tema2-ER-2021-2022porquetantotienequepdf
Tema2-ER-2021-2022porquetantotienequepdfTema2-ER-2021-2022porquetantotienequepdf
Tema2-ER-2021-2022porquetantotienequepdfafercar1
 

Similar a Maestría en Bioinformática Bases de Datos (20)

Modelo de datos "Bases de datos "
Modelo de datos "Bases de datos "Modelo de datos "Bases de datos "
Modelo de datos "Bases de datos "
 
Tema2 bases dedatosrelacional
Tema2 bases dedatosrelacionalTema2 bases dedatosrelacional
Tema2 bases dedatosrelacional
 
Modelo relacional (mr)
Modelo relacional (mr)Modelo relacional (mr)
Modelo relacional (mr)
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Sistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptxSistema de gestion de base de datos ESPAM.pptx
Sistema de gestion de base de datos ESPAM.pptx
 
Clase 2 - Analisis y Gestión de Datos.pptx
Clase 2 - Analisis y Gestión de Datos.pptxClase 2 - Analisis y Gestión de Datos.pptx
Clase 2 - Analisis y Gestión de Datos.pptx
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Reglas de transformacion
Reglas de transformacionReglas de transformacion
Reglas de transformacion
 
03 De conceptual a relacional
03 De conceptual a relacional03 De conceptual a relacional
03 De conceptual a relacional
 
Dependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de DatosDependencias Funcionales en Bases de Datos
Dependencias Funcionales en Bases de Datos
 
BASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdfBASES DE DATOS CL2 para PPT.pdf
BASES DE DATOS CL2 para PPT.pdf
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad RelacionFundamentos de BD - Unidad 2 Modelo Entidad Relacion
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
 
Java
JavaJava
Java
 
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacionalUt3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
Ut3 apuntes diseno_de_bbdd_parte_ii_el_modelo_relacional
 
Modo relacional
Modo relacionalModo relacional
Modo relacional
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Tema2-ER-2021-2022porquetantotienequepdf
Tema2-ER-2021-2022porquetantotienequepdfTema2-ER-2021-2022porquetantotienequepdf
Tema2-ER-2021-2022porquetantotienequepdf
 
Modelo relacional ex
Modelo relacional  exModelo relacional  ex
Modelo relacional ex
 

Más de José Ricardo Tillero Giménez

Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPJosé Ricardo Tillero Giménez
 

Más de José Ricardo Tillero Giménez (20)

PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
PLAN DE EVALUACIÓN REDES AVANZADAS II-2021
 
Guía Ejercicios SQL
Guía Ejercicios SQLGuía Ejercicios SQL
Guía Ejercicios SQL
 
Guía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de DatosGuía 3 Ejercicios de Normalización de Base de Datos
Guía 3 Ejercicios de Normalización de Base de Datos
 
Guía 1 Ejercicios MR
Guía 1 Ejercicios MRGuía 1 Ejercicios MR
Guía 1 Ejercicios MR
 
Guía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de DatosGuía 2 Ejercicios de Normalización de Base de Datos
Guía 2 Ejercicios de Normalización de Base de Datos
 
Guía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER ExtendidoGuía 3 Ejercicios MER Extendido
Guía 3 Ejercicios MER Extendido
 
Guía 2 Ejercicios MER
Guía 2 Ejercicios MERGuía 2 Ejercicios MER
Guía 2 Ejercicios MER
 
Guía 1 Ejercicios MER
Guía 1 Ejercicios MERGuía 1 Ejercicios MER
Guía 1 Ejercicios MER
 
Plan de evaluación BD2021
Plan de evaluación BD2021Plan de evaluación BD2021
Plan de evaluación BD2021
 
Perfil Docente y Asesoría
Perfil Docente y AsesoríaPerfil Docente y Asesoría
Perfil Docente y Asesoría
 
Planificación BD2021
Planificación BD2021Planificación BD2021
Planificación BD2021
 
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBDUNIDAD 1. El mundo de las Bases de Datos y los SMBD
UNIDAD 1. El mundo de las Bases de Datos y los SMBD
 
NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301NOTAS FINALES DE REDES AVANZADAS IIN4301
NOTAS FINALES DE REDES AVANZADAS IIN4301
 
NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102NOTAS FINALES ELECTIVA II IN2102
NOTAS FINALES ELECTIVA II IN2102
 
NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101NOTAS FINALES ELECTIVA II IN2101
NOTAS FINALES ELECTIVA II IN2101
 
Notas definitivas per base de datos
Notas definitivas per base de datosNotas definitivas per base de datos
Notas definitivas per base de datos
 
Clase 6 VLAN
Clase 6 VLANClase 6 VLAN
Clase 6 VLAN
 
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRPGuía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
Guía de Redistribución de protocolos de ruteo RIP, PSPF y EIGRP
 
Guía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteoGuía CISCO de redistribución de protocolos de ruteo
Guía CISCO de redistribución de protocolos de ruteo
 
Manual Basico de jQuery
Manual Basico de jQueryManual Basico de jQuery
Manual Basico de jQuery
 

Último

Niveles de organización biologica clase de biologia
Niveles de organización biologica clase de biologiaNiveles de organización biologica clase de biologia
Niveles de organización biologica clase de biologiatongailustraconcienc
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Ivie
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405rodrimarxim
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotessald071205mmcnrna9
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería yocelynsanchezerasmo
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILeluniversocom
 
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfINTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfmaryisabelpantojavar
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO    ..pdfMAPA DE RIESGOS DE UN ZOOLOGICO    ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdfCamilaArzate2
 
stellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino morastellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino moraYessicaBrigithArdila
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfeluniversocom
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoSantiagoRodriguezLoz
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOReluniversocom
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptxccordovato
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOsecundariatecnica891
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfGEINER22
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptxSergiothaine2
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILeluniversocom
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILeluniversocom
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxYoladsCabarcasTous
 

Último (20)

Niveles de organización biologica clase de biologia
Niveles de organización biologica clase de biologiaNiveles de organización biologica clase de biologia
Niveles de organización biologica clase de biologia
 
Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...Presentación informe 'Fondos Next Generation European Union destinados a actu...
Presentación informe 'Fondos Next Generation European Union destinados a actu...
 
Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405Mapa de riesgos de un taller mecánico 405
Mapa de riesgos de un taller mecánico 405
 
Módulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotesMódulo mapa de riesgos de tienda de abarrotes
Módulo mapa de riesgos de tienda de abarrotes
 
Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería Análisis de un mapa de riesgos de una tortillería
Análisis de un mapa de riesgos de una tortillería
 
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRILPREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
PREGUNTA K DE LA CONSULTA POPULAR 21 DE ABRIL
 
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdfINTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
INTRODUCCION A LA ESTADISTICA RECOLECCION DE DATOS.pdf
 
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRILPREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA J DE CONSULTA POPULAR 21 DE ABRIL
 
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO    ..pdfMAPA DE RIESGOS DE UN ZOOLOGICO    ..pdf
MAPA DE RIESGOS DE UN ZOOLOGICO ..pdf
 
stellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino morastellaire vinos de mora SAS proyecto de vino mora
stellaire vinos de mora SAS proyecto de vino mora
 
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdfPREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
PREGUNTA A DEL REFERÉNDUM 21 DE ABRIL.pdf
 
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf SantiagoAREA TECNOLOGIA E INFORMATICA.pdf Santiago
AREA TECNOLOGIA E INFORMATICA.pdf Santiago
 
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADORPREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
PREGUNTA E REFÉRENDUM 21 DE ABRIL ECUADOR
 
2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx2024 2024 202420242024PPT SESIÓN 03.pptx
2024 2024 202420242024PPT SESIÓN 03.pptx
 
FORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASOFORMATO INVENTARIO MOBILIARIO PASO A PASO
FORMATO INVENTARIO MOBILIARIO PASO A PASO
 
HABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdfHABILESASAMBLEA Para negocios independientes.pdf
HABILESASAMBLEA Para negocios independientes.pdf
 
que son los planes de ordenamiento predial POP.pptx
que son los planes de ordenamiento predial  POP.pptxque son los planes de ordenamiento predial  POP.pptx
que son los planes de ordenamiento predial POP.pptx
 
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRILPREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
PREGUNTA G DE CONSULTA POPULAR 21 DE ABRIL
 
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRILPREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
PREGUNTA I DE LA CONSULTA POPULAR DEL 21 DE ABRIL
 
El sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptxEl sistema solar el gran descubrimiento del sistema solar .pptx
El sistema solar el gran descubrimiento del sistema solar .pptx
 

Maestría en Bioinformática Bases de Datos

  • 1. Maestría en Bioinformática Bases de Datos y Sistemas de Información Del MER al MR Ing. Alfonso Vicente, PMP alfonso.vicente@logos.com.uy
  • 3. Agenda  Entidades fuertes  Discusión  Entidades débiles  Relaciones binarias  Relaciones n-arias  Generalización / Especialización Conceptos MER a MR
  • 5. Conceptos Introducción • Necesitamos desarrollar una aplicación para satisfacer determinados requerimientos • Por la naturaleza del problema la aplicación se beneficiaría de utilizar un RDBMS • Sabemos cómo realizar un modelo conceptual a partir de los requerimientos, utilizando el MER • Conocemos el Modelo Relacional, un modelo lógico más cercano a la implementación de una Base de Datos
  • 6. Conceptos Introducción • El paso lógico siguiente sería pasar del MER al MR Relevamiento Modelado conceptual ??? • Necesitamos un algoritmo para hacer esto • Hay software que permite pasar del MER al MR de forma semi-automática (como brModelo), pero es necesario comprender el proceso • ¿Nos podríamos saltear el diseño conceptual y realizar directamente el diseño lógico? Requerimientos MER MR
  • 7. Agenda  Entidades fuertes  Discusión  Entidades débiles  Relaciones binarias  Relaciones n-arias  Generalización / Especialización Conceptos MER a MR
  • 8. MER a MR Entidades fuertes • Ejemplo: entidad CLIENTE, con atributos simples, multivalorados, estructurados y determinantes • Necesitamos traducir esta entidad fuerte al MR
  • 9. MER a MR Entidades fuertes • Crearemos una relación por cada entidad fuerte del MER, con el mismo nombre pero en plural • Crearemos una columna en la relación por cada atributo simple del MER, con el mismo nombre • Crearemos una columna en la relación por cada hoja en la estructura de los atributos estructurados • Se especificarán claves correspondientes a cada conjunto de atributos determinantes, y una de ellas se elegirá (arbitrariamente, por ahora) como PK (Primary Key)
  • 10. MER a MR Entidades fuertes • Para los atributos multivaluados: • Se creará una nueva relación con una columna correspondiente al atributo multivaluado • Se agregarán las columnas correspondientes a la clave primaria de la relación que corresponde a la entidad fuerte, que serán una clave foránea • Se especificará además el conjunto de todas las columnas de la relación como una clave
  • 11. MER a MR Entidades fuertes • La entidad del ejemplo, podría traducirse al MR así:
  • 12. MER a MR Entidades fuertes • Se podría especificar, para cada columna, el tipo de datos y si admite o no el valor NULL. • Suele representarse subrayada la PK de cada relación. • Las FKs suelen representarse como una línea entre las relaciones participantes, terminada con el “crow’s foot” del lado de la relación que tiene la FK. • Más allá de las posibilidades de notación de los diagramas de Modelo Relacional, conviene tomar nota de las claves y claves foráneas al pie del diagrama.
  • 13. MER a MR Discusión • ¿Qué hubiera pasado si la entidad CLIENTE hubiera tenido otro atributo determinante, por ejemplo: credencial? • Los dos hubieran constituido claves de la relación CLIENTES, de forma que hubiéramos tenido que elegir una de las dos claves para mantener en la relación TELEFONOS_CLIENTE.
  • 14. MER a MR Discusión • Cuando haya más de una clave candidata, las distinguiremos en dos tipos, una será la PRIMARY KEY, y elegiremos para esto una de las claves que no admita valores nulos. • A las claves restantes, admitan o no valores nulos, las llamaremos UNIQUE KEYS. • En nuestro ejemplo, si hubiéramos tenido un atributo determinante credencial, pero admitiera valores nulos, la columna cedula seguiría siendo la PRIMARY KEY, mientras que credencial sería una UNIQUE KEY.
  • 15. MER a MR Discusión • En ocasiones, una entidad no tiene una clave candidata claramente identificable, o bien tiene una compuesta de muchos atributos, y ya sabemos que la PK de una relación se “propaga”, por ejemplo cuando hay atributos multivaluados. • Para estos casos puede convenir “inventar” una clave para que funcione como PK. A esto lo llamaremos surrogate key. • Al no tener semántica, una surrogate key podría ser generada automáticamente por cualquier método que asegure la unicidad (por ejemplo un número secuencial)
  • 16. MER a MR Discusión • Para ilustrar el concepto de surrogate key, veremos una debilidad del Modelo Relacional que hemos generado, observando una instancia de la relación CLIENTES. • ¿Qué problemas tiene esa instancia? • ¿Cómo podríamos solucionar esos problemas?
  • 17. MER a MR Discusión • Pueden existir valores para departamento que no corresponden a un departamento (San Gregorio), valores para ciudad que no corresponden a una ciudad (de Polanco), y combinaciones incorrectas de departamento y ciudad (no existe una ciudad La Paloma en Lavalleja). • Para solucionar el problema de los datos inexistentes, observamos que el problema radica en que los nombres de departamentos y ciudades deben pertenecer a un dominio mucho más reducido que el conjunto VARCHAR(30), por ejemplo.
  • 18. MER a MR Discusión • Podríamos pensar en mantener el conjunto de los nombres válidos de departamento, en una relación con una única columna; y lo mismo para ciudades. En cada caso, la única columna de la relación constituirá la Primary Key de la misma.
  • 19. MER a MR Discusión • Teniendo definidas estas relaciones y especificando Foreign Keys como las siguientes en la relación CLIENTES, solucionamos el problema de los departamentos y ciudades inexistentes: • {departamento} es FK en CLIENTES, y referencia a nombre en DEPARTAMENTOS • {ciudad} es FK en CLIENTES, y referencia a nombre en CIUDADES
  • 20. MER a MR Discusión • Parecería que la elección de la clave primaria en DEPARTAMENTOS y CIUDADES era la única posible, pero en estos casos, suelen utilizarse surrogate keys, “inventando” una columna con un código para cada uno de los valores del dominio:
  • 22. MER a MR Discusión • Note que el MER no teníamos una entidad DEPARTAMENTO ni una entidad CIUDAD, sino que agregamos estas relaciones al Modelo Relacional para solucionar el problema de restringir los dominios de algunas columnas. • Estas relaciones especiales con códigos y valores formando un dominio, se conocen muchas veces como “codigueras”. • ¿Qué ganamos al agregar la surrogate key codigo en las nuevas relaciones?
  • 23. MER a MR Discusión • Por lo pronto: espacio • Imagine que para almacenar el nombre de una ciudad como “San Gregorio de Polanco” se necesitan 25 bytes (uno por cada carácter más dos para delimitar el fin de la cadena). • Si tenemos 1.000 clientes de San Gregorio de Polanco tendremos 25.000 bytes en la tabla CLIENTES dedicados a mantener esta información. Si podemos tener un código entero de 4 bytes para cada ciudad, ocuparemos 4.000 bytes en la tabla CLIENTES en lugar de 25.000 para mantener la misma información.
  • 24. MER a MR Discusión • En general as codigueras son elementos agregados en el Modelo Relacional, porque es difícil que el MER se haya considerado una restricción no estructural del tipo “El atributo departamento de la entidad CLIENTE debe ser uno de los siguientes: Montevideo, Canelones, …”; aunque es válido que existan este tipo de restricciones. • Las codigueras son muy comunes, y se pueden considerar como un patrón de diseño • [2 min] ¿Cómo evitamos las “malas combinaciones”, como: La Paloma - Lavalleja?
  • 25. MER a MR Entidades débiles • Consideremos, por ejemplo, la entidad débil SALON (débil respecto a CENTRO). • La entidad fuerte CENTRO, se mapearía a una relación CENTROS, con dos columnas: nombre (que será su PK) y dirección
  • 26. MER a MR Entidades débiles • La entidad débil SALON, se mapearía a una relación SALONES, que tendría columnas numero (la clave parcial de la entidad débil) y capacidad. • Pero las entidades débiles no tienen por sí mismas datos suficientes como para poder ser identificadas, por lo que dependen de otra, y más específicamente dependen de la clave de esa otra entidad para poder ser identificadas. • Por este motivo, la clave de la relación CENTROS se propagará a la relación SALONES, y será una Foreign Key en SALONES
  • 27. MER a MR Entidades débiles • Éste es un ejemplo de cómo quedaría el MR • El atributo nombre de la entidad CENTRO se cambió a nom_centro, ya que por ser la PK de CENTROS, debía propagarse a SALONES.
  • 28. MER a MR Entidades débiles • El algoritmo entonces para traducir una entidad débil al Modelo Relacional, una vez que se representó la entidad de la que depende, podría ser el siguiente: • Crear una relación con el mismo nombre pero en plural • Crear una columna en la relación por cada atributo simple, con el mismo nombre • Agregar las columnas que formen la PK de la relación correspondiente a la entidad de la que depende.
  • 29. MER a MR Entidades débiles • Especificar como PK las columnas que sean PK de la relación correspondiente a la entidad de la que ésta depende, más las columnas que forman la clave parcial de la entidad débil. • Especificar como FK las columnas que sean PK de la relación correspondiente a la entidad de la que ésta depende. • Si la entidad débil tiene atributos multivaluados o estructurados, traducirlos de la misma manera que en el caso de las entidades fuertes.
  • 30. MER a MR Relaciones binarias • Consideraremos tres tipos de relaciones, según su cardinalidad (1:1, 1:N y N:M) • En el caso de la entidad débil, ya hicimos la traducción de una relación 1:N • La forma de traducir una relación 1:N sirve para una relación 1:1, aunque también hay otras opciones
  • 31. MER a MR Relaciones binarias • Cuando tenemos relaciones 1:N : • Agregaremos en la tabla del lado de la cardinalidad N de la relación, la PK de la otra tabla (que será FK) y las columnas que correspondan a atributos de la relación. • La PK se propaga
  • 32. MER a MR Relaciones binarias • El Modelo Relacional podría quedar: • ¿Podría haber libretas sin chofer asociado? ¿Cómo podemos asegurarnos?
  • 33. MER a MR Relaciones binarias • Cuando tenemos relaciones N:M • Crearemos una nueva tabla para representar la relación, agregando la PK de cada una de las tablas, además de las columnas que correspondan a atributos de la relación • La PK de la nueva tabla será la combinación de las PK de las tablas que participan en la relación • Se deben especificar como FK, las PK de las tablas que participan en la relación
  • 34. MER a MR Relaciones binarias • Si tenemos, por ejemplo, que un chofer puede conducir varios vehículos, y un vehículo puede ser conducido por varios choferes, el MER podría ser el siguiente
  • 35. MER a MR Relaciones binarias • Y el Modelo Relacional: • También se podría utilizar para relaciones 1:N ¿con qué PK?
  • 36. MER a MR Relaciones binarias • Relaciones 1:1 • Consideremos el MER que pretende modelar la siguiente realidad: Cada chofer se identifica por su cédula, y se mantiene su nombre y apellido. Se desea registrar la libreta de cada chofer, que se identifica por un número, y tiene una fecha de emisión y una fecha de vencimiento. Es de interés llevar un registro de dónde suele tener cada chofer su libreta (billetera, guantera del vehículo, etc.).
  • 37. MER a MR Relaciones binarias • El MER podría ser: • En este caso observamos que la relación es total del lado de LIBRETA. Esto significa que no es posible tener una libreta que no tenga asociado un chofer.
  • 38. MER a MR Relaciones binarias • Supongamos que ya se tradujeron las entidades fuertes: • Podemos agregar en la tabla con participación total, las columnas que correspondan a la PK de la otra tabla y columnas para los atributos de la relación (si los hay).
  • 39. MER a MR Relaciones binarias • ¿Podríamos haberlo hecho al revés?
  • 40. MER a MR Relaciones binarias • Otra opción, sería fundir las tablas, manteniendo la PK de la tabla que no tiene participación total, y dejando la PK de la tabla que tiene participación total como UK. • Note que esta opción implica que se deban permitir valores nulos • Podríamos tener valores no nulos para las fechas de emisión y vencimiento, y no tener un número de libreta
  • 41. MER a MR Relaciones binarias • Cuando no hay ninguna tabla con participación total se puede elegir arbitrariamente una de las tablas para agregar en ella la PK de la otra, y definirla como FK, además de las columnas que correponden a atributos de la relación (igual a cuando había una tabla con participación total), aunque se debe considerar en este caso que los valores pueden ser nulos. • Otra opción es crear una tabla para la relación, que mantenga las PK de las dos tablas además de las columnas que corresponden a atributos de la relación (como en N:N)
  • 42. MER a MR Relaciones binarias • En resumen, las posibilidades son (*) Cuidado con los NULL si no hay totalidad (+) Cuidado al elegir la PK • Es un buen momento para preguntarse si no podría haber un cambio de requerimientos que determine un cambio en la cardinalidad (e.g. de una libreta por chofer a más de una, de autos no-compartidos a compartidos) Nueva tabla Propagar PK Unificar 1:1 SI SI * SI * + 1:N SI SI * N:N SI
  • 43. MER a MR Relaciones n-arias (n > 2) • Siempre se creará una nueva tabla • Su clave será la unión de las claves de las entidades participantes de la relación (la excepción es cuando hay una cardinalidad 1, en ese caso, la clave será la que corresponde a la entidad del lado de la cardinalidad 1) • Se definirán las correspondientes claves foráneas • Sus agregarán los atributos de la relación, si los hubiera
  • 44. MER a MR Agregación • Se traduce primero la relación interna de la agregación, lo que dará lugar a una tabla T cuya PK permita identificar las instancias de la relación (sea una nueva tabla, una de las ya existentes en la que se propagó la PK de la otra o una unificación) • Luego se traduce la relación de la que participa la agregación, considerando que participa con T
  • 45. MER a MR Generalización / especialización • Tenemos varias opciones para transformar una generalización
  • 46. MER a MR Generalización / especialización • Opción 1 • Creamos una tabla para la entidad más general, como si fuera una entidad fuerte cualquiera • Creamos una tabla para cada sub-entidad, con sus atributos, y propagamos la PK de la entidad más general • Definimos las FKs desde las PKs de éstas últimas tablas, a la PK de la tabla que corresponde a la entidad más general
  • 47. MER a MR Generalización / especialización • Opción 1 FK1: Estudiantes(cedula) references Personas(cedula) FK2: Docentes(cedula) references Personas(cedula)
  • 48. MER a MR Generalización / especialización • Opción 2 • Crear una tabla por cada sub-entidad, con sus atributos más los atributos de la entidad más general • ¿Qué sucede si un docente es también estudiante? • ¿Qué sucede si un docente no puede ser estudiante? • ¿Reporte de direcciones?
  • 49. MER a MR Generalización / especialización • Opción 3 • Crear una sola tabla con todos los atributos (los de la entidad más general y los de las subentidades) más un atributo “tipo” que permita diferenciar las sub-entidades • Sólo para sub-entidades disjuntas CHECK: tipo in (‘Docente’, ‘Estudiante’)
  • 50. MER a MR Generalización / especialización • Opción 4 • Crear una sola tabla con todos los atributos (los de la entidad más general y los de las subentidades) más un atributo “es_X” por cada sub-entidad X • Permite sub-entidades no disjuntas