Avant le lancement d'un nouveau cycle du cours , nous avons préparé un petit article original avec d'importants conseils sur la conception de bases de données. Nous espérons que ce document vous sera utile.

Les bases de donnĂ©es sont omniprĂ©sentes : des blogs simples et des annuaires aux systĂšmes d'information fiables et aux grands rĂ©seaux sociaux. Peu importe qu'une base de donnĂ©es soit simple ou complexe, l'essentiel est de la concevoir correctement. Lorsqu'une base est conçue sans rĂ©flexion et sans comprĂ©hension claire de son objectif, elle n'est pas seulement inefficace, mais la gestion ultĂ©rieure de la base devient un vĂ©ritable supplice, une forĂȘt impĂ©nĂ©trable pour les utilisateurs. Voici quelques conseils pour concevoir une base de donnĂ©es qui aideront Ă crĂ©er un produit utile et facile Ă utiliser.
1. Déterminez l'objectif de la table et sa structure

Aujourd'hui, des méthodes de développement telles que Scrum ou RAD (développement rapide d'applications) aident les équipes informatiques à concevoir rapidement des bases de données. Cependant, dans la course contre la montre, il y a un grand risque de se plonger immédiatement dans la construction de la base, en ayant une idée vague de l'objectif réel et des résultats attendus.
Â
C'est comme si l'équipe visait une efficacité rapide, mais ce n'est qu'un mirage. Plus on s'enfonce rapidement dans le projet, plus il faudra de temps pour identifier et corriger les erreurs de conception de la base.
C'est pourquoi la premiĂšre chose Ă faire est de dĂ©finir l'objectif de votre base de donnĂ©es. Pour quel type d'application la base est-elle conçue ? L'utilisateur se contentera-t-il de travailler avec des enregistrements et faut-il prĂȘter attention aux transactions, ou est-ce que l'analyse des donnĂ©es l'intĂ©resse davantage ? OĂč la base doit-elle ĂȘtre dĂ©ployĂ©e ? Va-t-elle suivre le comportement des clients ou simplement gĂ©rer les relations entre eux ?Â
Plus tÎt l'équipe de conception répondra à ces questions, plus le processus de conception de la base de données sera fluide et harmonieux.
2. Quelles données choisir pour le stockage ?

Planifiez à l'avance. Pensez à ce que le site ou le systÚme, pour lequel la base de données est conçue, fera à l'avenir. Il est important de penser au-delà des simples exigences du cahier des charges. Mais surtout, ne commencez pas à réfléchir tout de suite à tous les types de données que l'utilisateur pourrait un jour stocker. Réfléchissez plutÎt à la possibilité pour les utilisateurs de publier des articles, de télécharger des documents ou des photos, ou d'échanger des messages. Si c'est le cas, votre base doit prévoir de l'espace pour cela.
Travaillez avec l'Ă©quipe, le dĂ©partement ou l'organisation qui soutiendra le projet de base de donnĂ©es Ă l'avenir. Communiquez avec des personnes de diffĂ©rents niveaux, depuis les spĂ©cialistes du service client jusqu'aux chefs de dĂ©partement. GrĂące Ă ce retour d'information, vous obtiendrez une image claire des exigences de l'entreprise.Â
InĂ©vitablement, les besoins des utilisateurs au sein d'un mĂȘme dĂ©partement entreront en conflit. Si vous ĂȘtes confrontĂ© Ă cela, n'hĂ©sitez pas Ă vous appuyer sur votre propre expĂ©rience et Ă trouver un compromis qui convienne Ă toutes les parties tout en satisfaisant l'objectif final de la base de donnĂ©es. Soyez assurĂ© : Ă l'avenir, cela vous rapportera +100500 en karma et une montagne de cookies.
3. Modélisez les données avec prudence

Il y a plusieurs points clĂ©s Ă considĂ©rer lors de la modĂ©lisation des donnĂ©es. Comme nous l'avons dĂ©jĂ mentionnĂ©, le but de la base de donnĂ©es influence les mĂ©thodes Ă utiliser pour la modĂ©lisation. Si nous concevons une base de donnĂ©es pour le traitement opĂ©rationnel des enregistrements (OLTP), en d'autres termes pour leur crĂ©ation, modification et suppression, nous utiliserons la modĂ©lisation transactionnelle. Si la base de donnĂ©es doit ĂȘtre relationnelle, il est alors prĂ©fĂ©rable d'appliquer la modĂ©lisation multidimensionnelle.
Lors de la modĂ©lisation, nous construisons des modĂšles conceptuels (CDM), physiques (PDM) et logiques (LDM).Â
Les modĂšles conceptuels dĂ©crivent les entitĂ©s et les types de donnĂ©es qu'elles incluent, ainsi que les relations entre elles. Divisez vos donnĂ©es en morceaux logiques â cela facilitera grandement votre travail.
L'essentiel est la mesure, ne soyez pas trop zélé.
Si une entité est trÚs difficile à classer par un mot ou une phrase, il est temps d'utiliser des sous-types (entités filles).
Si une entitĂ© mĂšne sa propre vie, possĂšde des attributs qui dĂ©crivent son comportement et son apparence, ainsi que des relations avec d'autres objets, alors on peut utiliser non seulement le sous-type, mais aussi le supertype (entitĂ© parente).Â
Si vous ignorez cette rÚgle, d'autres développeurs seront confus par votre modÚle et ne comprendront pas entiÚrement les données et les rÚgles de leur collecte.
Les modÚles conceptuels sont réalisés à l'aide de modÚles logiques. Ces modÚles servent de feuille de route pour concevoir la base de données physique. Dans le modÚle logique, les entités des données métier sont identifiées, les types de données sont définis, ainsi que le statut clé des rÚgles qui régulent les relations entre les données.
Ensuite, le modÚle logique de données est associé à la plate-forme SGBD (systÚme de gestion de base de données) choisie à l'avance, et on obtient le modÚle physique. Il décrit la maniÚre de stocker physiquement les données. gestion des bases de données4. Utilisez des types de données appropriés.
L'utilisation d'un mauvais type de données peut entraßner des données moins précises, des difficultés à joindre les tables, à synchroniser les attributs et à gonfler les tailles de fichiers.

