Système de gestion de bases de données (SGBD)
La conception d'un système d'information se doit d'adopter un certain nombre de principes, tels que :
une description des données indépendante des traitements,
une gestion automatique de la cohérence de données,
le recours à des langages non procéduraux structurants.
Définition : Système de Gestion de Bases de Données
Un SGBD[1] est un logiciel qui prend en charge la structuration, le stockage, la mise à jour et la maintenance d'une base de données. Il est l'unique interface entre les informaticiens et les données (définition des schémas, programmation des applications), ainsi qu'entre les utilisateurs et les données (consultation et mise à jour).
Exemple : Exemples de SGBD
Oracle est un SGBD relationnel et relationnel-objet très utilisé pour les applications professionnelles.
PostgreSQL est un SGBD relationnel puissant qui offre une alternative libre (licence BSD) aux solutions commerciales comme Oracle ou IBM.
Access est un SGBD relationnel Microsoft, qui offre une interface graphique permettant de concevoir rapidement des applications de petite envergure ou de réaliser des prototypes.
MongoDb est un SGBD non-relationnel libre (licence Apache) orienté document. Il permet de gérer facilement de très grandes quantités de données - dans un format arborescent JSON - réparties sur de nombreux ordinateurs.
Fondamental : Objectifs des SGBD
Indépendance physique des données
Le changement des modalités de stockage de l'information (optimisation, réorganisation, segmentation, etc.) n'implique pas de changements des programmes.
Indépendance logique des données
L'évolution de la structure d'une partie des données n'influe pas sur l'ensemble des données.
Manipulation des données par des non-informaticiens
L'utilisateur n'a pas à savoir comment l'information est stockée et calculée par la machine, mais juste à pouvoir la rechercher et la mettre à jour à travers des IHM ou des langages assertionnels simples.
Administration facilitée des données
Le SGBD fournit un ensemble d'outils (dictionnaire de données, audit, tuning, statistiques, etc.) pour améliorer les performance et optimiser les stockages.
Optimisation de l'accès aux données
Les temps de réponse et de débits globaux sont optimisés en fonctions des questions posées à la BD.
Contrôle de cohérence (intégrité sémantique) des données
Le SGBD doit assurer à tout instant que les données respectent les règles d'intégrité qui leurs sont imposées.
Partageabilité des données
Les données sont simultanément consultables et modifiables.
Sécurité des données
La confidentialité des données est assurée par des systèmes d'authentification, de droits d'accès, de chiffrement des mots de passe, etc.
Sûreté des données
La persistance des données, même en cas de panne, est assurée, grâce typiquement à des sauvegardes et des journaux qui gardent une trace persistante des opérations effectuées.
Complément :
Complément : SGBD relationnel et non-relationnel
Les SGBR relationnels (SGBDR) sont les plus courants des SGBD ; jusqu'au début des années 2000, la plupart des bases de données étaient relationnelles.
Mais avec l'arrivée des géants du web, ces entreprises qui gèrent des quantités énormes de données comme Google, Amazon ou Facebook, s'est développé un mouvement important de développement de bases de données non-relationnelles, également appelées NoSQL.