Conception de base de données. Meilleures pratiques

En prévision du début du prochain volet du cours Bases de données, nous avons préparé un petit matériel d'auteur avec des conseils importants pour la conception de la base de données. Nous espérons que ce matériel vous sera utile.




Les bases de donnĂ©es sont partout: des simples blogs et rĂ©pertoires aux systĂšmes d'information fiables et aux grands rĂ©seaux sociaux. Ce n'est pas si important, une base de donnĂ©es simple ou complexe, combien il est essentiel de la concevoir correctement. Lorsque la base est conçue de façon irrĂ©flĂ©chie et sans une comprĂ©hension claire de l'objectif, elle n'est pas seulement efficace, mais un travail ultĂ©rieur avec la base sera une vĂ©ritable forĂȘt infranchissable pour les utilisateurs. Voici quelques conseils de conception de base de donnĂ©es pour vous aider Ă  crĂ©er un produit utile et facile Ă  utiliser.

1. DĂ©terminez Ă  quoi sert la table et quelle est sa structure.




Aujourd'hui, les mĂ©thodes de dĂ©veloppement telles que Scrum ou RAD (dĂ©veloppement rapide d'applications) aident les Ă©quipes informatiques Ă  dĂ©velopper rapidement des bases de donnĂ©es. Cependant, dans la poursuite du temps, la tentation est trĂšs grande de plonger directement dans la construction de la base, imaginant vaguement quel est le but, quels devraient ĂȘtre les rĂ©sultats finaux.

Comme si l'équipe se concentre sur un travail efficace et à grande vitesse, mais c'est un mirage. Plus vous approfondissez et accélérez le projet, plus il vous faudra de temps pour identifier et modifier les erreurs dans la base du projet.

Par consĂ©quent, la premiĂšre chose Ă  dĂ©cider est de dĂ©terminer le but de votre base de donnĂ©es. Pour quel type d'application la base de donnĂ©es est-elle dĂ©veloppĂ©e? L'utilisateur ne travaillera-t-il qu'avec des enregistrements et devra-t-il prĂȘter attention aux transactions ou est-il plus intĂ©ressĂ© par l'analyse des donnĂ©es? OĂč la base doit-elle ĂȘtre dĂ©ployĂ©e? Va-t-elle suivre le comportement des clients ou simplement gĂ©rer la relation 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 doux et fluide.

2. Quelles données choisir pour le stockage?




Planifiez à l'avance. Réflexions sur ce que le site ou le systÚme fera à l'avenir pour lequel la base de données est conçue. Il est important d'aller au-delà des simples exigences des spécifications techniques. S'il vous plaßt, ne commencez pas à penser immédiatement à tous les types de données possibles que l'utilisateur stockera jamais. Mieux vaut déterminer si les utilisateurs peuvent publier, télécharger des documents ou des photos, ou échanger des messages. Si c'est le cas, dans la base de données, vous devez leur allouer de l'espace.

Travailler avec une équipe, un département ou une organisation pour lesquels la base de projet sera prise en charge à l'avenir. Connectez-vous avec des personnes à tous les niveaux, des spécialistes du service à la clientÚle aux chefs de service. Ainsi, à l'aide de commentaires, vous avez une idée claire des exigences de l'entreprise.

InĂ©vitablement, les besoins des utilisateurs au sein d'un mĂȘme service entreront en conflit. Si vous rencontrez cela, n'ayez pas peur de vous fier Ă  votre propre expĂ©rience et de trouver un compromis qui conviendra Ă  toutes les parties et satisfera l'objectif ultime de la base de donnĂ©es. Soyez sĂ»r: Ă  l'avenir, +100500 en karma et une montagne de cookies voleront vers vous.

3. Modélisez les données avec soin




Il y a plusieurs points clĂ©s Ă  considĂ©rer lors de la modĂ©lisation des donnĂ©es. Comme nous l'avons dit prĂ©cĂ©demment, cela dĂ©pend de l'objectif de la base de donnĂ©es des mĂ©thodes Ă  utiliser dans la simulation. Si nous concevons une base de donnĂ©es pour le traitement opĂ©rationnel des enregistrements (OLTP), en d'autres termes, pour les crĂ©er, les modifier et les supprimer, nous utilisons la modĂ©lisation des transactions. Si la base de donnĂ©es doit ĂȘtre relationnelle, la modĂ©lisation multidimensionnelle est la meilleure.

Pendant la simulation, des modÚles de données conceptuels (CDM), physiques (PDM) et logiques (LDM) sont créés.

Les modÚles conceptuels décrivent les entités et les types de données qu'ils incluent, ainsi que les relations entre eux. Divisez vos données en blocs logiques - c'est beaucoup plus facile à vivre.
L'essentiel est une mesure, n'en faites pas trop.

