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

Relaciones entre tablas

Estas en el tema de Relaciones entre tablas en el foro de SQL Server en Foros del Web. Hola foreros, bueno espero mi pregunta no les parezca muy basica pero ya hace horas q vengo pensando en esto y no se q hacer... ...
  #1 (permalink)  
Antiguo 26/09/2006, 09:59
Avatar de Stefanie  
Fecha de Ingreso: septiembre-2006
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 17 años, 7 meses
Puntos: 0
Exclamación Relaciones entre tablas

Hola foreros, bueno espero mi pregunta no les parezca muy basica pero ya hace horas q vengo pensando en esto y no se q hacer...

Miren lo que ocurre es que estoy haciendo un diseño de base de datos, ahora cuento con una tabla VISITA donde voy a registrar todas las visitas que se hagan de 3 tipos de personas diferentes a las que tengo en 3 tablas diferentes ya que los campos para cada uno son diferentes estos son CLIENTE, EXALUMNO, ESTUDIANTE. Mi duda esta en si es correcto hacer esta relacion o como podria hacer porque son 3 tablas relacionadas con la misma tabla VISITA por lo tanto el FK d ellas estara en VISITA (Id_Exalumno, Id_Estudiante, Id_CLiente) y solo uno de ellos se grabarà a la vez ... no los 3 para 1 visita sera grabado el id del exalumno o el d estudiante o el de cliente, pero no se como hacer esto ya que hasta donde se no se puede grabar nulos para las llaves foraneas de otras tablas.
Lo mismo me ocurre con mi tabla de LLAMADAS y de INSCRIPCION .. 3 tablas para 1 sola ... 3 llaves foraneas y solo una se debe guardar.

Espero sus respuestas y todas sus sugerencias

Saludos,

Stefanie
  #2 (permalink)  
Antiguo 28/09/2006, 02:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 12
Antigüedad: 17 años, 7 meses
Puntos: 0
por que no creas una tabla usuarios con los campos id (clave publica) y tipo_usuario (exalumnos, cliente, etc..)
y asi tienes un identificador unico para cada usuario.
  #3 (permalink)  
Antiguo 28/09/2006, 07:25
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
y en la tabla visita solo se almacenará un id...
  #4 (permalink)  
Antiguo 28/09/2006, 07:30
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
De acuerdo con Deixis, por que imaginate, si tienes otro tipo de usuario?, tendrias que creas otra tabla para tal.
Saludos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #5 (permalink)  
Antiguo 28/09/2006, 10:41
Avatar de Stefanie  
Fecha de Ingreso: septiembre-2006
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 17 años, 7 meses
Puntos: 0
Muchas gracias por sus respuestas. Pero se refieren a una tabla general como una tabla padre para mis demas tablas? o a una tabla tipo que se relacione con cada tabla CLIENTE, EXALUMNO y ESTUDIANTE? .. los datos de estos 3 son diferentes para cada uno por eso los separe.
  #6 (permalink)  
Antiguo 28/09/2006, 12:51
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años, 1 mes
Puntos: 3
Mas o menos asi:
Usuario
codigo
apellidos
nombre
codigotipo
etc....

TipoUsuario
codigotipo
descripcion

En este caso, codigotipo (que puede tener otro nombre, de acuerdo a tu gusto) será llave foránea en la tabla usuario y no necesariamente llave primaria.
Definitivamente los 3(cliente, exalumno y estudiante) tienen datos en común, y los que no, dependiendo de tu necesidad puedes crear nuevas tablas.
Ahora, todo eso depende de tu punto de vista.
Para terminar, si gustas puedes poner la descripción de las 3 tablas que tienes (cliente, exalumno y estudiante) y podrian(mos) ayudarte a plantearlo de diferentes maneras. Claro esta, si es tu deseo.
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #7 (permalink)  
Antiguo 02/10/2006, 08:53
Avatar de Stefanie  
Fecha de Ingreso: septiembre-2006
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 17 años, 7 meses
Puntos: 0
Muchas Gracias ;) por el dato .. si ya me estaba enredando mucho jeje :) gracias! saludos.
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 22:35.