Base de Datos Cardinalidad
Juan Carlos Morales G.
[email protected] Febero -‐ 2015
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Cardinalidad
¨ Es el número de en8dades con la cual otra en8dad puede asociar mediante una relación
¨ Considerando una relación binaria entre el juego de en8dades A y el B, la cardinalidad puede ser:
¤ Uno a uno
¤ Uno a muchos ó muchos a uno
¤ Muchos a muchos
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Uno a uno
¨ Una en8dad en A esta asociada con cualquier número de en8dades en B (0 ó más) y viceversa
A1 A2 A3 A4
B1 B2 B3 B4 B5
EJEMPLO: Un paciente en un hospital 8ene un solo cuarto y un cuarto pertenece a un solo paciente (hospital Universitario de Valle)
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Uno a muchos
¨ Una en8dad en A esta asociada con cualquier número (0 ó más) de en8dades en B. Una en8dad en B, puede estar
asociada a lo mucho con una en8dad en A
A1 A2 A3
B1 B2 B3 B4 B5
EJEMPLO: El 8tular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Muchos a muchos
¨ Una en8dad en A esta asociada con cualquier número de en8dades en B (0 ó más) y viceversa
A1 A2 A3 A4
B1 B2 B3 B4 B5
EJEMPLO: En un proyecto de inves8gación puede haber cualquier número de médicos, un médico puede par8cipar en cero o varios proyectos
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Llave Primaria
¨ Son atributos que se usan para diferenciar una en8dad de otra, por ejemplo un medicamento de otro, o un paciente de otro. Puede haber varias llave candidato.
¨ La llave primaria debe ser única y de preferencia no cambie con el 8empo.
¨ Cada juego de en8dades (tabla) debe tener una llave primaria.
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Cardinalidad: obligatoria y opcional
Uno a uno obligatorio: un empleado en
Una empresa 8ene uno y solo un puesto, un Puesto pertenece a un solo empleado
Uno a muchos opcional: un profesor en la
Fac. de Ingeniería puede dar 0 o varias clases y una clase está dada por uno y solo un profesor
Muchos a muchos obligatorio: una materia puede pertenecer a una o varias carreras, una carrera está formada por varias
materias.
Uno a uno opcional: Un paciente puede estar asignado a un cuarto o a ninguno. En un cuarto puede haber cero o un paciente
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Diagramas En>dad-‐Relación (E-‐R)
Un diagrama E-‐R consiste de:
-‐ Rectángulos: representan juegos de en8dades
-‐ Elipses: representan atributos
-‐ Diamantes: representan juegos de relaciones
-‐ Líneas: son ligas entre atributos y en8dades y entre juegos de en8dades y de relaciones
-‐ Elipses dobles: son atributos mul8valor
-‐ Elipses punteadas: son atributos derivados
-‐ Rectángulos dobles: representan juegos de en8dades débiles.
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Metodología
¨ Iden8ficar en8dades : Definir objetos como personas, lugares o conceptos sobre los que se quiere tener
información.
¨ Iden8ficar atributos: Definir las “propiedades” de cada en8dad
¨ Determinar llave primaria de cada en8dad
¨ Iden8ficar relaciones entre las en8dades
¨ Señalar cardinalidad entre las en8dades
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Ejemplo: uno a uno
¨ Cuando se decide ingresar a un paciente a un hospital se le asigna un cuarto y en un cuarto puede estar un paciente o ninguno (suponiendo un hospital privado).
paciente cuarto
n_paciente
i_paciente#
a_paciente
i_cuarto#
i_cuarto# i_piso
q_costo d_ingreso
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Ejemplo: uno a muchos
¨ El 8tular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona, las en8dades son cliente y
tarjeta
cliente tarjeta
n_cliente
i_cliente#
a_cliente
i_tarjeta#
i_password
q_limite
d_apertura i_cliente#
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Ejemplo: muchos a muchos
¨ En un proyecto de inves8gación puede haber cualquier número de médicos, un médico puede par8cipar en cero o varios proyectos
medico proyecto
n_medico
i_medico#
a_medico
i_especial
i_proyecto#
n_proyecto
t_resumen a_telefono
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Rompiendo el muchos a muchos
¨ En el diseño de una base de datos no se permiten relaciones “muchos a muchos”, cuando se 8ene esto se crea una “relación” entre ambas cuya llave primaria será una llave compuesta por las llaves primarias de las en8dades que está uniendo
medico proyecto
n_medico i_medico#
a_medico
i_especial
i_proyecto#
n_proyecto
t_resumen a_telefono
medico-‐
proyecto
i_medico# i_proyecto#
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Relaciones y llaves primarias vs cardinalidad
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Solución ejercicio
Analizando el ejercicio del laboratorio, las siguientes en8dades:
¤ Paciente y Análisis
¤ Paciente y Médico
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Diagrama E-‐R
¨ Se 8enen dos juegos de en8dades: paciente y análisis de laboratorio.
paciente analisis
A un paciente hospitalizado se le pueden prac8car cero o varios análisis y un análisis puede prac8cársele a ninguno o a muchos pacientes.
Esto implica que tenemos una relación muchos a muchos opta8va en ambos lados.
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
paciente paciente-‐ analisis
analisis
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Diagrama E-‐R
¨ Los juegos de en8dades: paciente-‐análisis y médico.
paciente-‐
analisis medico
A un paciente hospitalizado se le pueden prac8car cero o varios análisis y cada análisis se lo manda un doctor. A su vez un doctor puede mandar uno o varios análisis a los dis8ntos pacientes.
Esto implica que tenemos una relación uno a muchos obligatoria.
www.corpocres.edu.co -‐ www.unicienciaedu.com -‐ www.remington.edu.co
Rompiendo el muchos a muchos
Debemos crear una relación entre ambas
paciente-‐
analisis medico