> For the complete documentation index, see [llms.txt](https://developers.bims.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.bims.xyz/diseno-de-base-de-datos.md).

# Diseño de Base de Datos

## Normalizaciones

### Nombres de Tablas

Definí todos los nombres de tablas en plural y en inglés. Ej.: `sales`, `products`, `contacts`.

### Claves Primarias

El campo de clave primaria de todas las tablas siempre debe llamarse `id` y ser del tipo `bigserial`, que es básicamente un BIGINT ligado a un sequence.

Aunque un diseño normalizado correctamente demande una clave primaria compuesta, como el caso de las tablas de relación mucho a mucho, mantené la recla del PK `id`. Esto viabiliza la automatización de muchas funciones de modelado del framework que usamos constantemente.

### Nombres de Claves Foráneas

Las claves foráneas de llamarse siempre como el nombre de la tabla referenciada en singular y con el sufijo `_id`. Ejemplos: `sale_id`, `product_id`, `contact_id`.
