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

[SOLUCIONADO] Base de Datos Relacionales, Foreing Key

Estas en el tema de Base de Datos Relacionales, Foreing Key en el foro de Mysql en Foros del Web. Buen dia, Necesito aclarar algunas dudas. Entiendo como funciona la base de datos relacional, ahora la duda es, la siguiente Tengo la tabla ________ Usuario ...
  #1 (permalink)  
Antiguo 18/06/2013, 13:39
Avatar de Jesua  
Fecha de Ingreso: septiembre-2008
Ubicación: Guatemala, Guatemala
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Base de Datos Relacionales, Foreing Key

Buen dia,


Necesito aclarar algunas dudas.

Entiendo como funciona la base de datos relacional, ahora la duda es, la siguiente

Tengo la tabla
________
Usuario
-------------
id_usuario
nombre
pw


tambien la tabla

----------
libro
-----------
id_libro
nombre
paginas
id_usuario FK

ahora quiero decir que un usuario tiene varios libros

hago el insert normal de los libros y usuarios, la duda esta en la llave foranea,
en la tabla 'libro',

en id_usuario,

digamos que el usuario escribe el nombre del libro dentro de su panel de usuario.

entonces yo a la hora de guardar en la tabla libro guardo lo siguiente.

nombre : juan salvador
paginas: 22

y en la llave foranea yo tengo que guardarle el usuario o automaticamente extrae el id del usuario que lo esta gaurdando por la llave foranea que hace la referencia.


Espero respuesta, gracias.
  #2 (permalink)  
Antiguo 18/06/2013, 13:44
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Base de Datos Relacionales, Foreing Key

una llave foranea es para "validar" la integridad de la base de datos por ejemplo no te permitiria ingresar un id no existente, digamos que quieres sacar un libro por el usuario "pedro" el cual no existe en tu bases, al momento de querer insertar a este usuario el manejador de base de datos te mandar un mensaje diciendo que no se puede insertar porq hay una llave foranea para revisar esto.

espero haberme explicado

saludos,
Libras
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 18/06/2013, 13:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Base de Datos Relacionales, Foreing Key

Cita:
o automaticamente extrae el id del usuario que lo esta gaurdando por la llave foranea que hace la referencia.
No existen los automatismos en las bases de datos.
El DBMS no hace lo que no dices que haga. En otras palabras, si no pones tu mismo ese ID, MySQL no lo hará.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 18/06/2013, 14:02
Avatar de Jesua  
Fecha de Ingreso: septiembre-2008
Ubicación: Guatemala, Guatemala
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Base de Datos Relacionales, Foreing Key

Cita:
Iniciado por Libras Ver Mensaje
una llave foranea es para "validar" la integridad de la base de datos por ejemplo no te permitiria ingresar un id no existente, digamos que quieres sacar un libro por el usuario "pedro" el cual no existe en tu bases, al momento de querer insertar a este usuario el manejador de base de datos te mandar un mensaje diciendo que no se puede insertar porq hay una llave foranea para revisar esto.

espero haberme explicado

saludos,
Libras
Mchas gracias, ahora si lo entendí....
  #5 (permalink)  
Antiguo 18/06/2013, 14:03
Avatar de Jesua  
Fecha de Ingreso: septiembre-2008
Ubicación: Guatemala, Guatemala
Mensajes: 29
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Base de Datos Relacionales, Foreing Key

Cita:
Iniciado por gnzsoloyo Ver Mensaje
No existen los automatismos en las bases de datos.
El DBMS no hace lo que no dices que haga. En otras palabras, si no pones tu mismo ese ID, MySQL no lo hará.
Muchas gracias, esta entendido, buen dia.

Etiquetas: Ninguno
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 04:12.