En informatique, une base de données (Abr. : « BD » ou « BDD ») est un stock d'informations organisé et structuré de manière à pouvoir être facilement manipulé et stocker efficacement de très grandes quantités d'informations[1].
L'organisation logique des données se fait selon un modèle de données. La structure physique des fichiers comporte des index destinés à accélérer les opérations de recherche et de tri. Le modèle de données relationnel est aujourd'hui le plus utilisé parce qu'il permet l'indépendance entre la structure physique et l'organisation logique des données – contrairement aux modèles hiérarchique et réseau.
Dans le langage courant, le terme base de données est utilisé pour désigner toute source importante de données telle qu'une encyclopédie[2]. Les bases de données sont classées en fonction de leur contenu : bibliographique, texte, numérique, et images.
Le logiciel qui manipule les bases de données est appelé système de gestion de base de données (SGBD). Il permet d'organiser, de contrôler, de consulter et de modifier la base de données. Les opérations sont parfois formulées dans un langage de requête tel que SQL – le plus connu et employé pour les modèles relationnels.
Le modèle de données [modifier]
Modèle de données relationnel
Les informations sont généralement classées par nature connexes (exemple : dossier médical ; patient ; médecin ; consultations ; médicaments). Les données sont réunies en petits groupes appelés enregistrements. À chaque enregistrement correspond une entité, c'est-à-dire une notion concrète ou abstraite.
Le modèle de données est l'organisation sémantique des différentes entités stockées dans une base de données. (Voir aussi schéma conceptuel.)
* Dans un modèle de données hiérarchique, les différentes entités sont reliées entre elles par des relations père-fils selon un diagramme en arbre.
* Dans un modèle réseau, les différentes entités sont reliées entre elles par des relations de-à, selon une organisation arbitraire.
Un système de gestion de base de données est un ensemble de logiciels qui manipulent le contenu des bases de données. Il sert à effectuer les opérations ordinaires telles que rechercher, ajouter ou supprimer des enregistrements (Create, Read, Update, Delete abrégé CRUD), manipuler les indexes, créer ou copier des bases de données.
Les mécanismes du système de gestion de base de données visent à assurer la cohérence, la confidentialité et la pérennité du contenu des bases de données. Le logiciel refusera qu'un usager modifie ou supprime une information si il n'a pas été préalablement autorisé ; il refusera qu'un usager ajoute une information si celle-ci existe dans la base de données et fait l'objet d'une règle d'unicité; il refusera également de stocker une information qui n'est pas conforme aux règles de cohérence telles que les règles d'intégrité référentielle dans les bases de données relationnelles.
Le système de gestion de base de données adapte automatiquement les indexes lors de chaque changement effectué sur une base de données et chaque opération est inscrite dans un journal contenu dans la base de données, ce qui permet d'annuler ou de terminer l'opération même en cas de crash informatique et ainsi garantir la cohérence du contenu de la base de données.
En 2009, IBM DB2, Oracle Database et Microsoft SQL Server sont les principaux systèmes de gestion de base de données sur le marché.