Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #12  
Antiguo 07-06-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.405
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Un dominio es más bien como un "alias", yo solo uso dominios, nunca declaro un campo por su tipo.
Por ejemplo, puedes tener un dominio 'domicilio' del tipo varchar(32) y en los campos declaras el dominio en lugar del tipo, entonces si un día quieres cambiar a varchar(64), sólo has de cambiar el dominio y automáticamente tendrás todos los campos de todas las tablas que usen el dominio 'domicilio' cambiadas a varchar(64).
Ejemplo, te pego un trozo de un script de creación de una BD:

Código SQL [-]
set sql dialect 3; 
create database "rankings.fdb" PAGE_SIZE 8192 user "SYSDBA" password "masterkey"; 

/**/ 
create domain domCodigoNoNulo integer not null; 
create domain domNombre varchar(64) character set ISO8859_1;  /* fb < 2.1 */ 
/*create domain domNombre varchar(64) character set UTF8 collate ES_ES_CI_AI default '';*/  /* fb >= 2.1 */ 
create domain domImagen blob sub_type 0; 
create domain domFecha date; 
create domain domHora time; 
create domain domFechaHora timestamp; 
create domain domComentarios blob sub_type text; 
create domain domSiNo smallint default 0 check (value between 0 and 1); /* 0-No, 1-Si*/
create domain domEstadoUsuario smallint; /* (0.sinconfirmar,1.activo,2.baja) (sinconfirmar hasta que responda el email de confirmaciﺃ٣n de alta) */ 
create domain domPuntos integer;  /* 0,1,2,3,4,5,6,7,8,9,10 */ 
create domain domLogin varchar(32); 
create domain domContrasena varchar(64); 
create domain domDescripcion varchar(256); 
create domain domEmail varchar(48); 
create domain domWeb varchar(128); 
create domain domYear integer; 
create domain domNIF varchar(16) not null; 
create domain domIP varchar(16); 
create domain domTelefono varchar(16);
create domain domWebBrowser varchar(64);  /* navegador del usuario */
create domain domSO varchar(64); /* sistema operativo del usuario */
create domain domTitulo varchar(64); /* para título de las opiniones/comentarios */
create domain domInteger integer; 
create domain domAlias varchar(16);
create domain domCaracter varchar(1);
create domain domConcepto varchar(96);
create domain domCP varchar(5);
create domain domDescripcion varchar(256);
create domain domDireccion varchar(256);
create domain domPoblacion varchar(96); 
create domain domPorcentaje double precision;
/* 
*/ 
 
create table 
tbTIPOSPROFESIONALES  
( 
  ID          domCodigoNoNulo, 
  Nombre      domNombre,      
  primary key (ID) 
); 
 
create table 
tbPAISES 
( 
  ID          domCodigoNoNulo, 
  Nombre      domNombre, 
  primary key (ID) 
); 

create table 
tbCIUDADES 
( 
  ID          domCodigoNoNulo, 
  ID_pais     domCodigoNoNulo, 
  Nombre      domNombre, 
  primary key (ID), 
  foreign key (ID_pais) references tbPAISES(ID) 
); 
 
create table 
tbESPECIALIDADES 
( 
  ID          domCodigoNoNulo, 
  Nombre      domNombre,  
  primary key (ID) 
); 
 
create table 
tbNIVELESUSUARIOS 
( 
  ID          domCodigoNoNulo, 
  Nombre      domNombre,  /* (normal,avanzado,admin,god) */ 
  primary key (ID) 
); 
   
create table 
tbAVATARES 
( 
  ID          domCodigoNoNulo, 
  Imagen      domImagen, 
  primary key (ID) 
); 
   
create table   
tbIDIOMAS 
( 
  ID        domCodigoNoNulo, 
  Idioma    domNombre,  
  primary key (ID) 
); 
 
create table 
tbPROFESIONALES 
( 
  ID                  domCodigoNoNulo, 
  ID_TipoProfesional  domCodigoNoNulo, 
  Nombre              domNombre, 
  ID_Especialidad     domCodigoNoNulo, 
  CentroTrabajo       domNombre,
  Privado             domSiNo, 
  SS                  domSiNo, 
  ID_Pais             domCodigoNoNulo, 
  ID_Ciudad           domCodigoNoNulo, 
  primary key (ID), 
  foreign key (ID_TipoProfesional) references tbTIPOSPROFESIONALES (ID), 
  foreign key (ID_Especialidad) references tbESPECIALIDADES (ID), 
  foreign key (ID_Pais) references tbPAISES (ID), 
  foreign key (ID_Ciudad) references tbCIUDADES (ID) 
); 
 
create table 
tbUSUARIOS 
( 
  ID              domCodigoNoNulo, 
  ID_NivelUsuario domCodigoNoNulo, 
  Login           domLogin,            
  Contrasena      domContrasena, 
  Nombre          domNombre, 
  Email           domEmail, 
/* [..] */     
  NIF             domNIF,   
  YearNacimiento  domYear, 
  Telefono        domTelefono, 
  ID_Avatar       domCodigoNoNulo, 
  ID_Idioma       domCodigoNoNulo, 
/* [..] */   
  ID_Pais         domCodigoNoNulo, 
  ID_Ciudad       domCodigoNoNulo, 
/* [..] */ 
  FechaHoraAlta   domFechaHora, 
  Estado          domEstadoUsuario,  /* (0.sinconfirmar,1.activo,2.baja) (sinconfirmar hasta que responda el email de confirmaciﺃ٣n de alta) */ 
/* [..] */ 
  IP              domIP,
  WebBrowser      domWebBrowser,
  SO              domSO, 
  primary key (ID), 
  foreign key (ID_NivelUsuario) references tbNIVELESUSUARIOS (ID), 
  foreign key (ID_Avatar) references tbAVATARES (ID), 
  foreign key (ID_Idioma) references tbIDIOMAS (ID), 
  foreign key (ID_Pais) references tbPAISES (ID), 
  foreign key (ID_Ciudad) references tbCIUDADES (ID)   
); 

...
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Limites de Firebird gmontes Firebird e Interbase 1 24-03-2008 23:08:07
Limites de Delphi walito Varios 5 16-11-2007 15:32:34
Declaracion de nuevos tipos FGarcia Varios 2 10-05-2007 20:46:21
El Ser Humano no tiene LIMITES vtdeleon La Taberna 5 26-09-2006 17:18:36
Limites de datos muli Firebird e Interbase 1 22-10-2003 17:52:04


La franja horaria es GMT +2. Ahora son las 03:17:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi