BASE DE DATOS I
CARDINALIDAD
Cardinalidad
Es el número de entidades con la cual otra entidad puede asociar mediante una relación
Considerando una relación binaria entre el juego de entidades A y el B, la cardinalidad puede ser: Uno a uno Uno a muchos ó muchos a uno Muchos a muchos
Uno a uno
Una entidad en A esta asociada con cualquier número de entidades en B (0 ó más) y viceversa
A1A2A3A4
B1B2B3B4B5
EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenecea un solo paciente (hospital privado)
Uno a muchos
Una entidad en A esta asociada con cualquier número (0 ó más) de entidades en B. Una entidad en B, puede estar asociada a lo mucho con una entidad en A
A1A2A3
B1B2B3B4B5
EJEMPLO: El titular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona
Muchos a muchos Una entidad en A esta asociada con
cualquier número de entidades en B (0 ó más) y viceversa
A1A2A3A4
B1B2B3B4B5
EJEMPLO: En un proyecto de investigación puede haber cualquier númerode médicos, un médico puede participar en cero o varios proyectos
Llave Primaria
Son atributos que se usan para diferenciar una entidad 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 tiempo.
Cada juego de entidades (tabla) debe tener una llave primaria.
Cardinalidad: obligatoria y opcional
Uno a uno obligatorio: un empleado enUna empresa tiene uno y solo un puesto, unPuesto pertenece a un solo empleado
Uno a muchos opcional: un profesor en laFac. 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
Diagramas Entidad-Relación (E-R)Un diagrama E-R consiste de:- Rectángulos: representan juegos de
entidades- Elipses: representan atributos- Diamantes: representan juegos de
relaciones- Líneas: son ligas entre atributos y
entidades y entre juegos de entidades y de relaciones
- Elipses dobles: son atributos multivalor- Elipses punteadas: son atributos derivados- Rectángulos dobles: representan juegos
de entidades débiles.
Metodología
Identificar entidades : Definir objetos como personas, lugares o conceptos sobre los que se quiere tener información.
Identificar atributos: Definir las “propiedades” de cada entidad
Determinar llave primaria de cada entidad
Identificar relaciones entre las entidades Señalar cardinalidad entre las entidades
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_pacientei_paciente#
a_paciente
i_cuarto#
i_cuarto# i_piso
q_costod_ingreso
Ejemplo: uno a muchos
El titular de una cuenta de cheques puede tener cualquier número de tarjetas, pero cada tarjeta pertenece a una sola persona, las entidades son cliente y tarjeta
cliente tarjeta
n_clientei_cliente#
a_cliente
i_tarjeta#i_password
q_limited_apertura i_cliente#
Ejemplo: muchos a muchos
En un proyecto de investigación puede haber cualquier número de médicos, un médico puede participar en cero o varios proyectos
medico proyecto
n_medicoi_medico#
a_medico
i_especial
i_proyecto#n_proyecto
t_resumena_telefono
Rompiendo el muchos a muchos
En el diseño de una base de datos no se permiten relaciones “muchos a muchos”, cuando se tiene esto se crea una “relación” entre ambas cuya llave primaria será una llave compuesta por las llaves primarias de las entidades 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#
Relaciones y llaves primarias vs cardinalidad
cardinalidad Relación entre entidades Llave foránea
Uno a uno No es necesario crear una relación entre las entidades
Se crea una llave foránea en una de las entidades relacionadas que corresponde a la llave primaria en la otra
Uno a muchos No es necesario crear una relación entre las entidades
Se crea una llave foránea del lado de la entidad “muchos” que corresponde a la llave primaria del lado “uno”
Muchos a muchos
Se crea una relación con llave primaria compuesta formada por las llaves primarias de las entidades que une la relación
En las entidades no hay llave foránea.
Solución ejercicio
Analizando el ejercicio del laboratorio, las siguientes entidades: Paciente y Análisis
Paciente y Médico
Diagrama E-R
Se tienen dos juegos de entidades: paciente y análisis de laboratorio.
paciente analisis
A un paciente hospitalizado se le pueden practicar cero o varios análisis yun análisis puede practicársele a ninguno o a muchos pacientes.Esto implica que tenemos una relación muchos a muchos optativa enambos lados.
Rompiendo el muchos a muchosDebemos crear una
relación entre ambas
i_anal n_anal q_anal t_desc
A-1 leuco 300.00 ayuno
A-2 embar 200.00 ayuno
paciente analisispaciente-analisis
i_pac n_pac a_pac i_med
1234 Laura Pino 48
289
3678 María Juarez 56
456
i_pac i_anal t_resu d_anal
1234 A-1 3.8 5/I/08
1234 A-2 Pos 7/I/07
1234 A-1 4.4 2/II/08
3678 A-2 neg 3/I/08
Diagrama E-R
Los juegos de entidades: paciente-análisis y médico.
paciente-analisis
medico
A un paciente hospitalizado se le pueden practicar cero o varios análisis y cada análisis se lo manda un doctor. A su vez un doctor puede mandaruno o varios análisis a los distintos pacientes.Esto implica que tenemos una relación uno a muchos obligatoria.
Rompiendo el muchos a muchosDebemos crear una
relación entre ambas
i_med n_nom t_esp
289 Pérez cirujano
456 López ginecól
paciente-analisis
medico
i_pac i_anal t_resu d_anal i_med
1234 A-1 3.8 5/I/08 289
1234 A-2 Pos 7/I/07 456
1234 A-1 4.4 2/II/08 289
3678 A-2 neg 3/I/08 456