Un (abr. SGBD) est un logiciel système servant à stocker, à manipuler ou gérer, et à partager des données dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations.

Un SGBD (en anglais DBMS pour ) permet d'inscrire, de retrouver, de modifier, de trier, de transformer ou d'imprimer les informations de la base de données. Il permet d'effectuer des comptes rendus des informations enregistrées et comporte des mécanismes pour assurer la cohérence des informations, éviter des pertes d'informations dues à des pannes, assurer la confidentialité et permettre son utilisation par d'autres logiciels. Selon le modèle implémenté, le SGBD peut comporter une simple interface graphique, une interface de commande, ou jusqu'à des langages de programmation sophistiqués Database Management System Concepts, FK Publications, ..

Les systèmes de gestion de base de données sont des logiciels universels, indépendants de l'usage qui est fait des bases de données. Ils sont utilisés pour de nombreuses applications informatiques, notamment les guichets automatiques bancaires, les logiciels de réservation, les bibliothèques numériques, les logiciels d'inventaire, les progiciels de gestion intégrés ou la plupart des blogs et sites web. Il existe de nombreux systèmes de gestion de base de données. En 2008, Oracle détenait près de la moitié du marché des SGBD avec MySQL et Oracle Database. Vient ensuite IBM avec près de 20 %, laissant peu de place pour les autres acteursGlobal RDBMS market..

Les SGBD sont souvent utilisés par d'autres logiciels, ainsi que les administrateurs ou les développeurs. Ils peuvent être sous forme de composant logiciel, de serveur, de logiciel applicatif ou d'environnement de programmation.

En 2011, la majorité des SGBD du marché manipulaient des bases de données relationnelles.

But visé Les SGBD sont les logiciels intermédiaires entre les utilisateurs et les bases de données. Une base de données est un magasin de données composé de plusieurs fichiers manipulés exclusivement par le SGBD. Ce dernier cache la complexité de manipulation des structures de la base de données en mettant à disposition une vue synthétique du contenu Carlos Coronel, Steven Morris, Peter Rob, Database systems: design, implementation, and management, Cengage Learning, 2009 ..

L'ensemble SGBD et base de données est destiné à permettre le stockage de données d'une manière offrant de nombreux avantages par rapport à un enregistrement conventionnel dans des fichiers. Il permet d'obtenir et de modifier rapidement des données, de les partager entre plusieurs usagers. Il garantit l'absence de redondance, l'intégrité, la confidentialité et la pérennité des données tout en donnant des moyens d'éviter les éventuels conflits de modification et en cachant les détails du format de fichier des bases de données.

Les données sont enregistrées sous forme de suites de bits représentant des lettres, des nombres, des couleurs, des formes…

Le SGBD comporte différents mécanismes destinés à retrouver rapidement les données et de les convertir en vue d'obtenir des informations qui aient un sens: à l'aide du SGBD, plusieurs usagers et plusieurs logiciels peuvent accéder simultanément aux données. Le SGBD effectue les vérifications pour assurer qu'aucune personne non autorisée n'ait accès à des données confidentielles contenues dans la base de données,. Il arbitre les collisions lorsqu'il y a plusieurs modifications simultanées de la même information. Il comporte des mécanismes afin d'éviter des pertes de données à la suite d'une panne ; la redondance désigne une situation de présence de plusieurs copies de la même donnée dont la modification peut amener à des incohérences se manifestant par des copies différentes. Le SGBD vérifie — voire refuse — la présence de redondances. Le SGBD effectue également sur demande des vérifications pour assurer que les données introduites soient correctes (valeurs dans les limites admises, format correct) et que les données soient cohérentes par rapport à ce qui se trouve déjà dans la base de données ; les données sont typiquement manipulées par un logiciel applicatif qui fait appel aux services du SGBD pour manipuler la base de données. Alors qu'un logiciel applicatif qui manipule un fichier tient compte du format de données de ce fichier, un logiciel qui manipule une base de données par l'intermédiaire d'un SGBD n'a pas connaissance du format de la base de données. Les données sont présentées par le SGBD sous une forme qui cache les détails du format des fichiers dans lesquels elles sont enregistrées.

Les SGBD contemporains sont des logiciels sophistiqués nécessitant du personnel hautement qualifié, et leur utilisation entraîne souvent une augmentation substantielle des coûts liés aux licences et à la formation.

Fonctionnalités Un SGBD permet d'enregistrer des données, puis de les rechercher, de les modifier et de créer automatiquement des comptes rendus (anglais report) du contenu de la base de données. Il permet de spécifier les types de données, la structure des données contenues dans la base de données, ainsi que des règles de cohérence telles que l'absence de redondance Isrd Group, Introduction to Database Management Systems, Tata McGraw-Hill Education, 2005 ..

Les caractéristiques des données enregistrées dans la base de données, ainsi que les relations, les règles de cohérence et les listes de contrôle d'accès sont enregistrées dans un catalogue qui se trouve à l'intérieur de la base de données et manipulé par le SGBD.

Les opérations de recherche et de manipulation des données, ainsi que la définition de leurs caractéristiques, des règles de cohérence et des autorisations d'accès peuvent être exprimées sous forme de requêtes (anglais query) dans un langage informatique reconnu par le SGBD. SQL est le langage informatique le plus populaire Setrag Khoshafian, A Guide to developing client/server SQL applications, M. Kaufmann Publishers - 1992 . Mark Johansen, A Sane Approach to Database Design, Lulu.com - 2008 ., c'est un langage normalisé de manipulation des bases de données Rajesh Narang, Database Management Systems, PHI Learning Pvt. Ltd. - 2006 .. Il existe de nombreux autres langages comme le Databasic de Charles BachmanP.C. Dressen, The Data/BASIC Language - A Data Processing Language for Non-Professional Programmers, Proc SJCC 36, AFIPS, Spring 1970., Dataflex, dBase ou xBaseScript

