Base de données et feuille de calcul

Il est fort probable que vous avez déjà utilisé des applications de feuilles de calcul comme Calligra Sheets, LibreOffice Calc ou Microsoft® Excel. Si tel est la cas, vous vous demandez probablement : puisque qu'à la fois, les feuilles de calcul et les bases de données possèdent des tables, pourquoi devrais je utiliser la seconde ?

Lors d'une comparaison entre feuilles de calcul et bases de données, vous pourriez être conforté aux problèmes suivants que vous allez voir plus en détails plus tard.

En quoi une base de données est-elle différente d'une feuille de calcul ?

Dépassant graduellement la capacité de votre téléphone portable, agrandissez votre table Contacts en ajoutant une colonne (champ) Adresse. Ajoutez plus de numéros de téléphone (bureau, personnel) pour chaque personne et ajoutez des prénoms aux noms. Pour que cela reste plus simple, les hypothèses suivantes sont prises :

  • La table est limitée à deux personnes (évidemment, il pourrait y avoir des centaines et des milliers d'entre elles dans une base de données réelle).

  • Il ne peut y avoir deux personnes avec le même nom et prénom

Tableau 6.2. La table Contacts

Nom et prénomTelAdresse

Joan Smith

699 23 43 12

Porte Ouest 1, Varsovie

Adam Willson

711 19 77 21

Londres, Allées de France 5

Joan Smith

110 98 98 00

Western Gate 1

Smith Joan

312 43 42 22

Varsovie, Porte Ouest 1

ADAM Willson

231 83 02 04

Allée de France 5, Londres


Une telle table peut être faite dans un tableur ou une application de base de données. Utiliser un tableur est très facile, bien sûr. Mais quels sont les problèmes que l'on peut rencontrer à ce stade ?

Référentiel d'intégrité des données

Supposez que vous utilisiez une feuille de calcul et que vous aviez besoin de modifier l'adresse d'au moins une personne. Vous avez un petit problème : vous avez souvent à modifier l'adresse dans plusieurs lignes. Par exemple, Joan se trouve sur trois lignes. Un problème réel surviendra si vous oubliez de modifier l'une des trois ligne. L'adresse associée à cette personne sera ambiguë, d'où une perte d'intégrité pour vos données.

De plus, il n'y a aucun moyen simple de supprimer une personne donnée de la table, puisque vous devez vous retrouver toutes les lignes liées à cette personne pour les supprimer.

Redondance des données

Ceci est directement lié au problème précédent. Dans les champs « Nom et prénom » et « Adresse », les même données sont saisies plusieurs fois. Ceci est classique de la façon peu efficace qu'ont les feuilles de calcul d'enregistrer les données car la base de données croît inutilement, nécessitant ainsi plus de ressources de votre ordinateur (taille plus grande des données et accès plus lent).

Comment pouvez vous résoudre ces problèmes avec une base de données ? Vous pouvez séparer les informations en des morceaux plus petits en créant une table additionnelle Personnes possédant deux colonnes : Nom et prénom et Adresse :

Tableau 6.3. Tables des personnes

Nom et prénomAdresse

Joan Smith

Porte Ouest 1, Varsovie

Adam Willson

Allée de France 5, Londres


Chaque ligne dans la table Personnes correspond à une personne unique. La table Contacts est à partir de maintenant en relation avec la table Personnes.

Intégrité et validité des données

Veuillez noter la façon dont les données sont saisies dans les champs Nom et prénom et Adresse. Les personnes saisissant ces données peuvent se tromper ou même parfois être négligentes. Dans nos exemples de données, nous avons deux différentes manières pour saisir des noms et des prénoms (Joan Smith et Smith Joan, Adam et ADAM) et encore plus de manières de saisir la même adresse. Vous pouvez sûrement en imaginer bien d'autres.

Le problème ci-dessus montre, par exemple, que lors de la recherche du numéro de téléphone associé à l'adresse « 4 Rue des Lilas, Paris », vous n'obtiendrez pas un résultat complet. Vous n'obtiendrez qu'une seule ligne au lieu de trois. De plus, vous ne trouverez pas aussi, les numéro de téléphone en recherchant la valeur « Joan Smith » dans le champ Nom et prénom, car « Smith Joan » ne correspond pas à « Joan Smith ».

Comme pouvez vous résoudre ces problèmes en utilisant une base de données ? Vous pouvez le faire en modifiant la conception de la table Personnespar :

  1. Séparant les données du champ Nom et Prénom en deux champs séparés : Nom et Prénom.

  2. Séparant les données du champ Adresse en trois champs séparés : Rue, Numéro-Rue et Ville.

  3. Garantie sur l'exactitude des données : en vous assurant qu'il ne peut y avoir de champs vides, par exemple vous devez toujours saisir un numéro de rue.

La nouvelle version de la table ressemble à cela :

Tableau 6.4. Tables des personnes

NomNomRueNuméroVille

Joan

Smith

Western Gate

1

Varsovie

Adam

Willson

Allée de France

5

London

Conditions

    

Champs requis

Champs requis

Champs requis

Champs requis

Champs requis


Grâce à l'introduction du champ de condition requis, on peut être sûr que toutes les données ont été complètement saisies. Pour d'autres tables, vous pourriez, bien sûr, permettre de ne pas remplir certains champs lors de la saisie de données.

Limitation de l'affichage des données

Un tableur affiche toutes les lignes et toutes les colonnes de la table, ce qui est encombrant pour de très grandes tables. Vous pouvez bien sûr filtrer et trier les lignes dans les feuilles, mais vous devrez être très soigneux. Les utilisateurs de tableurs risquent d'oublier que leur données ont été filtrées, ce qui conduire à des erreurs. Par exemple, en calculant des sommes, vous pouvez croire que vous avez 100 lignes de données alors qu'en fait il y en a 20 de plus, cachées.

Si vous voulez travailler sur une sous-ensemble réduit de données, par exemple pour l'envoyer vers d'autres personnes pour modifications, vous pouvez le copier et coller vers une autre feuille de calcul et après modifications, coller en retour les données modifiées vers la feuille de calcul initiale. Ce type de modifications « manuel » peut causer des pertes de données ou des calculs erronés.

Pour restreindre l'affichage des données, les applications de bases de données mettent à disposition, les requêtes, les formulaires et les rapports.

Une façon très pratique de limitation est la version étendue suivante de la table décrite précédemment Personnes :

Tableau 6.5. Tables des personnes

NomNomRueNuméroVilleRevenus

Joan

Smith

Western Gate

1

Varsovie

2300

Adam

Willson

Allée de France

5

London

1900


Prenons l'hypothèse que la colonne nouvellement insérée « Revenus » contienne des données confidentielles. Comment pouvez vous partager par exemple les informations de contact détaillées des personnes, à vos collègues mais sans leur montrer leurs revenus ? Ceci est possible si vous partagez uniquement une requête mais pas la table complète. La requête pourra sélectionner toutes les colonnes sauf celle de « Revenus ». Dans le monde des bases de données, une telle requête est souvent dénommée une vue.

Performance et capacité

Votre ordinateur est probablement assez rapide, mais vous verrez facilement que cela ne suffit pas pour des feuilles de calcul grandes et lentes. Leur faible efficacité est tout d'abord due au manque d'index accélérant le processus de recherche de données (les bases de données les proposent). De plus, si vous vous servez de systèmes comme le presse-papier de votre système d'exploitation, même la copie de données peut causer des problèmes au bout d'un moment.

les feuilles de calcul contenant de grands ensembles de données peuvent prendre énormément de temps à s'ouvrir. Un tableur charge beaucoup de données dans la mémoire de l'ordinateur au cours de l'ouverture. La plus grande partie de ces données chargées en mémoire est probablement inutile pour vous à cet instant. Au contraire, les bases de données ne vont chercher les données sur le lieu de stockage de l'ordinateur que si cela est nécessaire.

Dans la plupart des cas, vous n'avez pas à vous soucier de la manière dont la base de données stocke ses données. Cela signifie que contrairement aux tableurs, les bases de données ne se préoccupent pas de :

  • L'ordre des lignes, puisque vous pouvez les ordonner selon vos besoins. De plus, vous pouvez afficher les mêmes données dans différents ordres avec différentes vues.

  • Cela vaut aussi pour les colonnes (champs) de la table.

En conjonction avec Limitation dans l'affichage de données décrit dans le paragraphe précédent, ces qualités constituent un avantage des bases de données.

Entrée des données

les plus récentes des applications pour créer des feuilles de calculs vous permettent de concevoir des formulaires d'entrée de données. De tels formulaires sont très utiles si vos données ne peuvent pas être affichées de manière convenable en mode tableau, par exemple si le texte occupe de trop nombreuses lignes ou s'il y a trop de colonnes pour les afficher toutes à l'écran.

Dans ces situations, la façon même dont les tableurs fonctionnent est problématiques. Les champs pour l'entrée des données sont placés de manière imprécise dans la feuille de calcul et très souvent ne sont pas protégés contre les interventions de l'utilisateur (intentionnelles ou accidentelles).

Rapports

Les bases de données permettent le regroupement, le filtrage et la compilation de données dans un formulaire de rapport. Les feuilles de calcul sont généralement imprimées dans un formulaire de petites tables, sans un contrôle automatique complet sur le découpage en pages et sur la disposition des champs.

Programmation

Les applications permettant de créer des bases de données comportent souvent des langages de programmation complets. Les tableurs les plus récents ont aussi cette capacité mais les actions se résument à la modification des champs de la feuille de calcul et à copier des données, sans se soucier des règles de pertinence et d'intégrité mentionnées dans les paragraphes précédents.

Dans un tableur, on manipule le plus souvent les données grâce à une interface graphique, qui peut causer des ralentissements dans ce traitement. Les bases de données sont capables de travailler un arrière-plan, sans nécessiter d'interface graphique.

Accès concurrent

La manipulation par plusieurs utilisateurs en même temps d'une même feuille de données paraît difficile à imaginer. Même si c'est techniquement possible dans les tableurs les plus récents, cela exige énormément de discipline et de connaissances de la part des utilisateurs, ce qu'on ne peut jamais garantir.

Un méthode classique de partage de données enregistrées dans un tableur est d'envoyer tout le fichier (habituellement par courrier électronique) ou distribuer le fichier sur un réseau. Cette façon de travailler n'est pas efficace pour de grands groupes d'utilisateurs – les données dont on a besoin à un instant donnée sont peut être verrouillées par une autre personne.

Au contraire, les concepteurs des bases de données pensaient principalement à un accès distribué entre plusieurs utilisateurs. Même les versions les plus simples peuvent verrouiller les données

Sécurité

Sécuriser une feuille de calcul ou une de ses parties par un mot de passe n'a qu'une activité symbolique. Après avoir fourni le fichier sur un réseau, toutes les personnes capables de copier le fichier peuvent essayer de casser la protection. Dans certains cas, c'est même relativement facile car le mot de passe est stocké dans le même fichier que la feuille de calcul.

Les fonctionnalités permettant de restreindre l'édition ou la copie d'une feuille de calcul ou d'une partie d'une feuille sont aussi faciles à contourner.

Les bases de données (à part celles enregistrées sur un fichier au lieu d'un serveur) n'ont pas besoin d'être disponibles dans un seul fichier. On y accède par un réseau informatique, le plus souvent en fournissant un nom d'utilisateur et un mot de passe. On n'a donc accès qu'aux zones (tables, formulaires, ou même seulement certaines lignes et colonnes) qui ont été assignées en choisissant des droits d'accès appropriés.

Les droits d'accès peuvent affecter la capacité d'éditer les données ou de les lire. Si une donnée n'est pas accessible, elle ne sera même pas envoyée à l'ordinateur donc ce ne sera pas possible d'en faire une copie aussi facilement qu'avec une feuille de calcul.