Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
informatique:sgbd-best-practises [2020/05/13 14:13] – bertrand | informatique:sgbd-best-practises [2024/02/20 10:04] (Version actuelle) – [Les requêtes] bertrand | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Best practises Bases de données ====== | ====== Best practises Bases de données ====== | ||
- | Début 2020, j'ai questionné la liste de diffusion RBDD à propos des bonnes pratiques pour la création/ | + | Début 2020, j'ai questionné la liste de diffusion RBDD à propos des bonnes pratiques pour la création/ |
[[http:// | [[http:// | ||
Ligne 12: | Ligne 12: | ||
==== Des constantes ==== | ==== Des constantes ==== | ||
- | Le nom des bases de données, des schémas, des tables et des attributs doit être: | + | === Le nom des bases de données, des schémas, des tables et des attributs doit être === |
* en minuscule | * en minuscule | ||
* au singulier | * au singulier | ||
Ligne 20: | Ligne 21: | ||
Il doit être parlant sans être verbeux. L’utilisation d’abréviation est déconseillée. | Il doit être parlant sans être verbeux. L’utilisation d’abréviation est déconseillée. | ||
- | Les schémas, les tables et les colonnes porteuses d’informations doivent être commentés. | + | === Les schémas, les tables et les colonnes porteuses d’informations doivent être commentés |
Le commentaire doit citer l’**unité de mesure, pour les données numériques** | Le commentaire doit citer l’**unité de mesure, pour les données numériques** | ||
=== Des options === | === Des options === | ||
- | * Le nom des objets et le commentaire doivent être en anglais\\ | + | === Le nom des objets et le commentaire doivent être en anglais |
{{: | {{: | ||
{{: | {{: | ||
- | * La clef primaire doit être de type « serial » et nommée « table_id ».\\ | + | |
- | {{: | + | === La clef primaire doit être de type « serial » et nommée « table_id » === |
+ | {{: | ||
{{: | {{: | ||
- | * La clef étrangère doit avoir le même nom que la clé primaire de la table référente (table_id)\\ | + | |
+ | === La clef étrangère doit avoir le même nom que la clé primaire de la table référente (table_id) | ||
{{: | {{: | ||
{{: | {{: | ||
- | * Le nom des vues doit être préfixé par « v_ »\\ | + | |
+ | === Le nom des vues doit être préfixé par « v_ » === | ||
{{: | {{: | ||
{{: | {{: | ||
- | * Le nom des attributs doit être préfixé par le nom de leur table et séparé par des _\\ | + | |
+ | === Le nom des attributs doit être préfixé par le nom de leur table et séparé par des _ s'il y a une ambiguïté possible avec d' | ||
{{: | {{: | ||
{{: | {{: | ||
- | * Le nom des tables doit être aliaisé par une abréviation\\ | + | |
+ | === Le nom des tables doit être aliaisé par une abréviation | ||
{{: | {{: | ||
{{: | {{: | ||
Ligne 48: | Ligne 54: | ||
L’utilisation de script SQL doit être privilégiée. Il doit être commentés et contenir les entêtes minimum suivantes (auteur / date de création / date de dernière mise à jour / utilité). Il doit être archivé, dans un gestionnaire de version de code si possible, ou dans un système de sauvegarde au moins journalier | L’utilisation de script SQL doit être privilégiée. Il doit être commentés et contenir les entêtes minimum suivantes (auteur / date de création / date de dernière mise à jour / utilité). Il doit être archivé, dans un gestionnaire de version de code si possible, ou dans un système de sauvegarde au moins journalier | ||
- | Utilisation des alias de tables | + | === Utilisation des alias dans les requêtes complexes |
- | {{: | + | {{: |
- | {{: | + | * facilite la lecture de la requête |
- | {{: | + | |
+ | * les alias des tables sont utilisables dans les WHERE, HAVING et autre | ||
+ | {{: | ||
+ | * compromis à trouver entre longueur de l' | ||
+ | * les alias des champs ne sont pas utilisables dans les mêmes WHERE, HAVING et autres | ||
+ | |||
+ | ===== Références ===== | ||
+ | * [[wpfr> | ||
+ | * [[wpfr> |