Si une entité est trÚs difficile à classer en un mot ou une phrase, il est temps d'utiliser des sous-types (entités enfants).

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, vous pouvez utiliser en toute sécurité non seulement un sous-type, mais aussi un supertype (entité parent).

Si vous négligez cette rÚgle, les autres développeurs seront confus dans votre modÚle et ne comprendront pas pleinement les données et les rÚgles, comment les collecter.

Les modĂšles conceptuels sont mis en Ɠuvre Ă  l'aide de modĂšles logiques. Ces modĂšles sont comme une feuille de route pour la conception d'une base de donnĂ©es physique. Dans le modĂšle logique, les entitĂ©s des donnĂ©es mĂ©tier sont distinguĂ©es, les types de donnĂ©es, le statut de la clĂ© de rĂšgle qui rĂ©git la relation entre les donnĂ©es sont dĂ©terminĂ©s.

Ensuite, le modÚle de données logique est comparé à la plate-forme précédemment sélectionnée du SGBD (systÚme de gestion de base de données) et le modÚle physique est obtenu. Il décrit un moyen de stocker physiquement des données.

4. Utilisez des types de données appropriés




L'utilisation d'un type de données incorrect peut entraßner des données moins précises, des difficultés à joindre des tables, à synchroniser des attributs et à gonfler la taille des fichiers.
Pour garantir l'intégrité des informations, un attribut ne doit contenir que des types de données acceptables pour lui. Si l'ùge est entré dans la base de données, assurez-vous que les nombres entiers d'un maximum de 3 chiffres sont stockés dans la colonne.

Créez un minimum de colonnes vides avec une valeur NULL. Si vous créez toutes les colonnes comme NULL, c'est une erreur. Si vous avez besoin d'une colonne vide pour effectuer une fonction métier spécifique, lorsque les données sont inconnues ou n'ont pas encore de sens, n'hésitez pas à créer. AprÚs tout, nous ne pouvons pas remplir à l'avance les colonnes «Date de décÚs» ou «Date de licenciement», nous ne sommes pas des prédicteurs pour pointer du doigt le ciel :-).

La plupart des logiciels de modélisation (ER / Studio, MySQL Workbench, SQL DBM, gliffy.com) permettent de créer des prototypes de zones de données. Cela garantit non seulement le type de données correct, la logique d'application et de bonnes performances, mais également la valeur requise.

5. Préférez le naturel




Lorsque vous décidez quelle colonne du tableau choisir comme clé, faites toujours attention aux champs que l'utilisateur peut modifier. Ne les choisissez jamais comme clé - une mauvaise idée. Tout peut arriver et vous devez garantir l'unicité.

Il est préférable d'utiliser une clé naturelle ou professionnelle. Cela a du sens, vous évitez donc les doublons dans la base de données.

Si seule la clĂ© d'entreprise n'est pas unique (nom, prĂ©nom, position) et est rĂ©pĂ©tĂ©e dans diffĂ©rentes lignes du tableau ou si elle doit ĂȘtre modifiĂ©e, la clĂ© gĂ©nĂ©rĂ©e doit ĂȘtre affectĂ©e Ă  la clĂ© de substitution artificielle gĂ©nĂ©rĂ©e (clĂ© artificielle).

6. Normaliser avec modération




Pour organiser efficacement les données dans la base de données, vous devez suivre un ensemble de recommandations et normaliser la base de données. Il y a cinq formes normales à suivre.
Grùce à la normalisation, vous évitez la redondance et assurez l'intégrité des données utilisées dans l'application ou sur le site.

Comme toujours, tout doit ĂȘtre modĂ©rĂ©, mĂȘme normalisĂ©. Si la base de donnĂ©es contient trop de tables avec les mĂȘmes clĂ©s uniques, vous vous laissez emporter et normalisez excessivement la base de donnĂ©es. Une normalisation excessive affecte nĂ©gativement les performances de la base de donnĂ©es.

7. Testez tĂŽt, testez plus souvent




Un plan de test et des 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 via l'intégration continue. Modélisez le scénario «Un jour dans la vie de la base de données» et vérifiez si tous les cas limites sont traités et quelles interactions utilisateur sont probables. Plus tÎt vous trouvez des bogues, plus vous économisez du temps et de l'argent.

Ce ne sont que sept conseils pour vous aider Ă  concevoir une excellente base de donnĂ©es de performances et d'efficacitĂ©. Si vous les suivez, vous Ă©viterez la plupart des maux de tĂȘte Ă  l'avenir. Ces conseils ne sont que la pointe de l'iceberg dans la modĂ©lisation de bases de donnĂ©es. Il existe un grand nombre de hacks de vie. Lesquels utilisez-vous?

Source: https://habr.com/ru/post/fr471016/


All Articles