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

Relación entre tablas

Estas en el tema de Relación entre tablas en el foro de SQL Server en Foros del Web. Buenos días, quisiera saber si alguien me puede ayudar con el siguiente problema. Estoy haciendo una especie de consola de administración para una base de ...
  #1 (permalink)  
Antiguo 28/09/2007, 08:18
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Relación entre tablas

Buenos días, quisiera saber si alguien me puede ayudar con el siguiente problema. Estoy haciendo una especie de consola de administración para una base de datos en SQL Server. Lo que pretendo hacer es que una vez que el usuario seleccione ciertas tablas de la BD se muestren las relaciones de ForeignKey (si existen). Es decir, si un usuario selecciona las tablas dbo.cat_entidades y dbo.cat_municipios donde

dbo.cat_entidades -> tiene los campos id_entidad y desc_entidad
dbo.cat_municipios -> tiene los campos id_entidad, id_municipio y desc_municipio

entonces el programa debería mostrar algo como esto:

dbo.cat_municipios.id_entidad = dbo.cat_entidades.id_entidad

¿Alguien sabe como puedo hacer esto?

De antemano muchas gracias.

Leo
[email protected]
  #2 (permalink)  
Antiguo 28/09/2007, 08:52
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Relación entre tablas

Obtén los metadatos de tus tablas, investiga si hay FKs y si las hay entonces ya es trabajo de tu front-end el mostrarlas de la manera que prefieras.

Revisa el resultado de ambos querys. Un join entre ellos te ayudará a obtener lo que quieres.

SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS
SELECT * FROM information_schema.CONSTRAINT_COLUMN_USAGE
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
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 21:48.