Está en la página 1de 39

Modelo lógico

MARCO NÚÑEZ
Ejercicio de repaso para obtener el
modelo E – R a partir de reglas de un
negocio
A partir del siguiente enunciado se desea realizar el modelo entidad-relación.
“Se desea informatizar la gestión de una empresa de transportes que reparte paquetes
por toda Honduras. Los encargados de llevar los paquetes son los camioneros, de los que
se quiere guardar el Id, nombre, teléfono, dirección, salario y población en la que vive.
De los paquetes transportados interesa conocer el código de paquete, descripción,
destinatario y dirección del destinatario. Un camionero distribuye muchos paquetes, y un
paquete sólo puede ser distribuido por un camionero.
De los municipios a los que llegan los paquetes interesa guardar el código de municipio y
el nombre. Un paquete sólo puede llegar a un municipio. Sin embargo, a un municipio
pueden llegar varios paquetes.
De los camiones que llevan los camioneros, interesa conocer la matrícula, modelo, tipo y
potencia. Un camionero puede conducir diferentes camiones en fechas diferentes, y un
camión puede ser conducido por varios camioneros”.
Ejercicio 2 de repaso para obtener el
modelo E – R a partir de reglas de un
negocio
Solución
Modelo lógico

 Se obtiene a partir del modelo entidad-relación (E-R)


 Se utilizará la notación de Barker

 El modelo lógico relacional sí permite llegar al desarrollo de un


esquema de base de datos que se pueda implementar en la
mayoría de los SGBD.
Elementos del modelo lógico

 La entidad: se representa con un rectángulo con esquinas


redondeadas.
 La entidad debe tener un nombre y el nombre debe escribirse dentro
de la entidad.
 Nombre en mayúsculas y en singular
Elementos del modelo lógico

 Los atributos: se deben escribir para que todos los usuarios, y no solo
los desarrolladores puedan comprenderlos.
 Debe escribirse con la primera letra de cada palabra en mayúsculas y
el resto en minúsculas
 Debe agregar el símbolo que representa el tipo de atributo
 * obligatorio
 o Opcional
 # si es UID
Reglas para representar relaciones
(notación de Barker)
 Solo puede existir una relación como máximo entre dos entidades
 Puede existir una relación en la misma entidad (recursiva)
 Una relación tiene dos direcciones o lecturas
 Ambas direcciones de una relación se deben etiquetar.
Notaciones de modelos de datos

 Imagen tomada de Oracle


Identificadores únicos

 Es un atributo de una entidad que cumple lo siguiente:


 Es único para cada instancia o registro de la entidad
 Debe tener un valor, no debe ser NULL
 Su valor nunca cambia
 Cada entidad debe tener un identificador único.

UID con
UID Único
varios
atributo
atributos
(genérico)
(compuesto)

No porta Porta información


información
Identificadores únicos UID

 En algunas ocasiones, un único atributo no es suficiente para


identificar de forma única una instancia de una entidad.
 Si el UID es una combinación de atributos, se denomina UID
compuesto.
 Si no se puede obtener un UID con los atributos de la entidad,
entonces se puede crear un UID artificial.

UID
artificial
Identificadores únicos candidatos

 Una entidad puede tener más de un UID


 UID candidatos: otros atributos que también sirven de UID
 Solo se puede elegir uno de los UID candidatos como el primario
 Los demás candidatos se denominan UID secundarios, al
secundario se le representa anteponiéndole el símbolo (#)

 El UID se convierte en llave primaria cuando el modelo lógico se


transforma en una base de datos física.
Relaciones

 Representan una asociación entre dos entidades


 La línea de relación del diagrama puede ser sólida (obligatoria) o
discontinua (opcional).
 Las líneas terminan en una única punta (una instancia) o una pata
de gallo(una o más instancias)
 Las relaciones tienen nombres que ayudan a describir la conexión
entre las entidades

 Ejemplo: DEPARTAMENTO contiene EMPLEADO


 EMPLEADO asignado a DEPARTAMENTO
Claves foráneas FK

 Las relaciones del modelo lógico, en el modelo físico (en las tablas)
se convierten en una columna o conjunto de columnas de una
tabla que contiene valores o hace referencia a una llave primaria
de otra tabla.
 Con esa referencia es que se conectan o relacionan las tablas.
Ejemplo de clave foránea

 Imagen tomada de Oracle


Elementos de una relación

 Nombre: son etiquetas que aparecen junto a la entidad a la que está


asignada. Cada dirección tiene su nombre. En minúsculas.
 Cardinalidad: número mínimo y máximo de los valores de la relación.
 Opcionalidad: si la relación debe de darse obligatoriamente
 Opcional, ejemplo: un cliente puede tener una o más tarjetas de crédito
 Obligatorio, ejemplo: un cliente debe tener una o más cuentas en el banco
Elementos de una relación

 Al leer una relación con reglas del diagrama debe utilizar el texto:
 Opcional: use “puede ser” o “puede”
 Obligatoria: use “debe ser” o “debe”
 Línea: use “único”
 Pata de gallo: use “uno o más”

 Siempre anteponga la palabra “cada” a la entidad.


Componentes de una relación

Si leemos de izquierda a derecha:


Cada DEPARTAMENTO puede contener muchos EMPLEADOS
Si leemos de derecha a izquierda:
Cada EMPLEADO debe estar asignado a un DEPARTAMENTO
Opcionalidad de la relación

 En función de la lógica y las reglas del negocio se puede


determinar la opcionalidad de la relación
 Puede hacerse las siguientes preguntas para determinar la
opcionalidad:
 ¿debe tener la entidad A una relación obligatoria con la entidad B?
 La acción de la entidad A debe ser realizada por la entidad B?
Cardinalidad de una relación
 Mide la cantidad de algo
 Debe preguntarse ¿cuántos?

 Por ejemplo:
 ¿cuántos trabajos puede tener un empleado?¿un trabajo
únicamente?¿o más de un trabajo?
 ¿cuántos empleados pueden tener un trabajo específico?¿un solo
empleado?¿o más de un empleado?

MÍNIMO MÁXIMO SI SE LEE HACIA LA


CERO UNO DERECHA
¿Cuál es la cardinalidad mínima y
máxima en cada dirección de la
relación?
Tipos de relaciones

 De uno a uno (1:1)


Estas relaciones son poco comunes y es una línea, sin patas de gallo
en ningún extremo
 De muchos a uno (M:1) o de uno a muchos (1:M)
Hay una pata de gallo en un lado de la relación. La pata de gallo
determina si es de M:1 o 1:M. Es la relación más común
 De muchos a muchos (M:M)
Hay pata de gallo en ambos lados de la relación. Se ven a menudo al
inicio de proyectos pero luego deben resolverse, no deben haber
relaciones de M:M en una base de datos.
Tipos de relaciones
 De uno a uno (1:1)

 De muchos a uno (M:1) o de uno a muchos (1:M)

 De muchos a muchos (M:M)


Relaciones recursivas

 Es una relación con la misma entidad


 Un ejemplo es el gerente de una empresa, es empleado y es
gerente

 Cada empleado puede gestionar uno o más empleados


 Cada empleado debe ser gestionado por un único empleado
Pasos para crear el modelo lógico

 Identificar las entidades


 Identificar los atributos (incluida la opcionalidad)
 Identificar los UID
 Determinar las relaciones (incluir opcionalidad y cardinalidad)
 Comprobar si el modelo funciona con las reglas del negocio
¿cómo leer relaciones?
De izquierda a derecha De derecha a izquierda

Cada Cada
LIBRO (entidad A) AUTOR (Entidad A)
Debe (opcionalidad/línea continua) Puede (Opcionalidad/ línea discontinua)
ser escrito (nombre de la relación) ser el autor de (nombre de la relación)
Por un único (cardinalidad/línea única) Uno o más libros (Cardinalidad/pata de gallo)
AUTOR (Entidad B) LIBRO (Entidad B)
Relaciones de bloqueo
 El UID de cada entidad es Número en BANCO y el Id en Cuenta

 La línea vertical es una relación de bloqueo, significa que la


entidad con dicha relación tendrá de UID el Id propio y el de la
otra entidad de la relación, en este caso un UID compuesto.
Relaciones de bloqueo
 Una entidad se puede identificar únicamente a través de varias
relaciones

 El UID de la entidad ASIGNACIÓN DEL TRABAJO es el Id del


EMPLEADO y número de PROYECTO.
Relaciones M:M

 Cuando se dan relaciones de muchos a muchos se debe resolver,


para eso se crea una nueva entidad llamada entidad de
intersección, dicha entidad de intersección se relacionará con las
entidades originales mediante relaciones de bloqueo.
 La nueva entidad heredará como propias las UID de las otras
entidades y si ella ya tenía UID, entonces se le unirán las otras UID.
 Las relaciones que quedarán entre las entidades originales y la
entidad de intersección serán de cardinalidad 1:M
 Las relaciones de la entidad de intersección son siempre
obligatorias
 Por lo general los atributos de la entidad de intersección son
cantidades utilizadas, fechas, por lo general historiales o datos
volátiles.
Resuelva la siguiente relación de
M:M
Solución
Relaciones no transferibles
 La transferibilidad es la capacidad que tiene una entidad de
cambiar a lo largo del tiempo entre varias instancias
 Una relación no transferible no se puede transferir entre las
instancias de las entidades que conecta
 Se representa mediante un diamante (rombo) en la relación

 En este caso suponga que la regla del negocio dice que una
persona puede tener una o más membresías pero solo el
propietario puede usarlas, no las puede prestar o transferir a otra
persona
Relaciones no transferibles

 Las relaciones no transferibles solo pueden ser obligatorias.


 Por ejemplo, el país de nacimiento de una persona no es
transferible, no puede cambiar.
Relación de arco

 Un arco es un grupo de relaciones excluyentes, de tal forma que


solo puede darse o existir una de las relaciones para cualquier
instancia de la entidad.
 El arco que se dibuja entre las dos relaciones las conecta y
demuestra que se excluyen entre sí. Si se da una no se da la otra.
 Cada instancia solo puede relacionarse con una de las entidades
del arco, jamás con las dos a la vez.
Características de relaciones de
arco
 Las relaciones que engloba el arco por lo general tienen el mismo
nombre.
 Son relaciones o todas obligatorias o todas opcionales y deben
tener la misma cardinalidad
 El arco solo es de una entidad, de la cual salen las otras entidades y
abarca a estas.
 Una entidad puede tener varios arcos
 A la intersección entre el arco y la relación se le circula en el
diagrama.
Relaciones de arco
La relación de arco indica
que la habitación solo puede
ser estándar o suite, nunca
ambas.

Si nota, las relaciones tienen


el mismo nombre y
cardinalidad.

Cada habitación debe ser tipo estándar o cada habitación debe ser tipo suite.
Cada tipo suite puede estar en una o muchas habitaciones o cada tipo estándar puede estar
en una o muchas habitaciones.
Convertir el diagrama E-R del taller
a modelo lógico.
 Usted lo puede hacer a mano, en la clase se hará la demostración
con la aplicación.
Tareas

 Desarrolle los diagramas entidad – relación de los 4 ejercicios


indicados en el documento de la tarea de la segunda visita
 Con los 4 diagramas del punto anterior, desarrolle el modelo lógico
utilizando las reglas de Barker vistas en clase.
 Lo anterior contará como las dos tareas de la rúbrica de
evaluación correspondientes a la segunda visita. Tiene un valor de
12%.
Avance 2 del proyecto

 Desarrollar a partir de las reglas del negocio de su cliente:


 Modelo Entidad – Relación
 Modelo lógico con reglas de Barker

 Presentarlos en un documento de Word el día de la tercera visita

También podría gustarte