CIC CONF.
Les 10 erreurs à éviter
lors de la conception
d’une base de données
QUI SUIS-JE?
Klein Houzin, ancien du CIC
Promotion 2008-2011
Consultant informatique
Spécialiste des bases de données
r...
SOMMAIRE
Conception d’une BD
10 erreurs
Description
Problèmes
Solutions implicites
BASE DE DONNÉES (BD)
 Collection de données organisées
en particulier pour la recherche
rapide et la récupération par un
...
BASE DE DONNÉES (BD)
Différente d’un SGBD (Système de
Gestion de Base de données)
 SQL Server
 Oracle
 MySql
 Postgre...
UNE BD
transforme une donnée
en Information
CONCEPTION
Fait, pour un être vivant sexué, pour un enfant,
d'être conçu, de recevoir l'existence.
 Aptitude à comprendr...
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
LES 10 ERREURS FATALES A EVITER LORS DE
LA CONCEPTION D’UNE BD
ERREUR 1
Une base de données non
normalisée
ERREUR 1: BD NON NORMALISEE
Description
ERREUR 1: BD NON NORMALISEE
Description
ERREUR 1: BD NON NORMALISEE
Causes
- Coder directement sans planifier un schéma de la
base de données
- Travailler avec de...
ERREUR 1: BD NON NORMALISEE
Problèmes
1. Augmentation de la nécessité de
restructurer la collection des relations, de
nouv...
ERREUR 2
Une base de
données trop/mal
normalisée
ERREUR 2: BD TROP NORMALISEE
Description
ERREUR 2: BD TROP NORMALISEE
Description
ERREUR 2: BD MAL NORMALISEE
Description
Normaliser une
base de données
non-relationnelle
sur le modèle de
Codd
ERREUR 2: BD TROP NORMALISEE
Problèmes
 Les requêtes peuvent devenir très
compliquées
 Les chaines peuvent être brisées
...
ERREUR 3
Utilisation des types de
spécifiques a un SGBD
ERREUR 3: DONNEES SPECIFIQUES A UN
SGBD
Description
 Utiliser des types comme :
 UniqueIdentifier (SQLServer)
 Bit pour...
ERREUR 4
Utilisation des types
numériques flottants
ERREUR 4: UTILISATION DES TYPES
NUMERIQUES FLOTTANTS
Description
 Utilisation des types numériques comme
float pour des m...
ERREUR 4: UTILISATION DES TYPES
NUMERIQUES FLOTTANTS
Problèmes
 Erreur lors des calculs
 2 x 2= 3,99999
 Erreurs lors d...
ERREUR 5
UTILISATION DES
CLES PRIMAIRES
NATURELLES
ERREUR 5: UTILISATION DES CLÉS PRIMAIRES
NATURELLES
Description
ERREUR 5: UTILISATION DES CLÉS PRIMAIRES
NATURELLES
Problèmes
- Requêtes très couteuses en mémoire : les
jointures sur cer...
ERREUR 6
Ne pas utiliser forcer les
contraintes sur les
champs et les tables
ERREUR 6: NE PAS UTILISER LES CONTRAINTES
SUR LES CHAMPS ET LES TABLES
Description
 Mettre les champs texte a max
 Varch...
ERREUR 6: NE PAS UTILISER LES CONTRAINTES
SUR LES CHAMPS ET LES TABLES
Problèmes
 Grossissement des fichiers de la base d...
ERREUR 7
Concevoir une base de
données non localisable
ERREUR 7: CONCEVOIR UNE BD NON
LOCALISABLE
Description
Utilisation des champs textes pour representer les
booleens OUI/NO...
ERREUR 7: CONCEVOIR UNE BD NON
LOCALISABLE
Problèmes
Requêtes compliquées et couteuses en mémoire
…..WHERE LOWER(Etat) =...
ERREUR 8
Enregistrer les mots
de passe en plein texte
ERREUR 8: ENREGISTRER LES DONNEES
SENSIBLES EN CLAIR
Description
ERREUR 8: ENREGISTRER LES DONNEES
SENSIBLES EN CLAIR
PROBLEMES
DONNEES VISIBLES A TOUTE PERSONNE
QUI AACCES AUX TABLES OU...
ERREUR 9
Magic beans
ERREUR 9: MAGIC BEANS
Description
Modèles au niveau de MVC /MVVM / MVP
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...
ERREUR 10
Pauvre
Documentation
ERREUR 10: PAUVRE DOCUMENTATION
Description
Mauvaise nomenclature
 Niveau des champs