Pour garantir l'intégrité des informations, un attribut doit contenir uniquement des types de données acceptables pour lui. Si vous introduisez l'ùge dans la base de données, veillez à ce que la colonne contienne des entiers d'un maximum de 3 chiffres.
Créez un minimum de colonnes vides avec la valeur NULL. Si vous créez toutes les colonnes comme NULL, c'est une grave erreur. En revanche, si vous avez besoin d'une colonne vide pour exécuter une fonction métier spécifique, lorsque les données sont inconnues ou n'ont pas encore de sens, alors créez-la sans hésitation. En effet, nous ne pouvons pas remplir à l'avance les colonnes "Date de décÚs" ou "Date de départ", nous ne sommes pas des prophÚtes pour prédire l'avenir :-).
La plupart des logiciels de modélisation (ER/Studio, MySQL Workbench, SQL DBM, gliffy.com) permettent de créer des prototypes de domaines de données. Cela garantit non seulement le bon type de données, la logique de l'application et de bonnes performances, mais aussi l'attribution obligatoire de valeurs.
5. Préférez le naturel..La) données permet de créer des prototypes de zones de données. Cela garantit non seulement le bon type de données, la logique de l'application et de bonnes performances, mais aussi l'assignation obligatoire de valeurs.
5. Privilégiez le naturel

Lorsque vous dĂ©cidez quelle colonne dans une table choisir comme clĂ©, faites toujours attention aux champs que l'utilisateur peut modifier. Ne les choisissez jamais comme clĂ© â c'est une mauvaise idĂ©e. Il peut se passer n'importe quoi, et vous devez garantir l'unicitĂ©.
Il est prĂ©fĂ©rable d'utiliser une clĂ© naturelle ou mĂ©tier (natural key). Cela a une signification sĂ©mantique, vous Ă©vitez ainsi la duplication dans la base de donnĂ©es.Â
Si seule la clĂ© mĂ©tier n'est pas unique (nom, prĂ©nom, fonction) et se rĂ©pĂšte dans diffĂ©rentes lignes de la table ou doit ĂȘtre modifiĂ©e, alors il vaut mieux dĂ©signer une clĂ© artificielle, gĂ©nĂ©rĂ©e (artificial key) comme clĂ© primaire.
6. Normalisez avec modération

Pour organiser efficacement les données dans la base de données, il est nécessaire de suivre un ensemble de recommandations et de normaliser la base de données. Il existe cinq formes normales à respecter.
Grùce à la normalisation, vous éviterez la redondance et garantirez l'intégrité des données utilisées dans l'application ou sur le site.
Comme toujours, tout doit ĂȘtre fait avec modĂ©ration, mĂȘme la normalisation. Si la base de donnĂ©es contient trop de tables avec des clĂ©s uniques identiques, vous avez dĂ©passĂ© les limites et trop normalisĂ© la base de donnĂ©es. Une normalisation excessive a un impact nĂ©gatif sur les performances de la base de donnĂ©es.
7. Testez tĂŽt, testez souvent

Le plan de test et les tests appropriés doivent faire partie de la conception de la base de données.
Il est préférable de tester la base de données par le biais de l'intégration continue (Continuous Integration). Modélisez le scénario 'Une journée dans la vie de la base de données' et vérifiez si tous les cas limites sont pris en compte, quelles sont les interactions utilisateur probables. Plus vous trouverez de bogues tÎt, plus vous économiserez de temps et d'argent.
Ce ne sont lĂ que sept conseils qui vous permettent de concevoir une excellente base de donnĂ©es en termes de performances et d'efficacitĂ©. Si vous suivez ces conseils, vous Ă©viterez la plupart des maux de tĂȘte Ă l'avenir. Ces conseils ne sont que la partie Ă©mergĂ©e de l'iceberg en matiĂšre de modĂ©lisation de bases de donnĂ©es. Il existe une multitude de hacks. Lesquels utilisez-vous ?
Source : habr.com
