
16/01/2011, 07:07
|
 | Moderador criollo | | Fecha de Ingreso: noviembre-2007 Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses Puntos: 2658 | |
Respuesta: Base de Datos con diferentes campos por entrada Por lo pronto estás planteando mal algunos detalles.
Primero: No se le debe dejar a los usuarios decidir como es la estructura de las tablas de la base de datos, esa es un área que debe ser invisible a los usuarios, los cuales sólo deben incorporar los datos. No estructuras.
Si le dejas libre la modificación de una tabla a los usuarios puede suceder que existan duplicaciones de dominios entre columnas, simplemente porque diferentes usuarios agregaron algo sin tener en cuenta los aportes de los demás.
Segundo: No se debe dejar un criterio ambiguo para la definición de los campos. El que un usuario ingrese su DNI y otro pueda no hacerlo, lo único que indica es que el DNI no es una clave candidata, y por tanto deberás manejar como PK otro tipo de dato, o crearlo por tí mismo.
De todos modos, si son usuarios personas físicas, deben tener alguna forma de identificación establecida en su país (DNI, NSS, DU, o lo que sea), la que puede perfectamente ser usada como PK, sin importar el diferente alcance o numeración, si además usas un campo ID_PAIS para completar la PK (por el caso de las repeticiones de numero de diferentes contextos).
En cualquier caso, lo que te conviene es leer un poco del modelo relacional y del diseño de bases de datos, para tratar de ver cómo diseñar algo que te sirva y se ajuste al paradigma relacional,. porque lo que estás planteando te traerá muchos problemas a futuro.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |