![Page 1: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/1.jpg)
CIC CONF.
Les 10 erreurs à éviter
lors de la conception
d’une base de données
![Page 2: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/2.jpg)
QUI SUIS-JE?
Klein Houzin, ancien du CIC Promotion 2008-2011
Consultant informatique
Spécialiste des bases de données relationnelles
Vit au Ghana, Accra
![Page 3: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/3.jpg)
SOMMAIRE
Conception d’une BD
10 erreurs
Description
Problèmes
Solutions implicites
![Page 4: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/4.jpg)
BASE DE DONNÉES (BD)
Collection de données organisées
en particulier pour la recherche
rapide et la récupération par un
ordinateur
![Page 5: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/5.jpg)
BASE DE DONNÉES (BD)
Différente d’un SGBD (Système de Gestion de Base de données)
SQL Server
Oracle
MySql
Postgres
Mongo Db
Différente d’une application
![Page 6: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/6.jpg)
UNE BD
transforme une donnée
en Information
![Page 7: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/7.jpg)
CONCEPTION
Fait, pour un être vivant sexué, pour un enfant, d'être conçu, de recevoir l'existence.
Aptitude à comprendre quelque chose, à le saisir ou à le produire par l'esprit : Cela dépasse la conception humaine.
Manière particulière de comprendre une question ; opinion, représentation, idée que l'on peut se faire de quelque chose : Des conceptions politiques.
Action d'élaborer quelque chose dans son esprit, de le concevoir ; résultat de cette action : Mauvaise conception d'un appartement.
![Page 8: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/8.jpg)
CONCEPTION D’UNE BD
Entrée :
Un projet déterminé
Règles de gestion
Domaine
Sortie: Le modèle de la base de données
![Page 9: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/9.jpg)
LES 10 ERREURS FATALES A EVITER LORS DE
LA CONCEPTION D’UNE BD
![Page 10: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/10.jpg)
ERREUR 1
Une base de données non
normalisée
![Page 11: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/11.jpg)
ERREUR 1: BD NON NORMALISEE
Description
![Page 12: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/12.jpg)
ERREUR 1: BD NON NORMALISEE
Description
![Page 13: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/13.jpg)
ERREUR 1: BD NON NORMALISEE
Causes
- Coder directement sans planifier un schéma de la
base de données
- Travailler avec des EDI comme qui créent la base de
données (CodeFirst)
- Travailler sur une base de données non relationnelle
![Page 14: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/14.jpg)
ERREUR 1: BD NON NORMALISEE
Problèmes 1. Augmentation de la nécessité de
restructurer la collection des relations, de
nouveaux types de données sont
introduites, et
2. Model difficilement étendable
3. Le modèle relationnel non-informatif pour
les utilisateurs
4. Répétition groupes de données
5. Faits contradictoires
6. Inconsistance de la base de données
![Page 15: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/15.jpg)
ERREUR 2
Une base de
données trop/mal
normalisée
![Page 16: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/16.jpg)
ERREUR 2: BD TROP NORMALISEE
Description
![Page 17: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/17.jpg)
ERREUR 2: BD TROP NORMALISEE
Description
![Page 18: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/18.jpg)
ERREUR 2: BD MAL NORMALISEE
Description
Normaliser une
base de données
non-relationnelle
sur le modèle de
Codd
![Page 19: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/19.jpg)
ERREUR 2: BD TROP NORMALISEE
Problèmes
Les requêtes peuvent devenir très
compliquées
Les chaines peuvent être brisées
Les jointures sont couteuses en temps pour
les requêtes sur dans les entrepots de données
OLAP(Online Analysis and Processing)
Implémenter un modèle relationnel dans un
SGBD non-relationnel
![Page 20: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/20.jpg)
ERREUR 3
Utilisation des types de
spécifiques a un SGBD
![Page 21: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/21.jpg)
ERREUR 3: DONNEES SPECIFIQUES A UN
SGBD
Description
Utiliser des types comme :
UniqueIdentifier (SQLServer)
Bit pour SQLServer
Boolean
RowId pour Oracle
Blob
Les jointures sont couteuses en temps pour
les requêtes sur dans les bases de données
OLAP(Online Analysis and Processing)
![Page 22: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/22.jpg)
ERREUR 4
Utilisation des types
numériques flottants
![Page 23: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/23.jpg)
ERREUR 4: UTILISATION DES TYPES
NUMERIQUES FLOTTANTS
Description
Utilisation des types numériques comme
float pour des montants précises
![Page 24: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/24.jpg)
ERREUR 4: UTILISATION DES TYPES
NUMERIQUES FLOTTANTS
Problèmes
Erreur lors des calculs
2 x 2= 3,99999
Erreurs lors des requêtes comportant des
conditions sur ces colonnes
ex: Montant >= 0,1 peut ramener des
valeurs comme 0,999999
![Page 25: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/25.jpg)
ERREUR 5
UTILISATION DES
CLES PRIMAIRES
NATURELLES
![Page 26: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/26.jpg)
ERREUR 5: UTILISATION DES CLÉS PRIMAIRES
NATURELLES
Description
![Page 27: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/27.jpg)
ERREUR 5: UTILISATION DES CLÉS PRIMAIRES
NATURELLES
Problèmes
- Requêtes très couteuses en mémoire : les
jointures sur certains champs textes sont
très couteuses
- Obligation de recréer une autre clé lorsque
cette clé ne sera plus « naturelle »
![Page 28: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/28.jpg)
ERREUR 6
Ne pas utiliser forcer les
contraintes sur les
champs et les tables
![Page 29: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/29.jpg)
ERREUR 6: NE PAS UTILISER LES CONTRAINTES
SUR LES CHAMPS ET LES TABLES
Description
Mettre les champs texte a max
Varchar(max) , CHAR(255), INTEGER(11)
Ne pas mettre des contraintes CHECK sur les
champs nombres
![Page 30: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/30.jpg)
ERREUR 6: NE PAS UTILISER LES CONTRAINTES
SUR LES CHAMPS ET LES TABLES
Problèmes
Grossissement des fichiers de la base de données
Requêtes très couteuses en mémoire (pour les
champs trop larges)
Inconsistance de la base de données
Quantité negative
Montant négatif
Vitesse >300 000 m/s
Taille >4m
![Page 31: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/31.jpg)
ERREUR 7
Concevoir une base de
données non localisable
![Page 32: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/32.jpg)
ERREUR 7: CONCEVOIR UNE BD NON
LOCALISABLE
Description
Utilisation des champs textes pour representer les
booleens OUI/NON
Utilisation des champs textes pour representer les
etats
Occupe/Non Occupe
Fait/Non Fait
Utilisation des champs textes pour représenter les
chiffres
![Page 33: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/33.jpg)
ERREUR 7: CONCEVOIR UNE BD NON
LOCALISABLE
Problèmes
Requêtes compliquées et couteuses en mémoire
…..WHERE LOWER(Etat) = ‘oui’ OR
LOWER(Etat) =‘yes’ OR LOWER(Etat)=‘ya’
Difficulté de construire des applications localisables
Difficulté de construire des états localisables à partir
de la base
![Page 34: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/34.jpg)
ERREUR 8
Enregistrer les mots
de passe en plein texte
![Page 35: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/35.jpg)
ERREUR 8: ENREGISTRER LES DONNEES
SENSIBLES EN CLAIR
Description
![Page 36: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/36.jpg)
ERREUR 8: ENREGISTRER LES DONNEES
SENSIBLES EN CLAIR
PROBLEMES
DONNEES VISIBLES A TOUTE PERSONNE
QUI A ACCES AUX TABLES OU VUES
DONNEES PERSONNELLES LISIBLES (MOT
DE PASSE)
MODIFICATIONS FACILES
![Page 37: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/37.jpg)
ERREUR 9
Magic beans
![Page 38: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/38.jpg)
ERREUR 9: MAGIC BEANS
Description
Modèles au niveau de MVC /MVVM / MVP
![Page 39: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/39.jpg)
ERREUR 9: MAGIC BEANS
Problèmes
Champs calculées
Confusion du modèle de la base de données et du
modèle de l’application
Difficulté de construire une nouvelle application
basée sur la base de données
![Page 40: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/40.jpg)
ERREUR 10
Pauvre
Documentation
![Page 41: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/41.jpg)
ERREUR 10: PAUVRE DOCUMENTATION
Description
Mauvaise nomenclature
Niveau des champs
Niveau des tables
Niveau des contraintes
Schéma de la base de données non documenté
![Page 42: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/42.jpg)
ERREUR 10: PAUVRE DOCUMENTATION
Problèmes
Maintenance difficile de la base de données
Evolution difficile de la base de données
Etats ad hoc difficiles à générer
![Page 43: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/43.jpg)
ERREUR 0
Ne pas communiquer avec un
Administrateur de base de données
(ADB) lors d’un projet
![Page 44: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/44.jpg)
ERREUR 0
Avoir un ADB :
Permet de séparer
l’application de la BD
Permet de détecter les
erreurs de conception dès le
début
![Page 45: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/45.jpg)
ERREUR 0
Les applications passent
mais les BD restent
![Page 46: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/46.jpg)
ERREUR 0
Les applications passent
mais les BD restent
![Page 47: Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données](https://reader030.vdocuments.site/reader030/viewer/2022020101/5578a21cd8b42aaf518b5268/html5/thumbnails/47.jpg)
MERCI
QUESTIONS
Suivez moi
Blog besklein01.wordpress.com
Twitter @bestklein
« It always seems impossible until its done »Nelson Mandela