Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/11/2009, 15:21
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 2 meses
Puntos: 20
Respuesta: Podés darme vuestra opinión sobre este diseño?

Muchas gracias por responder gnzsoloyo

Los campos ENUM siempre los he visto como una lista de opciones de la cual puedes escoger solo una. El usuario puede escoger, 1, 2 incluso si quiere las 4 opciones, funcionaría en ese caso el ENUM, o te restringe a una sola opción?¿

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Bien. Si esos campos son preferencias de contacto, eso puede resolverse con un campo ENUM que tenga cuatro valores posibles, ya que en definitiva solamente necesitas un dato: QUé medio usar apra el contacto. Ese valor bien puede ser uncódigo numérico en que se asigne:
Sobre las dos tablas de telefono, un par de dudas...

El idcontacto de cada tabla es una clave independiente no?
Cuando haces el REFERENCES contacto(idcontacto) que es "contacto"??

No deberían estar relacionada con la clave primaria de la tabla inscripciones, para saber que ese correo o ese telefono pertenece a esa persona?

Respecto a los teléfonos, la cosa es parecida:
Código sql:
Ver original
  1. CREATE TABLE contacto_Tel(
  2.   idcontacto  INT NOT NULL,
  3.   telefono VARCHAR(14),
  4.   tipo_tel TINYINT NOT NULL,
  5.   PRIMARY KEY(idcontacto, telefono),
  6.   FOREIGN KEY idcontacto REFERENCES contacto(idcontacto)  
  7.   )
Los e-Mails:
Código sql:
Ver original
  1. CREATE TABLE contacto_eMail(
  2.   idcontacto  INT NOT NULL,
  3.   eMail VARCHAR(100),
  4.   tipo_email TINYINT NOT NULL,
  5.   PRIMARY KEY(idcontacto, eMail),
  6.   FOREIGN KEY idcontacto REFERENCES contacto(idcontacto)  
  7.   );

Esa sería más o menos la idea.
Con dos tablas relacionadas de esa forma, podrías tener uno o muchos teléfonos o e-Mails de la misma persona.[/QUOTE]


Muchas gracias de nuevo