Cardinalidad

19
BASE DE DATOS I CARDINALIDAD

description

Base de Datos I

Transcript of Cardinalidad

Page 1: Cardinalidad

BASE DE DATOS I

CARDINALIDAD

Page 2: 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

Page 3: Cardinalidad

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)

Page 4: Cardinalidad

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

Page 5: Cardinalidad

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

Page 6: Cardinalidad

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.

Page 7: Cardinalidad

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

Page 8: Cardinalidad

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.

Page 9: Cardinalidad

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

Page 10: Cardinalidad

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

Page 11: Cardinalidad

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#

Page 12: Cardinalidad

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

Page 13: Cardinalidad

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#

Page 14: Cardinalidad

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.

Page 15: Cardinalidad

Solución ejercicio

Analizando el ejercicio del laboratorio, las siguientes entidades: Paciente y Análisis

Paciente y Médico

Page 16: Cardinalidad

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.

Page 17: Cardinalidad

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

Page 18: Cardinalidad

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.

Page 19: Cardinalidad

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