Header Ads Widget

10 Prácticas Recomendadas para Diseñar Base de Datos

Para alguien que ha trabajado varios años en desarrollo de sistemas, una parte importante, es el diseño de la base de datos.

Para ello hay una serie de prácticas recomendadas que te permiten diseñar una base de datos eficaz y eficiente:

  1. Cada tabla debe tener una clave primaria.
  2. Las claves foráneas deben utilizarse para que las relaciones entre tablas no se rompan.
  3. Normaliza primero, desnormaliza cuando tengas una razón real.
  4. Crea índices para las columnas que filtran, de uniones y de orden.
  5. Elige el tipo de dato más pequeño que te sirva para la información que vas a guardar.
  6. Nunca guardes valores monetarios en un float.
  7. Utiliza timestamps con una zona de tiempo.
  8. Utiliza enumeraciones o tablas de búsqueda en vez de valores de estado en texto literal.
  9. Agrega columnas "creado" o "actualizado" a cualquier cosa que cambie.
  10. Ponle a las columnas un nombre que cualquiera pueda entender.

Éstas son las más conocidas y no aseguran una base de datos correcta. Hay prácticas adicionales:

  1. Al crear una tabla, se debe decidir que significa un nulo para cada columna. Eso va a decidir varias cosas en consecuencia.
  2. Evaluar si una tabla es bitemporal, una tabla así, guarda dos historias a la vez: cuándo ocurrió un dato en el mundo real (tiempo válido) y cuándo se registró oficialmente en el sistema (tiempo de transacción).
  3. Los movimientos de dinero deben congelarse en el momento en que sucedieron. Movimientos de X dólares, pueden tener diferente tipo de cambio de acuerdo al momento en que se realizaron.
  4. Para cualquier eventualidad (evento en el tiempo) guardar la zona de tiempo.
  5. Si usas eliminaciones lógicas, chequea tus reglas de unicidad. Si la regla es que un email debe ser único, y se elimina lógicamente, la base de datos debe permitir registrarlo nuevamente.
  6. Asegura en la base de datos que una fila con datos erróneos sea imposible de registrar.




Publicar un comentario

0 Comentarios