Practica Lab 05 Previo
Practica Lab 05 Previo
Facultad de Ingeniería
BASES DE DATOS
PRÁCTICA 05 - PREVIO
_________________________________________________________________________
Entidades y atributos:
● Representación de atributos obligatorios y opcionales
● Representación de atributos simples y compuestos
● Representación de atributos multivalorados
● Representación de llaves primarias (natural, candidata, artificial o subrogada,
compuesta)
Al final del documento se encuentran los ejercicios que deben resolverse previos a
realización de esta práctica
Ambas notaciones son muy similares. En esta sección se muestran las características de
ambas haciendo énfasis en donde exista una diferencia entre ambas.
● Para el caso de una PK compuesta, se debe tener cuidado con su selección. Una PK
compuesta implica la generación de combinaciones de valores de cada atributo lo
cual pudiera ser incorrecto para algunos escenarios.
1.1.6.Representación de relaciones
Las relaciones en el modelo relacional se representan a través de llaves foráneas. Para
este concepto si existe diferencia entre las notaciones Crow’s foot e IDEF1X.
Las siguientes secciones explican los conceptos principales de las notaciones anteriores.
para representar relaciones 1:m o 1:1. Las relaciones m:m se deben descomponer en
2 relaciones 1:m
● Para el caso de la cardinalidad (0,1) del lado izquierdo notar que se emplea un
rombo como notación. Este rombo en conjunto con la cardinalidad (0,1) representan
a una FK opcional (null).
● Notar que el cuarto grupo de notaciones no existe, es decir, no existen relaciones
con cardinalidades (0,1) del lado izquierdo con una línea continua. Esto se debe a
que en una relación identificativa, la PK de la tabla padre se propaga a la tabla hija
tanto como FK como PK. Al propagarse como PK, el atributo debe ser not null.
Como se mencionó anteriormente, la cardinalidad (0,1) del lado de la tabla padre
indica una FK nula, lo cual no podría ser viable en este grupo. Por esta razón este
cuarto grupo no es factible. En la siguiente sección se explica a detalle el uso de las
relaciones identificativas.
Ejemplo
Curso y profesor 1:m
● Un profesor imparte varios cursos. 1:m
● Un curso es impartido por un profesor. 1:1
● Para una relación 1:m se emplea una relación no identificativa. Notar que la PK
profesor_id se propaga únicamente como FK hacia la tabla hija curso.
● En este diseño un curso puede ser impartido por varios profesores, pero un profesor
solo puede tener asignado un solo curso indicado a través de la FK. Definitivamente
esto no es correcto, no cumple con las reglas de negocio. Por lo tanto, se debe tener
cuidado con la asignación de la FK.
Relaciones 1:1
Las relaciones 1:1 se consideran las más complicadas para modelar ya que existen
diferentes técnicas. La solución final depende en buena medida de las reglas de negocio.
Los siguientes ejemplos muestran estas técnicas.
● Al ser una relación 1:1 la PK de la tabla padre, en este caso estudiante, puede
propagarse como PK y FK a la tabla credencial: Un registro de estudiante se
asocia con un solo registro de credencial.
● La tabla credencial hereda la PK de estudiante, no requiere de su propia PK.
● Al ser una relación 1:1 la FK pudiera invertirse
● Ambas soluciones son factibles aunque cada una tiene sus ventajas y desventajas.
○ Resulta un poco más natural que la FK se encuentre en credencial. Primero
se crea al estudiante y después se registra su credencial.
○ En la segunda solución, primero se tendría que registrar la credencial del
estudiante y después se registran los datos del estudiante.
● Una desventaja de ambas soluciones es que la PK de la tabla hija, no es como tal
una PK propia de la tabla, es una PK heredada. En algunos casos esto pudiera
causar confusión. Por ejemplo, resulta un tanto extraño entender que la PK de la
tabla estudiante es credencial_id o que la PK de credencial es la PK del
estudiante.
● La solución a lo anterior, es asignar una PK artificial a cada tabla y hacer uso de una
relación no identificativa
○ La solución funciona con algunos ajustes: La FK tiene que ser nula ya que
generalmente primero se debería crear al estudiante y posteriormente a su
credencial. Por esta razón se prefiere la solución anterior.
● Otra solución es realizar una fusión de tablas. Debido a que un solo registro de la
tabla credencial se asocia con un solo registro de estudiante, las columnas de
alguna de las tablas pudieran agregarse a la otra. En este caso, las columnas de la
credencial de un estudiante pudieran agregarse a la tabla estudiante.
● Por último, ¿qué sucede si se emplea una relación identificativa y cada tabla tiene
su PK artificial ?
Relaciones unarias
El siguiente ejemplo muestra la representación de una relación unaria
Cada farmacia cuenta con su centro de distribución a partir del cual se le proporcionan sus
medicamentos. Un centro de distribución almacena grandes cantidades de
Relaciones ternarias
Ocurren al participar 3 entidades para representar una relación. Este escenario ocurre con
relaciones m:m. En modelo relacional no soporta de forma directa relaciones m:m. Se
requiere descomponer la relación en 2 relaciones 1:m haciendo uso de una tabla
intermedia.
un mismo partido puede asociarse con varios jugadores, y un mismo jugador puede
asociarse con varios partidos.
Los atributos que se asignan a la tabla intermedia tienen sentido únicamente con la
combinación de los valores de la PK. En el ejemplo, el número de anotaciones depende de
ambas cosas, del jugador que las realizó en un partido en específico.
1.1.6.3. Dependencia e independencia de existencia
Retomando estos 2 conceptos revisados en la práctica anterior, los siguientes ejemplos
ilustran ambos conceptos los cuales se aprecian mejor en el diseño lógico.
Ejemplo
● Un profesor, si lo desea, puede ser asesor de hasta 3 alumnos.
● Un alumno debe contar con su asesor y es uno solo durante su estancia en la
escuela.
Ejemplo
Ejemplo
● En este ejemplo la tabla padre asesor tiene una participación opcional. Lo anterior
se puede verificar ahora con el primer dígito (cero) del lado derecho. Este valor
significa que un asesor si lo desea (opcionalmente ) puede asesorar hasta 3
alumnos, es decir, las instancias de la tabla asesor no están obligadas a relacionarse
con las instancias de alumno.
Ejemplo
1.3.1.Ejercicio 1
Considerando el caso de estudio de la embajada del documento previo de la práctica
anterior:
A. Realizar el diseño lógico a través de un modelo relacional. Emplear la herramienta
CASE configurada anteriormente. Emplear notación Crow 's foot, no olvidar indicar
cardinalidades. (25P)
1.3.2. Ejercicio 2
Considerando el caso de estudio de los videojuegos del documento previo de la práctica
anterior: