Une base de données est une structure qui contient de très grandes quantités d'informations.
Le fait de devoir gérer de très grandes quantités d'informations nous imposent 4 besoins
Signifie "Système de Gestion de Base de Données". C'est une organisation des informations qui permet de remplir les 4 besoins précédents.
En principe, rien n'oblige à ce que le SGBD soit un logiciel. En pratique, avec les coûts assez bas et la quantité grandissante des besoins, les SGBD sont tous des logiciels. Exemple : Access (Microsoft Office), Oracle (très puissant et assez couteux pour un individu), MySql (Oracle, gratuit), Derby (Apache, gratuit).
La logique utilisée par les sgbd pour remplir leurs fonctions est de diviser les données en structures très formelles et homogènes, qui peuvent être contenues dans un tableau. Toutes les données non homogènes doivent être regroupées dans un autre ou plusieurs autres tableaux.
La souplesse des sgbd vient de leur capacité à relier les différents tableaux.
De plus, les SGBD mettent à la disposition des développeurs différents outils pour travailler les données, tel qu'illustré dans la figure suivante:
En pratique, il est fréquent que les accès à la base de données se fassent de façon concurrente, i.e. que plusieurs utilisateurs peuvent faire des enregistrements ou des modifications en même temps.
Avec Windows (mais pas avec UNIX), lorsqu'un programme ouvre un fichier, Windows fait un "lock" sur le fichier ouvert pour interdire les accès concurrents. Les utilisateurs suivants doivent ouvrir le fichier en mode "Lecture seulement". Au contraire, il est possible d'utiliser ce mode sans problème avec les SGBD.