Les bases de données peuvent être d'une taille de plusieurs téraoctets ; une taille supérieure à la place disponible dans la mémoire centrale de l'ordinateur. Les bases de données sont enregistrées sur disque dur, ceux-ci ont une capacité supérieure, mais sont moins rapides, et le SGBD est équipé de mécanismes visant à accélérer les opérations. Les SGBD contemporains enregistrent non seulement les données, mais également leur description, des formulaires, la définition des comptes rendus, les règles de cohérence, des procédures ; ils permettent le stockage de vidéos et d'images. Le SGBD manipule les structures complexes nécessaires à la conservation de ces informations.

Les SGBD sont équipés de mécanismes qui effectuent des vérifications à l'insu de l'utilisateur, en vue d'assurer la réussite des transactions, éviter des problèmes dus aux accès concurrents et assurer la sécurité des données : transactions : une transaction est une opération unitaire qui transforme le contenu de la base de données d'un état A vers un état B. La transformation peut nécessiter plusieurs modifications du contenu de la base de données. Le SGBD évite qu'il existe des états intermédiaires entre A et B en garantissant que les modifications sont effectuées complètement ou pas du tout. En cas de panne survenue durant des opérations de modification de la base de données, le SGBD remet la base de données dans l'état ou elle était au début de la transaction (état A) ; concurrence : la base de données peut être manipulée simultanément par plusieurs personnes, et le contrôle de la concurrence vérifie que ces manipulations n'aboutissent pas à des incohérences. Par exemple dans un logiciel de réservation, le SGBD vérifie que chaque place est réservée au maximum par une personne, même si des réservations sont effectuées simultanément ; sécurité des données : le choix de permettre ou d'interdire l'accès à des données est donné par des listes de contrôle d'accès, et des mécanismes du SGBD empêchent des personnes non autorisées de lire ou de modifier des données pour lesquelles l'accès ne leur a pas été accordé.

Typologie Selon leur construction et les possibilités qu'ils offrent, les SGBD peuvent être dits hiérarchiques, en réseau, relationnels, orientés objet, objet-relationnels, XML/RDF ou mixtes : hiérarchique : une base de données hiérarchique est une base de données dont le système de gestion lie les enregistrements dans une structure arborescente où chaque enregistrement n'a qu'un seul possesseur. Elle a été utilisée dans les premiers systèmes de gestion de base de données de type et a été inventée par la NASA ; réseau : le modèle de base de données en réseau permet à chaque enregistrement d'avoir plusieurs enregistrements parents et enfants, formant ainsi une structure de graphe généralisée et offrant une modélisation plus naturelle des entités que le modèle relationnel. Ce modèle est parfois appelé modèle CODASYL, du nom de l'organisme de normalisation américain qui l'a standardisé à partir de 1969 ; vignette|upright=2|modèle de données relationnel. relationnel : selon ce modèle, les données sont placées dans des tables avec lignes et colonnes et n'importe quelle donnée contenue dans la base de données peut être retrouvée à l'aide du nom de la table, du nom de la colonne et de la clé primaire. Le modèle relationnel est destiné à assurer l'indépendance des données et à offrir les moyens de contrôler la cohérence et d'éviter la redondance. Il permet de manipuler les données comme des ensembles en effectuant des opérations de la théorie des ensembles. Les règles de cohérence qui s'appliquent aux bases de données relationnelles sont l'absence de redondance ou de nul des clés primaires, et l'intégrité référentielle Thomas M. Connolly - Carolyn E. Begg, Database systems: a practical approach to design, implementation, and management, Pearson Education - 2005 .. En 2010, la majorité des SGBD sont de type relationnel : ils manipulent des bases de données conformément au modèle de données relationnel ; orienté objet et objet-relationnel : les SGBD orientés objet sont un sujet de recherche depuis 1980, lorsque sont apparus les premiers langages de programmation orientée objet. Ils sont destinés à offrir les fonctionnalités des SGBD à des langages orientés objet et permettre le stockage persistant des objets. Les objets sont manipulés en utilisant les possibilités natives des langages orientés objet et une interface de programmation permet d'exploiter les fonctionnalités du SGBD. Celui-ci est équipé des mécanismes nécessaires pour permettre l'utilisation des possibilités d'encapsulation, d'héritage et de polymorphisme des langages de programmation orientée objet Philip J. Pratt - Joseph J. Adamski, Concepts of Database Management, Cengage Learning - 2007 . Aditya Kumar Gupta, Taxonomy of Database Management System, Firewall Media - 2007 .. Les SGBD objet-relationnel offrent à la fois les possibilités des SGBD orientés objet et ceux des SGBD relationnels S. K. Singh, Database Systems: Concepts, Design and Applications, Pearson Education India - 2009 . ; à base de XML ou RDF : une base de données XML Native (NXD en anglais) est une base de données qui s'appuie sur le modèle de données fourni par XML. Elle utilise typiquement des langages de requête XML comme XPath ou XQuery. Une extension possible est une base RDF, avec le langage d'interrogation SPARQL ;