FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Analogia....
HOla colegas...
Estoy iniciando en Interbase y me abundan las dudas de todo tipo....en este caso de diseño: -Caso Estado Civil: Tengo un campo estado civil, el cual tiene un dominio fijo (Soltero, Casado, Union Libre, Divorciado, Viudo) y lo declare en dominio como el siguiente: Código:
CREATE DOMAIN D_EstadoCivil AS VARCHAR(20) CHECK (VALUE IN ('SOLTERO','CASADO','UNION LIBRE','DIVORCIADO','VIUDO','SEPARADO')) Esto fuerza a que el valor entrado sea cualquiera de estos que estan declarados y me imagino que si no es asi se levanta una excepcion. Pero no me ofrece la ventaja de que si estuvieran declarados estos valores una tabla llamada ESTADOCIVIL(IdeEstado, Estado) y por medio de la cual yo puedo con un DBLookupcombobox tener una lista desplegable donde el usuario señala el nombre y se inserta automaticamente el IDEstado (Algo asi como un Campo de busqueda en los TTable, trabajando con paradox....eso es lo que yo he hecho). Se que esta el DBComboBox, pero entonces tendria que insertar este dominio en el combo y en la declaracion de la base de datos, lo que me traeria problemas de consistencia para futuras modificaciones. Que opinan.... Como en interbase se haria algo como los campos de busqueda..... Muchisimas gracias
__________________
LK |
#2
|
||||
|
||||
Generalmente es cuestión de gustos, en lo personal no me gusta "cerrar" las cosas cuando existe esa ligera posibilidad de que entre otro valor en el dominio y porcuro manejar catálogos en la mayoria de los casos... recuerda las leyes de murphy: "Si existe la mas minima posibilidad de que pase, no lo dudes, ¡pasara!"...
__________________
"Lo mejor de no saber hacer nada es que se tiene mucho tiempo libre."
|
#3
|
||||
|
||||
Resp
Bueno comote dicen no es bueno cerrar las cosas pero si lo vas hacer asi.
Entonces no uses varchar por que ya esta cerrado. Entonces para que ocupar mas espacio del necesario simplemente usa smallint donde 0=SOLTERO 1=CASADO 2=UNION LIBRE 3=DIVORCIADO 4=VIUDO','SEPARADO Bueno asi lo veo pero a la final tu eres queien decide como debe quedar.
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa. Última edición por rastafarey fecha: 02-12-2005 a las 16:22:08. |
#4
|
|||
|
|||
Muy interesante,
La posicion que recomienda rastafarey se utilizo y sigue utilizando cuando se requiere al maximo reducir el tamaño de los registros en las bases de datos o para aplicaciones donde el ancho de banda es una limitante. En lo personal, si estoy seguro que el conjunto de valores del dominio (estado_civil) no va a cambiar con el tiempo lo dejaria como lo tiene Luis Castillo, si existe la posibilidad de cambio (fijense que en Colombia existe el sexo F, M y resulto uno I de indeterminado cuando el niño/niña es hermafrodita y no ha llegado a una edad donde se determina su sexo "final" lo que obligo a unos cambios en una aplicacion) entonces yo mandaria los datos una tabla Estado_Civil, sin utilizar codigos, y crear una llave foranea, claro que esto trae unos problemitas de selectividad. Para facilitarme las cosas en Delphi, utilizo un DBComboBox y leo los contenidos de la tabla Estado_Civil y los mando a los Items del DBComboBox, esto se hace una sola vez cuando se abre el formulario.
__________________
Luis Fernando Buelvas T. |
|
|
|