base de données
Ensemble structuré de fichiers regroupant des informations ayant certains caractères en commun ; logiciel permettant de constituer et de gérer ces fichiers.
INFORMATIQUE
Fichiers et base de données
Une base de données est un ensemble structuré et organisé de données qui représente un système d'informations sélectionnées de telle sorte qu'elles puissent être consultées par des utilisateurs ou par des programmes. Ainsi, dans une grande institution comme la Bibliothèque nationale, il s'agit de l'ensemble formé par les références des ouvrages, des auteurs, des éditeurs, etc. Dans une entreprise, la base de données contient l'ensemble des données concernant les clients, les fournisseurs, les employés, les références des produits fabriqués… et permet d'établir des relations entre ces différentes entités.
Dans les années 1960, les logiciels d'entreprise portaient spécifiquement sur une application. Pour chaque langage, les fichiers étaient définis dans les programmes qui les utilisaient, et données et programmes étaient liés. Pour chaque application, les données étaient stockées dans des fichiers différents et la même donnée, par exemple l'adresse d'un fournisseur, pouvait figurer dans plusieurs fichiers de l'entreprise. Si cette adresse changeait, il fallait la modifier dans tous les fichiers existant dans l'entreprise. L'existence de fichiers créés au fur et à mesure des besoins nuisait à la cohérence et à la fiabilité des données de l'entreprise. La nécessité d'utiliser un seul fichier unifié pour toute l'entreprise est alors apparue clairement.
Contenu et modèle d'une base de données
Afin d'avoir des données fiables et structurées, cohérentes même si elles sont partagées c'est-à-dire utilisées par plusieurs programmes, on a remplacé les différents fichiers par une seule « base de données », utilisable par tous les programmes. Lorsqu'une donnée est modifiée par un programme, elle est modifiée pour tous les autres. La base de données unifie la structuration des données par un « modèle » unique et cohérent, suffisamment général pour pouvoir s'adapter à toutes les situations particulières. On distingue le modèle logique et le modèle physique de la base de données.
Le modèle logique
Le modèle logique décrit l'organisation des données au niveau conceptuel indépendamment de leur implantation physique. On distingue trois types principaux de modèles logiques de bases de données : les modèles hiérarchiques, les modèles en réseaux et les modèles relationnels.
Les modèles hiérarchiques
Les modèles hiérarchiques sont les plus anciens (1965). Les informations y sont organisées sous forme d'arborescence et ne sont accessibles que par un point d'entrée unique. Le modèle hiérarchique oblige à la redondance de certaines informations (une même information peut figurer plusieurs fois), le maintien de sa cohérence est donc très difficile et son utilisation très rigide.
Les modèles en réseaux
Dans les modèles en réseaux, il n'y a plus d'information privilégiée, les données sont organisées sous forme d'un graphe, et chaque information peut être associée à plusieurs autres. Plus riches que les modèles hiérarchiques, les modèles en réseau sont très difficiles à gérer.
Les modèles relationnels
Le modèle relationnel a été défini de manière théorique par E. Codd en 1970. Dans ce modèle, fondé sur la théorie des ensembles, les données sont représentées sous forme de valeurs dans des tables et l'accent est mis sur les relations entre les données. Totalement indépendants de l'implantation physique des données, ils ont pour avantage leur très grande simplicité de conception. Ils assurent la cohérence, la non-redondance et la sécurité des données.
Le modèle physique
Le modèle physique décrit l'organisation physique des données (implantation dans une mémoire auxiliaire, différents types de stockage, implantation partielle en mémoire…). Il peut donc exister de nombreux modèles physiques associés à un modèle logique donné.
Les systèmes de gestion de bases de données (SGBD)
Un système de gestion de bases de données est un ensemble de logiciels qui permettent de gérer une base de données. On distingue trois générations de SGBD.
Les trois générations de SGBD
La première génération, liée aux modèles hiérarchiques et en réseaux, est pratiquement abandonnée actuellement.
La deuxième génération, liée aux modèles relationnels, s'est développée à partir des années 1980. Un SGBD relationnel permet de définir le modèle logique de la base de données, et se charge automatiquement de la définition du modèle physique. Un « langage de requêtes » comme SQL (Structured Query Language) permet d'interroger et modifier la base de données. Le SGBD maintient la cohérence (ou encore l'intégrité) des données par la définition de « contraintes d'intégrité » qui évitent par exemple que deux articles différents aient les mêmes références. Le SGBD permet de définir les droits d'accès des utilisateurs aux données, différentes procédures assurant la sécurité des données et évitant que deux utilisateurs modifient en même temps les mêmes données. Les SGBD relationnels sont utilisés principalement pour les applications de gestion.
La troisième génération est en cours d'évolution. Les recherches se poursuivent pour représenter des structures très complexes, comme les bases de données géographiques, les données qui intègrent du texte, des images et des sons (par exemple les applications multimédias).