[firebase-br] Ajuda projeto

Walter R. Ojeda Valiente sistemas2000profesional em gmail.com
Seg Jan 19 15:00:20 -03 2015


-Qatan:

- Los identificadores son una cosa y los códigos son otra cosa. Mucha gente
los confunde pero deben ser usados para cosas distintas:
https://firebird21.wordpress.com/2014/01/10/usando-identificadores-y-codigos-en-nuestras-tablas/

- Si quieres que al borrar una fila de la tabla padre también
automáticamente se borren todas las filas relacionadas de la tabla hija,
tienes que usar: ON DELETE CASCADE
https://firebird21.wordpress.com/2013/05/26/entendiendo-a-las-foreign-keys/

- Todas las Primary Keys deberían ser numéricas y autoincrementales, no hay
razón para hacer otra cosa
https://firebird21.wordpress.com/2013/03/15/entendiendo-a-las-primary-keys/
https://firebird21.wordpress.com/2013/04/29/uso-de-la-primary-key/

- Cada Primary Key debería ser actualizada con su propio generador, tener
un solo generador para usarlo en todas las tablas es una mala idea. Hay
varios motivos, uno de ellos es que un generador puede tener un valor
máximo que es 2.147.483.647 y si todas las tablas usan un mismo generador,
se llegará más rapidamente a ese número.
https://firebird21.wordpress.com/2013/09/09/evitando-conflictos-cuando-las-transacciones-superan-el-limite/

- Si vas a usar replicación, entonces es muy conveniente tener una columna
llamada "Código de la Sucursal" o similar en TODAS las tablas, para poder
identificar fácilmente la procedencia de las filas de cada tabla.

- Todas las columnas que serán usadas para Primary Key deben ser NOT NULL.
En el caso de las Foreign Key eso depende de como será la actualización o
el borrado.

- Para hacer un CHECK que te valide que al menos uno de los valores sea
mayor que cero, lo más fácil es escribir:
  Columna1 + Columna2 + Columna3 + Columna4 + Columna5 > 0

Saludos.

Walter.



Mais detalhes sobre a lista de discussão lista