databases/README.md
Michael RICOIS 37ccda9cb8 Mise en page
2017-03-29 14:09:13 +02:00

73 lines
1.8 KiB
Markdown

Database
========
Metier
schema
scripts
Apps
Enrichissement
Extranet
Backoffice
Odea
Flux
Notes
Conventions
===========
Pour une industrialisation des projets, avec la librairie Doctrine.
Voir les règles de principe dans la documentation
- http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/basic-mapping.html
- http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/best-practices.html
Nom des tables
--------------
Les règles de nommage permettent d'établir des profils de sauvegarde suivant le nom, de créer des
groupes de tables, ...
- Tous les caractères en minuscules
- Table du même groupe, utiliser le séparateur "_"
ex : clients, clients_service, clients_utilisateurs
- Particularité des tables, utiliser un suffixe
- _old : Version précédente
- _tmp : Temporaire, version suivante
- _bak : Backup
- _mvt : Suivi des mouvements pour garder les suppressions, modifications, ...
- _user : Enregistrer les actions utilisateurs sur la table (en relation avec _mvt)
ex : etablissement, etablissements_old, etablissements_tmp, etablissements_bak
Nom des colonnes
----------------
- Faire simple
- Eviter les majuscules, caractères spéciaux, donc les noms composés
- Ne pas préciser le type de données dans le nom (ex: date)
Nom des index
-------------
- PRIMARY
Pour réaliser les traitements unitaires sur les données, il est important d'avoir un index
primaire sur toutes les tables afin de selectioner plus rapidement la ligne lors de
SELECT, INSERT, UPDATE
- idx{Name}
Index pour l'amélioration des requêtes SELECT
- idu{Name}
Index unique pour eviter les doublons
Performance
===========
- Autres base de données
- Envisager l'utilisation de MongoDB dans notre processus Métier