Bases de Datos - claves foraneas

 
Vista:

claves foraneas

Publicado por andres (1 intervención) el 05/03/2009 18:29:36
Hola, tengo que hacer un pequeno sistema de encuestas, que tendria que estar conectado a una base de datos. Voy a crear 2 tablas, una de preguntas, y otra de opciones, mi pregunta es si es necesario que la tabla de opciones tenga una clave foranea del id de la tabla de preguntas. Esto seria con el fin de que cada registro de opcion este relacionado a una sola pregunta.
Soy novato en bases de datos y no se cual es el beneficio real de crear el constraint para la tabla, si en lugar simplemente creo un campo en la tabla opcion que se llame preguntaPadre y alli ingrese el numero de la pregunta que corresponde.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de roger

RE:claves foraneas

Publicado por roger (11 intervenciones) el 07/03/2009 20:03:54
cada pregunta pertenece a una opcion especifica?, si es asi, podrias ponerle a la pregunta el codigo de la opcion asociado a la tabla opciones. La idea con el constraint es generar integridad entre los datos de la base de datos, y no repetir los valores en la tabla, lo cual aumentaria el tamaño de las mismas, y ademas las consultas serian mas lentas si buscas por el nombre de la opcion que por el codigo asociado a la opcion. Tambien a nivel de las aplicaciones es util, pues desde se garantiza que los valores ingresados sean los correctos, sin el constraint, por ejemplo, alguien podria ingresar el nombre de la opcion con mayusculas, otro sin minusculas, etc, quedando valores diferentes en la tabla cuando en realidad se queria hacer referencia a la misma opcion.
En fin, los constraint son vitales para el diseño de bases de datos relacionales, pues la relacion que establece son el corazon de esta metodologia, creo que me extendi demasiado, por favor si entendì mal tu duda, me informas, de pronto no capté bien el diseño de tus tablas o lo que quieres hacer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar