Resultados 1 al 2 de 2

Tema: Entidades débiles E-R

  1. #1 Entidades débiles E-R 
    Medio
    Fecha de ingreso
    Nov 2009
    Mensajes
    62
    Descargas
    0
    Uploads
    0
    Hola tengo una duda sobre como modelar una parte de mi diagrama E-R. Tengo una base de datos que tiene que guardar tablas para articulos, pedidos y proveedores. Los articulos no pueden existir si no existen pedidos, pero los pedidos tampoco pueden exitir si no existen proveedores. Por lo tanto tendría dos entidades débiles, pedidos y articulos. Sin embargo. No puedo asociar la entidad debil articulos a otra entidad debil(pedidos). ¿ Como lo podría modelarlo??
    Muchas gracias por anticipado. Saludos!
    Citar  
     

  2. #2  
    Moderador Global Avatar de hystd
    Fecha de ingreso
    Jul 2005
    Ubicación
    1, 11, 21, 1211...
    Mensajes
    1.575
    Descargas
    58
    Uploads
    0
    Existen dos tipos de entidades débiles... Débil en existencia y Débil en identificación.

    Todas las entidades débiles por defecto son débiles en existencia (se representan mediante doble rectángulo). Una entidad puede ser además, débil en identificación si no se puede identificar por si sola con sus atributos. En este caso se representa mediante un rombo de doble lazo (más el rectángulo doble, pues todas las entidades débiles en identificación, lo son también en existencia).

    Nota que toda entidad débil en identificación puede resolverse fácilmente añadiendo un atributo más que sea único (por ejemplo un autonumérico), dicho atributo debe cumplir los requisitos de PK (Primary Key).

    Partiendo de un modelo entidad-relación (ER) o de un modelo Entidad-relación Extendido (EER), la forma de mapear las entidadesn débiles al modelo relacional RM/B (de Codd) se basan en los siguientes pasos (heurística de Elmasri/Navathé):

    Mapeo de una entidad débil en existencia:

    Dada una entidad W, débil en existencia de la entidad A (Anteriormente mapeada, y con clave primaria Ia), con identificador Iw, y con las propiedades (w1, w2, ..., wn), se genera la relación:

    Rw (Iw, w1, w2, ..., wn, Ia), PK (Iw), FK (Ia)/Ra.

    Es decir se genera una tabla (Relación Rw), que tiene los atributos w1...wn de esa entidad débil, y además tendrá el atributo Iw que es primary key, y por tanto la identifica, y además contendrá el atributo Ia, de la entidad A con la que se relaciona (Ia es una Foreign Key que referencia a una fila de la tabla Ra).

    Mapeo de una entidad débil en identificación:

    Dada una entidad W, débil en identificación de la entidad A (anteriormente mapeada y con PK=Ia), y con atributos (w1,...wn), se genera una relación:

    Rw (Iw, w1, w2, ..., wn, Ia), PK(Ia, Iw), FK(Ia)/Ra.

    Es decir, la relación generada es igual que la anterior, salvo que ahora la PK está formada por los atributos Ia e Iw. (FK(Ia)/Ra se lee: Ia es una clave foránea que referencia a una fila de la tabla Ra).

    En tu caso, si consideramos los siguientes atributos para las 3 relaciones (a modo de ejemplo):

    Proveedores (cod_proveedor, nombre, telefono)
    Atriculos (cod_articulo, nombre, precio, descripcion)
    Pedidos (cod_pedido, direccion, importe)

    El modelo relacional ya mapeado sería algo así:

    Proveedores (cod_proveedor, nombre, telefono), PK(cod_proveedor).
    Articulos (cod_articulo, nombre, precio, descripcion, cod_proveedor), PK (cod_articulo), FK (cod_proveedor)/Proveedores.
    Pedidos (cod_pedido, direccion, importe, cod_articulo), PK (cod_pedido), FK (cod_articulo)/Articulos.

    Un saludo.
    El optimista tiene ideas, el pesimista... excusas

    Citar  
     

Marcadores
Marcadores
Permisos de publicación
  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •