Les feuilles de calcul - Excel, Google Sheets ou une feuille de tout autre nom - sont des outils vraiment sympas et puissants. Mais alors, les bases de données le sont aussi. Quand faut-il s'en tenir à une feuille de calcul ? Quand faut-il passer à une base de données ?
Ceci est la suite de mon article précédent « Feuilles de calcul vs bases de données :est-il temps de changer ? où nous avons discuté des inconvénients les plus courants de l'utilisation de feuilles de calcul pour organiser de nombreuses données. Dans cet article, nous allons découvrir comment une base de données résout ces problèmes.
Utiliser une base de données pour organiser les données
Ma devise est « utilisez la technologie appropriée à vos besoins ». Si vous pouvez gérer votre entreprise via des feuilles de calcul, c'est parfait ! Si vous avez besoin d'une base de données simple, MS Access n'est pas une mauvaise option. Mais si ces produits ne fonctionnent pas pour vous, vous aurez probablement besoin d'une base de données personnalisée et d'une application Web. La base de données stockera vos données; l'application Web sera un moyen convivial d'interagir avec la base de données et de communiquer avec la couche de données.
Notre entreprise de services fictive n'était pas très compliquée, nous avons donc pu l'alimenter à l'aide d'un modèle de données assez simple. Si vous regardez l'image ci-dessous, vous verrez que tout ce dont nous avons besoin est stocké dans seulement cinq tables :client_type
, client
, service
, replacement
, et has_service
.
Une règle clé de la conception de bases de données consiste à conserver les données réelles associées au même endroit . Dans ce cas, nous conserverons tous nos client
données dans la table client. De cette façon, nous éviterons de stocker les mêmes données à plusieurs endroits (le mauvais type de redondance mentionné précédemment). Si nous modifions quoi que ce soit lié à un client, nous le ferons une seule fois, dans ce tableau. Cela améliorera considérablement la qualité des données et sera bon pour les performances.
Le tableau suivant qui contient des données du monde réel est le service
table. Encore une fois, nous pouvons stocker tous les détails liés à nos services ici et nous pouvons apporter des modifications aux données assez efficacement.
Le client
table et le service
table sont des entités du monde réel qui pourraient exister sans l'autre. Cependant, créer une base de données avec des entités non liées n'a pas trop de sens - c'est comme avoir des clients sans produits ou des services sans acheteurs. Nous allons donc relier ces deux tables à l'aide du has_service
table. Pour stocker des informations sur les clients qui ont quel service, nous utiliserons des clés étrangères qui agissent comme des références à ce client et à ce service. Ces clés étrangères pointent vers des enregistrements dans les tables service et client. Nous pouvons également conserver toute information supplémentaire liée à chaque relation client-service dans ce tableau.
Le client_type
table est utilisée comme un dictionnaire qui stocke tous les types de clients possibles. Il est préférable de conserver différentes segmentations dans des tables de dictionnaire distinctes (par exemple, si nous avions des types de clients et des types de rôles d'employés, nous les stockerions dans des tables différentes). Cependant, nous n'avons besoin que d'un seul tableau car il s'agit d'un modèle simple.
La dernière table de notre modèle est le replacement
table. Nous l'utiliserons pour relier deux services :un service que nous voulons remplacer et le service de remplacement. Cela nous donne la flexibilité d'offrir aux clients des remplacements pour les services existants (un peu comme passer d'un forfait d'appels mobiles à un autre).
Avantages de la base de données
Les bases de données sont plus compliquées à mettre en place que les feuilles de calcul, mais cela leur donne en fait des avantages significatifs en termes d'intégrité et de sécurité des données :
Clés et contraintes
Les bases de données ont des règles et des contrôles intégrés qui, s'ils sont utilisés correctement, préviendront la plupart des problèmes de qualité et de performances des données. Les clés primaires (colonnes qui identifient de manière unique chaque enregistrement dans une table) et les clés étrangères (colonnes qui font référence à un enregistrement dans une autre table) sont essentielles à la sécurité des données, mais définir des clés alternatives ou UNIQUES (qui contiennent des données uniques à chaque enregistrement dans une table ) est également très utile.
Dans les bases de données relationnelles, les clés relient les données de différentes tables. La clé primaire de la table est toujours UNIQUE, tandis qu'une clé étrangère fait référence à la clé primaire d'une autre table. Cette référence relie les données de ces deux tables (par exemple, les clés étrangères dans le has_service
tableau relie les données des clients aux services dont ils disposent). Il nous avertira également si nous sommes sur le point de supprimer une clé primaire référencée dans une autre table. Cela nous empêchera de supprimer les enregistrements qui sont encore nécessaires (comme références) dans une autre table.
Les contraintes définissent le type de données pouvant être saisies dans un champ. Nous pouvons spécifier que les données doivent avoir une valeur (NOT NULL), définir un format pour les numéros de téléphone, contenir uniquement des lettres, etc. Cela signifie que nous pouvons éviter les problèmes de données lorsque des personnes saisissent le mauvais type de données dans un champ.
Sécurité et autorisations
Une autre fonctionnalité très importante de la base de données est le contrôle de l'accès à vos données . Cela vous donne la possibilité de définir non seulement qui peut accéder à votre base de données, mais également de contrôler ce qu'ils peuvent voir ou modifier. C'est une partie importante de la sécurité des données. Par exemple, vous pouvez définir un rôle d'utilisateur qui permettrait à un employé de modifier les détails du client mais pas les détails du service. Vous pouvez également définir des règles sur lesquelles les employés peuvent modifier ou supprimer des données. C'est une bonne pratique standard de s'assurer que les gens n'ont accès qu'aux données dont ils ont besoin pour faire leur travail.
Bien sûr, nous pourrions essayer de recréer ces fonctionnalités dans des feuilles (au moins d'une certaine manière), mais ce serait certainement "réinventer la roue".
Ne pourrions-nous pas simplement utiliser une feuille de calcul ?
Bien sûr que nous pourrions. Nous pourrions créer des feuilles qui suivent le même modèle utilisé dans le modèle de données. Cela résoudrait de nombreux problèmes de données, mais…
Répliquer le modèle de données dans des feuilles n'est certainement pas une option idéale. Nous perdrions tous les avantages que nous offre le système de base de données, toutes les règles et contraintes qui maintiennent les données « saines », tout ce qui empêche les suppressions accidentelles et autres erreurs. Nous perdrions en optimisation et, si l'ensemble de données était suffisamment volumineux, les performances en souffriraient.
Même si nous avons résolu ce problème, qu'en est-il du partage de données, par ex. avoir plusieurs utilisateurs utilisant la même feuille en même temps ? Quels problèmes d'intégrité des données et de performances cela entraînerait-il ? Ce serait le contraire de garder les choses simples.
Donc, si vous pensez que les feuilles ne peuvent pas répondre aux besoins de votre entreprise, vous vous dirigez probablement déjà vers une base de données. Si vous vous retrouvez coincé avec des données stockées dans des feuilles et que vous souhaitez passer à une base de données, vous devez :
- Créez un modèle de base de données qui stocke vos données de manière optimale.
- Créez une application avec la base de données en arrière-plan.
- Effacez vos données, transformez-les (si nécessaire) et importez-les dans la base de données.
- Continuez à travailler uniquement avec la base de données.
Lequel choisir :tableur ou base de données ?
Dans l'article d'aujourd'hui, nous avons appris comment une base de données résout les problèmes liés à l'utilisation de feuilles pour organiser de nombreuses données. Mon conseil est de toujours choisir la solution la plus simple à votre problème . Si les feuilles de calcul font le travail correctement, utilisez-les. Mais si vous êtes une entreprise axée sur les données, vous devriez commencer à utiliser une base de données dès que possible. Plus vous attendez pour nettoyer et migrer vos données, plus le processus sera pénible.