Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Consulta "pesada"
Ir a página Anterior  1, 2
 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Responder citando

Hola Angel

-Dominios:

en el dominio, no solo defines el tipo de datos, sino que además incluyes ciertas reglas de validación para dicho campo, lo haces sólo una vez

Código:

create domain dSuperficie as
integer
default 0
not null
check (value >= 0);


si el campo superficie aparece en muchas tablas (superficie dSuperficie), y por alguna razón necesitas validar que solo acepte valores mayores a 100, modificas la definicion del dominio y automaticamente esto se hace extensivo a todas las campos en donde utilizas el dominio dSuperficie, De no haber utilizado dominios debería haber cambiado la definicion de los campos uno a uno.

Cita:
¿No es duplicar el trabajo?


Como habras visto, es todo lo contrario, se define una vez y en un solo lugar y se utiliza muchas veces y en diferentes tablas (siempre y cuando sea necesario)
Un caso quiza más notable es dApellido
Código:

create domain dApellido as
varchar(40)
not null;

Apellido puede aparecer en las tablas clientes, proveedores, contactos, empleados, etc. Por cada vez que aparezca el campo apellido en una tabla debería haber escrito
Código:

...
Apellido varchar(40) not null;
...

Si necesito modificar a varchar(50) deberé modificar la definición cuatro veces, una por cada tabla en donde aparece el campo. Con dominios sólo una vez.
Cuando de define un dominio un poco más complejo, por ejemplo cuando hay reglas de validación, las ventajas de la utilización de dominios es todavía más marcada.

Espero haber aclarado.

Saldudos
TJose
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Por supuesto que sí. Muchísimas gracias por la aclaración; es evidente que estoy pagando la novatada de haber entrado tarde en este tipo de bases de datos.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.