Loading AI tools
De Wikipédia, l'encyclopédie libre
Un système de gestion de base de données (abrégé SGBD) est un ensemble de logiciels qui sert à la manipulation des bases de données. Il sert à effectuer des opérations ordinaires telles que consulter, modifier, construire, organiser, transformer, copier, sauvegarder ou restaurer des bases de données. Il est souvent utilisé par d'autres logiciels ainsi que les administrateurs ou les développeurs.
Le composant central est le moteur de base de données. L'ensemble peut servir de composant logiciel, de serveur, de logiciel applicatif ou d'environnement de programmation. Il permet généralement à plusieurs utilisateurs et plusieurs logiciels de manipuler plusieurs bases de données en même temps et ceci quel que soit le contenu et l'organisation des bases de données.
La majorité des SGBD manipulent des bases de données relationnelles.
Les premiers systèmes de gestion de base de données ont été créés dans les années 1960, cette technologie s'est répandue dès les années 1970. Le consortium CODASYL a été formé dans les années 1960 en vue de produire des normes et standards en rapport avec les SGBD. Le consortium CODASYL est à l'origine de diverses normes en rapport avec le langage de programmation COBOL, un langage créé en 1965, axé sur la manipulation des bases de données.
Le modèle de données relationnel a été créé en 1970. Les premiers SGBD qui manipulent des bases de données relationnelles - IBM System R et Oracle V2 - sont apparus en 1978.
A l'aide du SGBD, le développeur, ou l'administrateur de base de données peut introduire les descriptions des entités qui seront stockées dans une base de données, ainsi que les règles d'intégrité référentielle des bases de données relationnelles. Il pourra également modifier les entités déja présentes, ou supprimer des entités. Les informations concernant les entités, les relations et l'intégrité référentielle (voir schéma conceptuel et métadonnées) seront stockées à l'intérieur de la base de données.
A l'aide du SGBD, l'utilisateur - parfois par l'intermédiaire d'un logiciel tiers - pourra introduire des données dans la base de données. Selon le procédé, les informations seront introduites une entité à la fois, plusieurs entités connexes en une opération, ou de nombreuses entités en traitement par lot. voir transaction.
L'extraction de données depuis une base de données est l'opération la plus fréquente et la plus élémentaire effectuée par un SGBD. Le moteur de base de données, composant central du SGBD, permet d'extraire un lot d'entités en fonctions de critères et de relations, de les trier, les regrouper, voire calculer des sommes et des moyennes. Un logiciel tier peut demander une opération d'extraction par l'intermédiaire de l'interface de programmation du SGBD. Une personne (utilisateur, développeur ou administrateur de base de données) peut demander des opérations d'extraction par l'intermédiaire d'une interface homme-machine du SGBD.
A l'aide du SGBD il est également possible d'effectuer des modifications ou de supprimer les données déja présentes dans les bases de données. Des opérations qui, tout comme l'extraction, peuvent se faire en traitement par lot en fonction de critères et de relations.
A l'aide du SGBD, l'administrateur de base de données ou le développeur peut ajouter des règles dans des liste de contrôle d'accès et des clés primaires en vue d'assurer la sécurité (protection contre la perte d'information), la confidentialité et la cohérence du contenu de la base de données. Ces règles seront enregistrées dans la base de données et le SGBD refusera toute opération d'extraction, d'ajout, ou de modification de données qui n'est pas conforme aux règles enregistrées.
Le SGBD permet en outre de créer des bases de données, de les déplacer, les copier, d'effectuer des sauvegardes et des restaurations de données.
Un SGBD est un ensemble de logiciels qui manipulent des bases de données. La majorité des SGBD sont composés d'un moteur de base de données, un interprète du langage SQL, une interface de programmation, et diverses interfaces utilisateur.
Le moteur de base de données est le composant central du SGBD qui effectue la majorité des traitements de manipulation du contenu des bases de données.
SQL est un langage informatique qui sert à exprimer des requêtes d'opérations sur les bases de données. L'interprète SQL décode les requêtes, et les transforme en un plan d'exécution détaillé, qui est alors transmit au moteur de base de données.
Une interface de programmation - bibliothèque logicielle permet à un logiciel tiers de communiquer avec le SGBD, de demander des opérations et de récupérer des données provenant des bases de données. le détail des demandes est souvent formulé en langage SQL.
ODBC est un middleware qui permet à des logiciels, par l'intermédiaire d'une interface de programmation unique de communiquer avec différents SGBD ayant chacun une interface de programmation différente. C'est un logiciel souvent utilisé avec les SGBD.
Différences selon l'utilisation cible
Un SGBD comporte différents outils pour permettre à une personne d'effectuer des opérations sur les bases de données. Ces outils sont plus ou moins sophistiqués suivant l'usage et le public cible du SGBD: composant logiciel, serveur, logiciel applicatif, développeur, administrateur de bases de données, tout public:
Il y a différentes méthodes d'accès aux données :
(sauf précision contraire, il s'agit de SGBD à prétentions relationnelles) :
Selon le cabinet Gartner Dataquest, le marché des SGBD représente en 2004 plus de 15 millions de dollars, en augmentation de 7%. 80% des parts sont pour les SGBD relationnels. Les trois tenors du marché que sont IBM DB2, Oracle et Microsoft SQL Server occupent 85% du marché.[4]
Les SGBD gratuits ne sont pas en reste. Selon Sleepycat software, il existe plus de 200 millions de copies de Berkeley DB en circulation. le SGBD MySQL a été téléchargé plus de 6 millions de fois et PostgreSQL plus de 1 million. [5]
En informatique une base de données (abrégé BD ou BDD) est un ensemble de fichiers organisés selon des procédés qui facilitent le stockage et la manipulation de très grandes quantités d'informations. [6][7]
Un système de gestion de base de données est un logiciel qui organise, contrôle et manipule le contenu de bases de données.
Une banque de données est un stock d'informations relatives à un sujet de connaissances et librement consultables. Les informations en question sont souvent stockées dans des bases de données.
Dans une base de données, les informations sont typiquement classées par nature et les différentes natures sont connexes (exemple: dossier médical - patient - médecin - consultations - médicaments). Les données sont réunies en petits groupes appelés enregistrements. A chaque enregistrement corresponds 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.
Les modèles réseau et hiérarchiques étaient utilisées dans les bases de données jusque dans les années 1970. Le système de gestion de base de données tissait des liens entre les informations en ajoutant des informations similaires à des pointeurs dans les enregistrements.
Bases de données relationnelles
En 1970 Edgar F. Codd propose dans une thèse mathématique d'utiliser les informations présentes dans les enregistrements - en lieu et place des pointeurs - pour assurer les liens entre les informations et de regrouper les enregistrements dans des tables. Regroupement motivé par le fait que le résultat de chaque recherche dans une base de données est une table.[8]
Cette proposition est la base du modèle de données relationnel modèle aujourd'hui utilisé par la quasi-totalité des système de gestion de base de données.[9] Dans ce modèle, tout comme dans le modèle réseau, les entités sont reliées par des relations de-à, selon une organisation arbitraire.
Le modèle entité-relation est utilisé pour schématiser l'organisation logique (les entités et les relations) dans les bases de données relationnelles.[10]
Les disque durs, mémoire de masse de grande capacité, ont été inventés en 1956. L'invention du disque dur a permis d'utiliser les ordinateurs pour collecter, classer et stocker de grandes quantités d'informations.
Le terme database (base de données) est apparu en 1964 pour désigner une collection d'informations partagées par différents utilisateurs d'un système d'informations militaire.[11]
Les premières bases de données hiérarchiques sont apparues au début des années 1960. Les informations étaient découpées en deux niveaux de hierarchie. Un niveau contenait les informations qui sont identiques sur plusieurs enregistrements de la base de données. Le découpage a ensuite été étendu pour prendre la forme d'un diagramme en arbre.[11]
Le modèle de données réseau a été créé par Charles Bachman du consortium CODASYL en 1969, pour des applications informatiques pour lesquelles le modèle hiérarchique ne convient pas.[11] Charles Bachman a recu le prix Turing en 1973 pour ces contributions exceptionelles à la technologie des bases de données.[12]
En 1970 Edgar F. Codd note dans sa thèse mathématique sur l'algèbre relationnelle qu'un ensemble d'entités est comparable à une famille en mathématique, et que les jointures sont des produits cartésiens. Cette thèse est à l'origine des bases de données relationnelles.[11] Edgar F. Codd a recu le prix Turing en 1981.
Le modèle entité-relation a été inventé par Peter Chen en 1975, il est destiné à clarifier l'organisation des données dans les bases de données relationnelles.[13][14]
Les premieres bases de données étaient calquées sur la présentation des cartes perforées: répartis en lignes et colonnes de largeur fixe. Telle répartition permet difficilement de stocker des objets de programmation, en particulier ne permettent pas l'héritage entre les entités, caractéristique de la programmation orientée objet.
Apparues dans les années 1990, les base de données orientée objet et les base de données objet-relationnel utilisent un modèle de données relationnel tout en permettant le stockage des objets. Dans ces bases de données les relations d'héritage des objets s'ajoutent aux relations entre les entités du modèle relationnel.[15]
Dans les fichiers de la base de données sont stockés les informations, ainsi que les indexes, le détail du modèle de données, des listes de contrôle d'accès et un journal des opérations.
Les informations sont placés dans les champs des enregistrements de la base de données. Les enregistrements sont reliés pour former des collections. Dans les bases de données relationnelles les collections sont des tables avec lignes et colonnes.
Les indexes sont des structures qui facilitent la recherche, le tri et le regroupement des informations d'une collection. Ce sont typiquement des structures en arbre B ou en table de hachage. Les index contiennent les différentes valeurs d'un ou de plusieurs champs des enregistrements d'une collection.
Une clé primaire est un champ ou une combinaison de champs dont les valeurs sont différentes pour chaque enregistrement de la collection. La clé primaire permet de retrouver un et un seul enregistrement de la collection.
Dans une base de données relationnelle une clé étrangère est un champ ou une combinaison de champs d'une table A qui sont en relation avec une clé primaire dans une table B.
Le détail du modèle de données et les listes de contrôle d'accès sont utilisés par le moteur de base de données pour contrôler et effectuer les opérations de manipulation des données.
Un journal contient la liste des dernières opérations effectuées sur la base de données. Ce journal est utilisé par le moteur de base de données pour annuler les opérations, par exemple en cas de crash informatique, ou si les opérations comportent une erreur.
Les bases de données sont utilisées dans de très nombreuses applications informatiques, en particulier en informatique de gestion, en informatique décisionnelle, en gestion des connaissances.
En 1970, au moment où les systèmes reposant sur le modèle hiérarchique ou le modèle en réseau étaient en plein développement, Edgar Frank Codd publia un article où il proposait de stocker des données hétérogènes dans des tables, dont la structure permet d'établir des relations entre elles. De nos jours, ce modèle est extrêmement répandu, mais en 1970, cette idée était considérée comme une curiosité intellectuelle. On doutait alors que les tables puissent être jamais gérées de manière efficace par un ordinateur. Ce scepticisme n'a cependant pas empêché E.F. Codd de poursuivre ses recherches.
Un premier prototype de Système de gestion de bases de données relationnelles (SGBDR) est construit dans les laboratoires d'IBM. Depuis les années 1980, cette technologie a mûri et a été adoptée par l'industrie. En 1987, le langage SQL, une extension de l'algèbre relationnelle, est standardisé. Malgré le succès du langage SQL qui a suivi, Codd dénoncera cet outil qu'il considère comme une interprétation incorrecte de ses théories[réf. nécessaire]. À l'heure actuelle, les SGBDR sont présents dans de nombreux logiciels, sont très répandus dans les bases de données et représentent une industrie de plusieurs milliards de dollars.
Elles permettent de stocker différentes données numériques aux croisements des "n" axes correspondant aux "n" dimensions de la base.
Il est alors possible de naviguer dans cet espace, à différents niveaux d'agrégats (zooms, rotation d'axes, etc.) : ces bases de données sont appelées cubes ou hypercubes en informatique décisionnelle et sont souvent utilisés dans les métiers du contrôle de gestion et de contrôle.
Les bases de données décisionnelles sont utilisées en lecture intensive, dans le cadre de l'aide à la décision. Leur contenu provient de l'ensemble des bases de données de production (RH, gestion des stocks, gestion commerciale, gestion de la production, marketing, etc.) par scripts et batchs, ou bien par des outils de type ETL, EAI ou ESB.
Les datawarehouse et datamart sont des exemples de bases relationnelles utilisées de manière décisionnelle.
Les bases de données multidimensionnelles (cubes multidimensionnels) sont généralement utilisées de manière décisionnelle.
En informatique un moteur de base de données (anglais database engine ou storage engine) est un composant logiciel qui contrôle, lit, enregistre et trie des informations dans une ou plusieurs bases de données[16]
Le moteur de base de données est le composant central d'un système de gestion de base de données. C'est un composant essentiel des systèmes d'informations ainsi que de nombreux logiciels qui manipulent des grandes quantité de données. voir informatique de gestion.[17][18]
la majorité des moteurs de base de données sont prévus pour manipuler les bases de données relationnelles. Le système de fichier est une forme primitive de base de données hiérarchique. Un composant moteur inclu dans le système d'exploitation effectue les opérations de manipulation du système de fichier. [19]
[20] Une base de données est un ensemble organisé d'informations; Un moteur de base de données est un composant logiciel utilisé par d'autres logiciels pour manipuler le contenu des bases de données. Le composant peut être incorporé dans le logiciel, ou séparé. Un serveur de base de données est un logiciel qui permet d'exploiter un moteur de base de données via un réseau informatique.
Les traitements du moteur de base de données visent à assurer la sécurité de la base de données, à garantir la confidentialité, l'intégrité et la disponibilité des informations stockées. Les traitements visent également à assurer l´atomicité, la cohérence, l´isolation et la durabilité des opérations effectuées sur le contenu de la base de données (voir propriétés ACID).
Les bases de données relationnelles ont été inventées par Edgar F. Codd (1923-2003), rechercheur chez IBM dans les années 1960. Mais IBM - qui travaillait alors sur un autre type de base de données - ne s'y est d'abord pas intéressé. Jusqu'en 1978 lorsque le concept intéresse Lawrence Ellison, le fondateur d'une startup qui est devenue Oracle Corporation.[21][22]
Le langage SQL a été introduit par IBM en 1981 sur leur premier système de gestion de base de données relationnelles System R - le prédecesseur de IBM DB2.[23]
Un moteur de base de données enregistre et puise les données dans un ou plusieurs fichiers en suivant un ensemble de règles pré-définies enregistrées dans la base de données. Ces règles déterminent le schéma conceptuel de la base de données, les règles de cohérence et de confidentialité. Le moteur de base de données refusera toute opération qui n'est pas conforme aux règles.
Un moteur de base de données comporte souvent un mécanisme d'antémémoire, pour accélérer les opérations sur la base de données. Chaque opération effectuée sur la base de données est contrôlée par le moteur de base de données, si l'opération n'est pas conforme aux règles de cohérence, l'opération sera alors refusée. Plusieurs opérations inter-dépendantes peuvent être regroupées dans une transaction, en cas d'échec la totalité des opérations de la transaction sont annulées.
Le moteur de base de données peut être équipé d'un mécanisme de journalisation: Toutes les opérations à effectuer sur la base de données sont inscrites au préalable dans un fichier - le journal (anglais log). Ce qui permet de terminer les opérations en cas d'arrêt inattendu de l'appareil informatique. Le mécanisme est également utilisé pour annuler les transactions.
Dans une base de données relationnelle, les informations sont groupées en entités, avec des relations entre les entités. Le moteur de base de données effectue les opérations nécessaires pour retrouver un ensemble d'entités et les réunir dans une même collection. La collection contient typiquement certaines entités A ainsi que des entités connexes B, C, D,...
Dans une base de données relationnelle, une entité A de la base de données peut être en relation avec une entité B. Il y a intégrité référentielle lorsque l'entité B - à laquelle A fait référence - se trouve dans la base de données. Si l'integrité référentielle est une règle de cohérence, le moteur de base de données refusera de créer une entité A qui fait référence à une entité B inexistante.
Parfois une suite d'opérations doivent être exécutées par le moteur de base de données. La suite d'opération aboutit à un résultat (contenu de la base de données) conforme aux règles de cohérence, or chaque opération exécutée de manière isolée donne un résultat non conforme. Les opérations peuvent alors être regroupées dans une transaction et exécutées d'un seul tenant par le moteur de base de données, le moteur n'effectue aucun autre traitement en même temps, ce qui garanti l'atomicité de la transaction.
Des règles de confidentialité permettent de limiter voire d'interdire la manipulation de certaines données à certains utilisateurs. Avant toute opération le moteur de base de données vérifiera que la demande est conforme aux règles de confidentialité, en particulier que l'utilisateur qui demande une opération de manipulation est autorisé à cette opération. Le moteur de base de données refusera l'opération si ce n'est pas le cas. voir Contrôle d'accès logique.
Lors des opérations, des verrous évitent qu'une information en cours de modification par un utilisateur soit recouverte par une autre opération effectuée en même temps par un autre utilisateur. En cas d'interblocage le moteur de base de données annulera les modifications d'un des deux utilisateurs.
Avec certains moteurs de bases de données il est possible de créer des programmes contenant des suites d'opérations sur les données, et de les enregister dans la base de données. voir procédure stockée. Ces procédures peuvent être exécutées automatiquement pas le moteur de base de données lors de certaines modifications de la base de données (selon des règles pré-définies enregistrées dans la base de données).
Un système de gestion de base de données (abrégé SGBD) est un ensemble de logiciels qui servent à la manipulation des bases de données.
Le SGBD comporte divers outils qui permettent à un utilisateur de manipuler des bases de données, comme par exemple un outil qui permet d'envoyer des demandes au moteur de base de données, demandes qui sont souvent formulées en langage SQL.
Les outils du SGBD permettent d'introduire le schéma conceptuel, de modifier les règles de cohérence et de confidentialité, de rechercher, d'ajouter ou de supprimer des données, ainsi que d'effectuer des sauvegardes des bases de données. Ils permettent parfois également de contrôler l'activité du moteur, en particulier les transactions et les verrous créés par les utilisateurs qui exploitent le moteur de base de données.
une interface de programmation (bibliothèque logicielle) permet la manipulation de base de données à partir d'un autre logiciel, par l'intermédiaire du moteur de base de données.
ISAM (acronyme de l'anglais Indexed Sequential Access Method) est un format de fichier dans lequel les informations sont stockées associées à une structure de données en arbre - l'index - qui permet de retrouver facilement (en terme de complexité algorithmique) n'importe quelle information stockée. L'index permet aussi de lire les informations dans un ordre determiné. C'est un format de fichier courant des bases de données.
SQL (acronyme de l'anglais Structured Query Language) est un langage informatique utilisé par les logiciels pour formuler des demandes d'opérations sur les bases de données. Opérations qui seront exécutées par le moteur de base de données. Le langage SQL permet de demander des opérations sur les données enregistrées dans la base de données, mais aussi sur le schéma conceptuel, les règles de cohérence et de confidentialité.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.