Apps | ||
Metier | ||
Notes | ||
.gitignore | ||
README.md | ||
TODO.md |
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