Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

relaciones , cardinalidades bbdd

Estas en el tema de relaciones , cardinalidades bbdd en el foro de Bases de Datos General en Foros del Web. hola buenas recien empiezo con este tema , y me esta costando , el tema es asi , a)no lo logro entender el tema de ...
  #1 (permalink)  
Antiguo 29/08/2011, 01:13
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 9 años, 7 meses
Puntos: 5
relaciones , cardinalidades bbdd

hola buenas recien empiezo con este tema , y me esta costando , el tema es asi ,

a)no lo logro entender el tema de las relaciones... por que todo depende de algo... si hay alguna fecha especifica, sera uno a muchos o muchos a muchos...

¿si o si , dependera una informacion adicional, que tendra el enunciado para indicar el tipo de relacion ?

b) por que es necesario ver desde los dos puntos a las dos entidades, me mareo con eso...

por ejemplo

"CAMIONERO" distribuye "PAQUETE"

un camionero distribuye uno o varios... por lo general debe ser varios...
despues...
uno o varios paquetes son transportado por un camionero....

¿creo que es necesario que el problema me indique la situacion de la relacion para indicar que es lo que sucede entre las dos entidades... no?
------------------------

Laboratorio a Medicamentos : un laboratorio tiene muchos medicamentos
Medicamentos a Laboratorio : muchos medicamentos estan en un laboratorio

en definitiva es de uno a muchos si no me equivoco...

otro......------------

VENDEDOR - CLIENTE

no entiendo ,...no entiendo...
si es cierto que varios vendedores tienen varios clientes. y un vendedor tiene un cliente, etc

............

ayuda.
  #2 (permalink)  
Antiguo 29/08/2011, 07:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.322
Antigüedad: 12 años, 1 mes
Puntos: 2654
Respuesta: relaciones , cardinalidades bbdd

Cita:
un camionero distribuye uno o varios... por lo general debe ser varios...
despues...
uno o varios paquetes son transportado por un camionero....

¿creo que es necesario que el problema me indique la situacion de la relacion para indicar que es lo que sucede entre las dos entidades... no?
------------------------

Laboratorio a Medicamentos : un laboratorio tiene muchos medicamentos
Medicamentos a Laboratorio : muchos medicamentos estan en un laboratorio

en definitiva es de uno a muchos si no me equivoco...

otro......------------

VENDEDOR - CLIENTE

no entiendo ,...no entiendo...
si es cierto que varios vendedores tienen varios clientes. y un vendedor tiene un cliente, etc
Básicamente lo que estás tratando de expresar son lo que se denomina "reglas del negocio", y que expresan no sólo las acciones que se desarrollan en un sistema, sino que nos muestran qué entidades lo componen y qué relaciones tienen entre sí.
Tu problema es que estás recién iniciándote y esta etapa necesita de mucha guía para poder comprenderla bien, simplemente porque se trata de formas de pensar el problema.

Por lo pronto, trata de expresar las consignas con un lenguaje donde se visualicen mejor las relaciones:
Un conductor no "distribuye uno o varios... por lo general debe ser varios...". El "por lo general" no existe para el sistema. O es 1:N o es N:N (lo siento, a mí me enseñaron con la notación N:N), pero si es al menos en un caso N:N, entonces la 1:N es irrelevante.
En otras palabras:
Cita:
"Un conductor puede distribuir uno o muchos paquetes." (1:N)
Su contrapartida es:
Cita:
"Cada paquete es distribuido por un sólo conductor.". (N:1)
Ahora bien, si el paquete puede pasar por las manos de varios conductores, entonces la regla cambia y la cardinalidad pasa a ser N:N con un discriminante:
Cita:
"Un paquete es distribuido por uno o varios conductores.".
Eso tiene que estar perfectamente claro en la consigna. Si no lo está, se asume que es un sólo conductor.

En el caso del laboratorio es más o menos parecido:
Cita:
"Un laboratorio elabora uno o muchos medicamentos." (1:N)
"Cada medicamento es elaborado por un laboratorio." (N:1)
Pero la de vendedor y cliente es completamente diferente, y allí no hay dos entidades, sino al menos tres:
Cita:
"Un Vendedor realiza Ventas a uno o más clientes." (N:N)
"Un Cliente realiza compras a través de uno o más vendedores." (N:N)
En definitiva, hay una entidad Venta que es la expresión de la relación N:N entre Vendedor y Cliente. A su vez, esa entidad Venta es iterativa, por lo que necesita un atributo discriminante. Normalmente en el análisis, la Venta está expresada a través de un documento (Factura o Recibo), por lo que la iteración implica una entidad débil "Detalle" que aparece luego, en la etapa de transformación a tablas.

¿Se entiende cómo se plantean las reglas?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/08/2011, 12:23
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 9 años, 7 meses
Puntos: 5
Respuesta: relaciones , cardinalidades bbdd

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Básicamente lo que estás tratando de expresar son lo que se denomina "reglas del negocio", y que expresan no sólo las acciones que se desarrollan en un sistema, sino que nos muestran qué entidades lo componen y qué relaciones tienen entre sí.
Tu problema es que estás recién iniciándote y esta etapa necesita de mucha guía para poder comprenderla bien, simplemente porque se trata de formas de pensar el problema.

Por lo pronto, trata de expresar las consignas con un lenguaje donde se visualicen mejor las relaciones:
Un conductor no "distribuye uno o varios... por lo general debe ser varios...". El "por lo general" no existe para el sistema. O es 1:N o es N:N (lo siento, a mí me enseñaron con la notación N:N), pero si es al menos en un caso N:N, entonces la 1:N es irrelevante.
En otras palabras:
Su contrapartida es:
Ahora bien, si el paquete puede pasar por las manos de varios conductores, entonces la regla cambia y la cardinalidad pasa a ser N:N con un discriminante:

Eso tiene que estar perfectamente claro en la consigna. Si no lo está, se asume que es un sólo conductor.

En el caso del laboratorio es más o menos parecido:

Pero la de vendedor y cliente es completamente diferente, y allí no hay dos entidades, sino al menos tres:

En definitiva, hay una entidad Venta que es la expresión de la relación N:N entre Vendedor y Cliente. A su vez, esa entidad Venta es iterativa, por lo que necesita un atributo discriminante. Normalmente en el análisis, la Venta está expresada a través de un documento (Factura o Recibo), por lo que la iteración implica una entidad débil "Detalle" que aparece luego, en la etapa de transformación a tablas.

¿Se entiende cómo se plantean las reglas?

entonces siempre se lo mira de los dos lados de las entidades...

por ejemplo ,

vehiculo con matricula

un vehiculo tiene una matricula (1:1)

una matricula tiene un vehiculo (1:1)

-------------------
  #4 (permalink)  
Antiguo 29/08/2011, 12:32
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.322
Antigüedad: 12 años, 1 mes
Puntos: 2654
Respuesta: relaciones , cardinalidades bbdd

Exactamente, se los mira y expresa desde la optica de cada una de ellas.

Un detalle a tener en cuenta: en las relaciones de cardinalidad 1:1, la clave foránea se coloca siempre en la entidad que muestre dependencia, es decir, en la que analizada en el mundo real, se muestre como objeto dependiente de otro.
Para ejemplificarlo con tu mismo caso, si tuvieses una entidad Matrícula y otra Vehículo, la PK de Matricula va en Vehículo y jamás al revés. Eso es porque la matrícula es un atributo propio y necesario del vehículo; ten en cuenta que el vehículo puede existir sin matrícula, pero la matrícula sin vehículo no.
¿Se entiende?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bbdd, relaciones, bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.