Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/11/2009, 05:10
Avatar de gnzsoloyo
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: Podés darme vuestra opinión sobre este diseño?

Estoy de acuerdo con quimfv, el modelo es en principio correcto. Posiblemewnte esta tabla sea bastante más optimizable:
Código sql:
Ver original
  1. CREATE TABLE inscripciones (
  2.     idInscripcion INT NOT NULL AUTO_INCREMENT,
  3.     nombre VARCHAR(40) NOT NULL,
  4.     apellidos VARCHAR(40) NOT NULL,
  5.     fnacimiento DATE,
  6.     dni VARCHAR(20),
  7.     direccion VARCHAR(90) NOT NULL,
  8.     poblacion VARCHAR(40) NOT NULL,
  9.     cpostal VARCHAR(10) NOT NULL,
  10.     provincia VARCHAR(20) NOT NULL,
  11.     tel_particular VARCHAR(10) NOT NULL,
  12.     mov_particular VARCHAR(10) NOT NULL,
  13.     ema_particular VARCHAR(50) NOT NULL,
  14.     tel_profesional VARCHAR(10),
  15.     mov_profesional VARCHAR(10),
  16.     ema_profesional VARCHAR(50),
  17.     fax VARCHAR(15),
  18.     nos_conocio VARCHAR(150) NOT NULL,
  19.     pref_tel_particular CHAR(1) DEFAULT '0',
  20.     pref_tel_profesional CHAR(1) DEFAULT '0',
  21.     pref_ema_particular CHAR(1) DEFAULT '0',
  22.     pref_ema_profesional CHAR(1) DEFAULT '0',
  23.     idioma VARCHAR(2) DEFAULT 'es',
  24.     PRIMARY KEY(idInscripcion));
Sobre la base de la normalización, hay al menos dos tablas desprendiéndose de ella, como es el caso de los teléfonos, que en mi opinión deberían ir en otra tabla, unificando los profesionales, particulares y comerciales en una sola con un campo para distingir tipo. Además, poner los prefijos en otro campo no resulta funcional, ya que conceptualmente es parte del mismo número y no se debe hacer una atomización tan detallada.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)