Campo dependiente de otros campos en varias tablas

16/10/2003 - 18:35 por dgironal | Informe spam
Quizás con un ejemplo se vea mejor:

TablaClientes
Id Nombre ...
0 Indistinto
1 David
2 Pepe

TablaProveedores
Id Nombre ...
0 Indistinto
1 Pepe
2 Juan
3 Antonio

Como veis los Id pueden coincidir o no, los Nombres pueden coincidir o no, y
Id's y nombres pueden coincidir o no

TablaPagos
Titular

El campo Titular puede ser tanto un cliente como un proveedor y por lógica
guardaré el Id del cliente o del titular

1;- ¿Cómo se come esto?
2;- ¿Una UNION de clientes y proveedores? ?¿?¿ cómo distingo???
3;- ¿Aprovechar la actualización y eliminación en cascada? (relaciones)
4;- ¿Indicarle a la tablaPagos que el campo Titular es un cuadro combinado
al conjunto de clientes y proveedores?

Nota: soy nulo en esto de las bases de datos

Grcias!!

Preguntas similare

Leer las respuestas

#1 Eva Etxebeste
16/10/2003 - 20:47 | Informe spam
Hola dgironal

Lo lógico en estos casos es que el usuario elija el tipo de titular (combo),
después el titular en la tabla correspondiente y que tú guardes ambos
valores. No se te ocurra hacer uniones, ni inventos raros, que luego verás
el lío que te armas :)

Un saludo
Eva Etxebeste
[MS MVP]
"dgironal" escribió en el mensaje
news:
Quizás con un ejemplo se vea mejor:

TablaClientes
Id Nombre ...
0 Indistinto
1 David
2 Pepe

TablaProveedores
Id Nombre ...
0 Indistinto
1 Pepe
2 Juan
3 Antonio

Como veis los Id pueden coincidir o no, los Nombres pueden coincidir o no,


y
Id's y nombres pueden coincidir o no

TablaPagos
Titular

El campo Titular puede ser tanto un cliente como un proveedor y por lógica
guardaré el Id del cliente o del titular

1;- ¿Cómo se come esto?
2;- ¿Una UNION de clientes y proveedores? ?¿?¿ cómo distingo???
3;- ¿Aprovechar la actualización y eliminación en cascada? (relaciones)
4;- ¿Indicarle a la tablaPagos que el campo Titular es un cuadro combinado
al conjunto de clientes y proveedores?

Nota: soy nulo en esto de las bases de datos

Grcias!!


Respuesta Responder a este mensaje
#2 julian-vlc-sp
16/10/2003 - 22:00 | Informe spam
Puedes explicarte un poco más?

Esta claro que puedo hacer dos combos, uno par clientes y otro para
proveedores, y seleccionar uno, y poner el id en titular, pero luego, como
se a que tabla pertenece?, seria necesario un campo mas para indicar de que
tabla he cogido el id?

Yo pensaba en hacer una unica tabla que fuese titulares, en lugar de las dos
de clientes y proveedores, e implementar un campo donde le digo si es
cliente o proveedor (por ejemplo)

De esta forma, al tener un id en la tabla pagos, siempre se donde ir a
buscarlo (a la tabla titulares)

Este caso se me ha presentado varias veces, por ejmplo, varias tablas de
personas, operarios, clientes, proveedores, etc. segun en que aplicaciones,
no es problema, cada tabla la uso para una cosa, por ejemplo para nominas
solo uso operarios, para cobros solo clientes, etc, pero en otras ocasiones,
quisiera poder poner id de una persona de cualquier tabla, por ejemplo para
las felicitaciones de navidad (aprovechando que cada vez estamos mas cerca)

(Ni te cuento como lo he resuelto, lo dejo para el merengue).

SALUDOS MIL (guapetona)
julian-valencia-españa
Respuesta Responder a este mensaje
#3 dgironal
17/10/2003 - 09:36 | Informe spam
Es una situación algo estraña:

TablaClientes: campos propios (ATRIBUTOS) para esta ENTIDAD
TablaProveedores: campos propios (atributos) para esta ENTIDAD

Lo que no impide que la intersección de esos dos conjuntos de atributos
(campos) "creen" la ENTIDAD Titular, por ejemplo el Nombre, el domicilio,
...El problema está en el campo clave de esas dos tablas.

He pensado en solucionarlo de esta manera, no sé si funcionará

ConsultaTitulares:
SELECT p & Id, Nombre, Domicilio, ...
FROM TablaProveedores
UNION
SELECT c & Id, Nombre, Domicilio, ...
FROM TablaClientes

Recordad que tenía la TablaPagos: CampoTitular
Pues bien el campo titulat de la tablapagos lo asocio a esa consulta y creo
la relacion una a muchos en base a ese consulta

?¿?¿ !!!! :-(((( Ya digo que no sé si funcionrá, Gracias!!!
Respuesta Responder a este mensaje
#4 dgironal
17/10/2003 - 10:56 | Informe spam
ConsultaTitulares:
SELECT p & Id, Nombre, Domicilio, ...
FROM TablaProveedores
UNION
SELECT c & Id, Nombre, Domicilio, ...
FROM TablaClientes



No funciona, no puedo aprovechar las ventajas de la integridad referencial
(modificación/eliminación en cascada) si modifico un cliente o un proveedor
no se entera la tabla donde un campo depende de esta union.

?¿?¿
Respuesta Responder a este mensaje
#5 julian-vlc-sp
17/10/2003 - 22:02 | Informe spam
en eso estamos, eses es el problema que yo encuentro

SALUDOS.
julian-valencia-españa
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida