Foros del Web » Programando para Internet » ASP Clásico »

consejo con bd

Estas en el tema de consejo con bd en el foro de ASP Clásico en Foros del Web. Hola gente: Tengo una tabla de discos (tabla1) con sus respectivos nombres y datos, y una de los discos que se prestaron (tabla2) con el ...
  #1 (permalink)  
Antiguo 24/02/2004, 10:07
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
consejo con bd

Hola gente:
Tengo una tabla de discos (tabla1) con sus respectivos nombres y datos, y una de los discos que se prestaron (tabla2) con el titulo del disco , el nombre del tipo al que se lo prestaron, fecha de prestamo, de devolucion y demàs(ya estaban armadas asi las tablas)
Que me recomiendan hacer por ejemplo, cuando quiera prestar un disco, elijo de la tabla1 el disco en cuestion, y cargo los datos del tipo al que se lo presto, (estos se cargan el la tabla2), como hago para saber que ese disco està prestado.
Se me ocurrió agregar a la tabla2 un campo mas que contenga 0 o 1 (prestado o no prestado)
Que os parece?

Gracias desde ya amigos...
__________________
Juan Pablo
  #2 (permalink)  
Antiguo 24/02/2004, 10:34
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 4 meses
Puntos: 50
Cita:
Que os parece?
Estoy de acuerdo, lo importante es tener una bandera que nos permita identificar el estado del disco, y a mi parecer no es mala idea

Saludos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 24/02/2004, 10:38
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
gracias rootk

una a favor, bien.

alguien mas
__________________
Juan Pablo
  #4 (permalink)  
Antiguo 31/03/2004, 08:54
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
y si de un disco, tengo copias, y también presto estas, como puedo hacer para identificarlas,¿ en otra tabla?,¿ como sería, de qeu forma.?

saludos
__________________
Juan Pablo
  #5 (permalink)  
Antiguo 31/03/2004, 09:03
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
te recomiendo que tengas cuatro tablas

1. CLIENTE
2. DISCO
3. ARRIENDO
4.COPIA

Para las copias tendrias que crear una tabla hijo de discos llamada copia (id_disco(fk), id_copia(pk))

En la tabla cliente los datos del cliente (pk: id_cliente)
En la tabla disco los datos del disco (pk:id_disco)
En la tabla arriendo la accion de arrendar o prestar (pk: id_cliente+id_disco+id_copia) (NUB)

Saludos
  #6 (permalink)  
Antiguo 31/03/2004, 09:10
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
Muchas Gracias baka, solo una duda, pk, , fk NUB, que son?
__________________
Juan Pablo

Última edición por tarlipes; 31/03/2004 a las 09:26
  #7 (permalink)  
Antiguo 31/03/2004, 09:48
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
pk:primary key
fk:foreign key

NUB: 2ra forma normal (jeje..creo)...eliminar relaciones muchos a muchos

un cliente puede arrendar muchos discos
un disco puede ser arrendado por muchos clientes

M<-->N

para esto se crea un NUB entre las dos entidades y heredan la llave primaria de cada entidad o tabla como llaves foráneas...la union de las llaves foráneas crean la llave primaria en el NUB.
  #8 (permalink)  
Antiguo 31/03/2004, 10:45
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
ok, gracias por tu siempre tan valiosa ayuda
__________________
Juan Pablo
  #9 (permalink)  
Antiguo 31/03/2004, 11:00
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 92
Antigüedad: 20 años, 2 meses
Puntos: 0
pues yo lo haria de la siguiente forma:
Tabla Cliente con Codigo de Cliente como PK y los demas datos que quieras meter.
Tabla Discos con Referencia komo klave principal, nombre del disco y demas datos, asi por ejemplo tenemos 3 kopias de un mismo disko pero kada uno tiene una referencia distinta
Tabla Prestamos en la que tendriamos que poner Codigo de Cliente, Referencia y Fecha de Prestamo como clave principal y luego aparte pues la fecha de devolucion.
A la hora de realizar un prestamo de un disco de la tabla discos pues habria que sacar la referencia, irse a la tabla prestamos y mirar en ella, se podrian dar los siguientes casos:
1- El disco no se encuentra en prestamos (Quiere decir que no esta prestado)
2-El disco se encuentra y la fecha de devolucion no es nulo (El disco ha sido prestado y devuelto, por lo tanto esta libre)
3-El disco se encuentra pero la fecha de devolucion es nula, por lo tanto el disco esta prestado y no ha sido devuelto aun.

Para hacer todo esto mas facil se podria crear un nuevo campo en la tabla discos, por ejemplo PRESTADO y puede tener dentro el valor true o false.
Realizariamos un disparador en la tabla prestamos para insertar en el que pondriamos el campo PRESTADO a true si dejamos el campo fecha de devolucion nulo que seria lo logico y hariamos otro mas para modificar, comprobamos que la fecha de prestamo ya no es nulo y por lo tanto como el libro ha sido devuelto pues ponemos el campo PRESTADO a false.
Con estos 2 disparadores hechos a la hora de prestar un libro solo tendriamos que ver si el campo PRESTADO es true o false y por lo tanto en el primer caso no podremos prestarlo y en el segundo no habria ningun problema.

Que os parece la solucion?
__________________
Aupa Athletik!!!
  #10 (permalink)  
Antiguo 31/03/2004, 11:06
 
Fecha de Ingreso: diciembre-2002
Ubicación: argentina... de ahí seran veinte cuadras
Mensajes: 382
Antigüedad: 21 años, 5 meses
Puntos: 0
decis de poner en la tabla discos, discos y copias, pero con ID distintos.
entiendo bien?
__________________
Juan Pablo
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 23:01.