Cardinalidad con ejemplos

19
BASE DE DATOS M.C. JOSÉ ANTONIO ROSALES BARRALES CIENCIAS EMPRESARIALES UNIVERSIDAD DEL PAPALOAPAN MODELO ENTIDAD RELACIÓN Y CARDINALIDAD

description

Este documento está centralizado en la definición de cardinalidades en un Modelo Entidad-Relacion, planteando ejemplos claros y concisos sobre como ir depurando relaciones para tener cardinalidades lo mejor definidas posibles.

Transcript of Cardinalidad con ejemplos

  • BASE DE DATOSM.C. JOS ANTONIO ROSALES BARRALES

    CIENCIAS EMPRESARIALES

    UNIVERSIDAD DEL PAPALOAPAN

    MODELO ENTIDAD RELACIN Y CARDINALIDAD

  • Cardinalidad

    Es el nmero de entidades con la cual otra entidad

    puede asociar mediante una relacin

    Considerando una relacin 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

    nmero de entidades en B (0 ms) y viceversa

    A1

    A2

    A3

    A4

    B1

    B2

    B3

    B4

    B5

    EJEMPLO: Un paciente en un hospital tiene un solo cuarto y un cuarto pertenece

    a un solo paciente (hospital privado)

  • Uno a muchos

    Una entidad en A esta asociada con cualquier

    nmero (0 ms) de entidades en B. Una entidad

    en B, puede estar asociada a lo mucho con una

    entidad en A

    A1

    A2

    A3

    B1

    B2

    B3

    B4

    B5

    EJEMPLO: El titular de una cuenta de cheques puede tener cualquier nmero de

    tarjetas, pero cada tarjeta pertenece a una sola persona

  • Muchos a muchos

    Una entidad en A esta asociada con cualquier

    nmero de entidades en B (0 ms) y viceversa

    A1

    A2

    A3

    A4

    B1

    B2

    B3

    B4

    B5

    EJEMPLO: En un proyecto de investigacin puede haber cualquier nmero

    de mdicos, un mdico 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 en

    Una empresa tiene uno y solo un puesto, un

    Puesto pertenece a un solo empleado

    Uno a muchos opcional: un profesor en la

    Fac. de Ingeniera 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-Relacin (E-R)

    Un diagrama E-R consiste de:

    - Rectngulos: representan juegos de entidades

    - Elipses: representan atributos

    - Diamantes: representan juegos de relaciones

    - Lneas: son ligas entre atributos y entidades y entre juegos de entidades y de relaciones

    - Elipses dobles: son atributos multivalor

    - Elipses punteadas: son atributos derivados

    - Rectngulos dobles: representan juegos de entidades dbiles.

  • Metodologa

    Identificar entidades : Definir objetos como

    personas, lugares o conceptos sobre los que se

    quiere tener informacin.

    Identificar atributos: Definir las propiedades de

    cada entidad

    Determinar llave primaria de cada entidad

    Identificar relaciones entre las entidades

    Sealar 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_paciente

    i_paciente#

    a_paciente

    i_cuarto#

    i_cuarto#i_piso

    q_costo

    d_ingreso

  • Ejemplo: uno a muchos

    El titular de una cuenta de cheques puede tener cualquier

    nmero de tarjetas, pero cada tarjeta pertenece a una sola

    persona, las entidades son cliente y tarjeta

    cliente tarjeta

    n_cliente

    i_cliente#

    a_cliente

    i_tarjeta#i_password

    q_limited_aperturai_cliente#

  • Ejemplo: muchos a muchos

    En un proyecto de investigacin puede haber cualquier nmero

    de mdicos, un mdico puede participar en cero o varios

    proyectos

    medico proyecto

    n_medico

    i_medico#

    a_medico

    i_especial

    i_proyecto#n_proyecto

    t_resumen

    a_telefono

  • Rompiendo el muchos a muchos

    En el diseo de una base de datos no se permiten relaciones

    muchos a muchos, cuando se tiene esto se crea una relacin

    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 Relacin entre entidades Llave fornea

    Uno a uno No es necesario crear una

    relacin entre las entidades

    Se crea una llave

    fornea en una de las

    entidades relacionadas

    que corresponde a la

    llave primaria en la otra

    Uno a muchos No es necesario crear una

    relacin entre las entidades

    Se crea una llave

    fornea del lado de la

    entidad muchos que corresponde a la llave

    primaria del lado uno

    Muchos a

    muchos

    Se crea una relacin con llave

    primaria compuesta formada

    por las llaves primarias de las

    entidades que une la relacin

    En las entidades no hay

    llave fornea.

  • Solucin ejercicio

    Analizando el ejercicio del laboratorio, las siguientes

    entidades:

    Paciente y Anlisis

    Paciente y Mdico

  • Diagrama E-R

    Se tienen dos juegos de entidades: paciente y

    anlisis de laboratorio.

    paciente analisis

    A un paciente hospitalizado se le pueden practicar cero o varios anlisis y

    un anlisis puede practicrsele a ninguno o a muchos pacientes.

    Esto implica que tenemos una relacin muchos a muchos optativa en

    ambos lados.

  • Rompiendo el muchos a muchos

    Debemos crear una

    relacin 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 Mara Juare

    z 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-anlisis y

    mdico.

    paciente-

    analisismedico

    A un paciente hospitalizado se le pueden practicar cero o varios anlisis y

    cada anlisis se lo manda un doctor. A su vez un doctor puede mandar

    uno o varios anlisis a los distintos pacientes.

    Esto implica que tenemos una relacin uno a muchos obligatoria.

  • Rompiendo el muchos a muchos

    Debemos crear una

    relacin entre ambas

    i_med n_nom t_esp

    289 Prez cirujano

    456 Lpez ginecl

    paciente-

    analisismedico

    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