Niveau des tables
Niveau des cont...
ERREUR 10: PAUVRE DOCUMENTATION
Problèmes
Maintenance difficile de la base de données
Evolution difficile de la base de ...
ERREUR 0
Ne pas communiquer
avec un
Administrateur de
base de données
(ADB) lors d’un projet
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é...
ERREUR 0
Les applications passent
mais les BD restent
ERREUR 0
Les applications passent
mais les BD restent
MERCI
QUESTIONS
Suivez moi
Blog besklein01.wordpress.com
Twitter @bestklein
Facebook
« It always seems impossible until...
Prochain SlideShare
Chargement dans…5
×

Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données

617 vues

Publié le

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
617
Sur SlideShare
0
Issues des intégrations
0
Intégrations
7
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Les 10 erreurs fatales à ne pas commettre lors de la conception d'une base de données

  1. 1. CIC CONF. Les 10 erreurs à éviter lors de la conception d’une base de données
  2. 2. 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
  3. 3. SOMMAIRE Conception d’une BD 10 erreurs Description Problèmes Solutions implicites
  4. 4. 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
  5. 5. 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
  6. 6. UNE BD transforme une donnée en Information
  7. 7. 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.
  8. 8. 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
  9. 9. LES 10 ERREURS FATALES A EVITER LORS DE LA CONCEPTION D’UNE BD
  10. 10. ERREUR 1 Une base de données non normalisée
  11. 11. ERREUR 1: BD NON NORMALISEE Description
  12. 12. ERREUR 1: BD NON NORMALISEE Description
  13. 13. 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
  14. 14. 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
  15. 15. ERREUR 2 Une base de données trop/mal normalisée
  16. 16. ERREUR 2: BD TROP NORMALISEE Description
  17. 17. ERREUR 2: BD TROP NORMALISEE Description
  18. 18. ERREUR 2: BD MAL NORMALISEE Description Normaliser une base de données non-relationnelle sur le modèle de Codd
  19. 19. 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
  20. 20. ERREUR 3 Utilisation des types de spécifiques a un SGBD
  21. 21. 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)
  22. 22. ERREUR 4 Utilisation des types numériques flottants
  23. 23. ERREUR 4: UTILISATION DES TYPES NUMERIQUES FLOTTANTS Description  Utilisation des types numériques comme float pour des montants précises
  24. 24. 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
  25. 25. ERREUR 5 UTILISATION DES CLES PRIMAIRES NATURELLES
  26. 26. ERREUR 5: UTILISATION DES CLÉS PRIMAIRES NATURELLES Description
  27. 27. 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 »
  28. 28. ERREUR 6 Ne pas utiliser forcer les contraintes sur les champs et les tables
  29. 29. 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
  30. 30. 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
  31. 31. ERREUR 7 Concevoir une base de données non localisable
  32. 32. 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
  33. 33. 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
  34. 34. ERREUR 8 Enregistrer les mots de passe en plein texte
  35. 35. ERREUR 8: ENREGISTRER LES DONNEES SENSIBLES EN CLAIR Description
  36. 36. ERREUR 8: ENREGISTRER LES DONNEES SENSIBLES EN CLAIR PROBLEMES DONNEES VISIBLES A TOUTE PERSONNE QUI AACCES AUX TABLES OU VUES DONNEES PERSONNELLES LISIBLES (MOT DE PASSE) MODIFICATIONS FACILES
  37. 37. ERREUR 9 Magic beans
  38. 38. ERREUR 9: MAGIC BEANS Description Modèles au niveau de MVC /MVVM / MVP
  39. 39. 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
  40. 40. ERREUR 10 Pauvre Documentation
  41. 41. 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é
  42. 42. 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
  43. 43. ERREUR 0 Ne pas communiquer avec un Administrateur de base de données (ADB) lors d’un projet
  44. 44. 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
  45. 45. ERREUR 0 Les applications passent mais les BD restent
  46. 46. ERREUR 0 Les applications passent mais les BD restent
  47. 47. MERCI QUESTIONS Suivez moi Blog besklein01.wordpress.com Twitter @bestklein Facebook « It always seems impossible until its done »Nelson Mandela

×