Système de Gestion de Bases de Données

I. Notion de SGBD et caractéristiques

A. Définition

Nombreux sont les logiciels informatiques nécessitant une base de données. Afin de ne pas réinventer la roue à chaque fois, des logiciels dédiés à la gestion de bases de données ont été développés. La plupart de ces logiciels gèrent des bases de données relationnelles. Ils sont en général implantés sous la forme d'un logiciel serveur indépendant (pouvant tourner sur la même machine que le logiciel, ou bien sur une autre machine). On appelle ces logiciels des Systèmes de Gestion de Bases de Données (SGBD).

B. Caractéristiques

Les SGBD doivent proposer un certain nombre de caractéristiques :

II. Quelques exemples de SGBD

Il y a de nombreux SGBD sur le marché, avec leur avantages et leurs défauts. Voici une présentation sommaire des plus connus :

Oracle
La référence en terme de SGBD relationnel professionnel. Une version gratuite existe depuis quelques années. Un peu lourd, pas en avance sur les évolutions, mais le plus robuste, le plus contrôlable à de nombreux points de vue.
MySql
Le plus connu depuis le développement des sites web. C'est un SGBD relativement léger, gratuit, de plus en plus complet - surtout depuis son rachat par Oracle - mais avec certains défauts. Notamment, dans ses premières versions, il ignorait totalement les contraintes de référence. Il manque aussi d'un certain nombre de fonctionnalités nécessaire au développement d'une base de qualité.
PostGres
Un excellent compromis entre Oracle et MySql. Très fiable et efficace, moins lourd à administrer qu'Oracle et plus en avance sur certaines fonctionnalités, gratuit : de nombreuses entreprises se sont mises à l'utiliser
Sql Server
Le SGBD de microsoft. Je ne le connais pas assez pour en parler
Access
Le SGBD pour les nuls de Microsoft. Beaucoup hésitent à le classer dans les SGBD. Mais pour une utilisation non professionnelle, il dépanne bien.
Libre Office Base
Le SGBD pour les nuls Open Source. Beaucoup hésitent à le classer dans les SGBD. Mais pour une utilisation non professionnelle, il dépanne bien.

Tous ces SGBD fonctionnant sous la forme de serveurs, leur utilisation nécessitent plusieurs choses :

Pour simplifier les choses, dans le cadre de ce cours, nous avons choisi d'utiliser SQLite (version 3). C'est une sorte de SGBD dédiée aux bases de données embarquées dans l'application. En effet, aucun logiciel serveur n'est nécessaire, et il n'y a donc pas d'installation à faire. C'est un SGBD qui est par exemple très utilisée dans les applications mobiles. Il existe une bibliothèque dédiée dans Python : sqlite3.