- Base de données relationnelle
-
Système de gestion de Base de données
Modèles:i- Base de données relationnelle
En informatique, une base de données relationnelle est un stock d'informations décomposées et organisées dans des matrices appelées relations ou tables conformément au modèle de données relationnel. Le contenu de la base de données peut ainsi être synthétisé par des opérations d'algèbre relationnelle telles que l'intersection, la jointure et le produit cartésien.
Une base de données est un ensemble d'information connexes de manière directe ou indirecte, enregistrées dans un dispositif informatique. Dans une base de données relationnelle les informations sont stockées sous forme de groupe de valeurs : les enregistrements. Un ensemble d'enregistrements relatif à un sujet forme une relation et est stocké dans une table. La base de données comporte une ou plusieurs tables et les sujets sont connexes.
Le modèle de données relationnel permet d'utiliser les opérateurs de l'algèbre relationnelle pour retrouver une information quelconque stockée dans la base de données, ainsi que les informations connexes.
Sommaire
Histoire
Le modèle de données relationnel a été défini en 1970 par l'informaticien britannique Edgar F. Codd, et publié dans sa thèse A Relational Model of Data for Large Shared Data Banks. En 2010 le modèle de données relationnel est utilisé dans la grande majorité des bases de données.
Modèle relationnel
Article détaillé : modèle relationnel.Le modèle de données relationnel est basé sur la notion de relation : une matrice qui contient un ensemble de groupes de valeurs (les n-uplet) stockés dans les enregistrements d'une base de données. Une relation est stockée dans une table de la base de données.
Selon le modèle relationnel, il peut y avoir plusieurs relations connexes. Dans une base de données relationnelle chaque enregistrement d'une table contient un groupe d'informations relatives à un sujet et les différents sujets sont connexes. Les liens existants entre les informations sont stockés dans les champs des enregistrements (composants des nuplets) sous forme de clé primaire et clé étrangère.
Les opérations d'algèbre relationnelle telles que l'intersection, la jointure ou le produit cartésien sont utilisées pour faire des rapprochements entre les enregistrements et créer de nouvelles relations à partir des relations enregistrées dans la base de données.
Une composante N d'un n-uplet est une clé primaire lorsque par nature la valeur de cette composante est différente pour chaque nuplet d'une relation, et que - pour une valeur donnée - il n'existe qu'un seul nuplet dans toute la relation dont la composante a cette valeur (absence de redondance).
Une composante N d'un n-uplet est une clé étrangère lorsque les valeurs de cette composante sont des références à une clé primaire. Il y a une situation d'intégrité référentielle lorsqu'à chaque valeur de la clé étrangère A correspond une valeur de la clé primaire référencée B.
Le schéma, c'est-à-dire le plan des relations, des clés et des références est créé par un ingénieur. Il vise à minimiser la redondance, et maximiser la cohérence. Les formes normales sont des modèles d'organisation du contenu des bases de données relationnelles.
Algèbre relationnelle
Article détaillé : algèbre relationnelle.L´algèbre relationnelle est une théorie de mathématiques et d'informatique proche de la théorie des ensembles.
Selon cette théorie, les informations sont classées dans des relations : des matrices contenant un ensemble de nuplets (un nuplet est un groupe de N valeurs). Des opérations permettent à partir d'une relation d'obtenir une autre relation ainsi que de combiner deux relations et obtenir une troisième relation.
Il existe huit opérateurs d'algèbre relationnelle.
- Sélection : à partir d'un ensemble A, obtenir un ensemble B contenant uniquement les nuplets de A qui correspondent à certains critères.
- Projection : à partir d'un ensemble A, obtenir un ensemble B dont les nuplets contiennent certaines composantes des nuplets de A.
- Intersection : à partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets présents à la fois dans A et dans B. voir aussi intersection (mathématiques)
- Union : à partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets présents dans A ou dans B. voir aussi union (mathématiques).
- Différence : à partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets présents dans A mais pas dans B. voir aussi différence.
- Produit cartésien : à partir des ensembles A et B, obtenir un ensemble C qui contient des nuplets qui sont toutes les combinaisons possibles des nuplets de A avec les nuplets de B. voir aussi produit cartésien.
- Jointure : à partir des ensembles A et B, obtenir un ensemble C qui est le produit cartésien de chaque nuplet de A pour lesquels il existe des nuplets de B où la valeur de la composante M de A est identique à la valeur de la composante N de B.
- Division cartésienne : à partir des ensembles A et B, obtenir un ensemble C, où la combinaison de chaque nuplet de B avec chaque nuplet de C (produit cartésien de B et C) existe dans A.
En pratique
Article connexe : système de gestion de base de données.Un système de gestion de base de données (SGBD) relationnel est un logiciel qui permet de manipuler le contenu des bases de données relationnelles. Il permet en particulier de synthétiser n'importe quel lot d'informations en exploitant le contenu des différentes tables de la base de données par application des opérations de l'algèbre relationnelle telles que la jointure, la sélection et la projection.
Ces SGBD résolvent sur demande (anglais query) des calculs utilisant des opérateurs d'algèbre relationnelle. SQL (sigle de Structured Query Language) est le langage informatique le plus répandu utilisé pour formuler des calculs d'algèbre relationnelle[1].
Les SGBD relationnels peuvent être exploités à partir d'autres logiciels par l'intermédiaire d'interface de programmation telles que ODBC ou JDBC. Ces interfaces permettent d'envoyer des requêtes sous forme de phrases d'interrogation et récupérer le résultat.
Les SGBD relationnels sont également utilisés pour ajouter ou supprimer du contenu dans la base de données, et vérifier que le nouveau contenu ne casse pas l'intégrité référentielle entre les clés, ou crée de la redondance.
selon l'architecture Ansi/Sparc, la manière dont les informations sont organisées dans un logiciel qui utilise le SGBD peut différer de la manière dont le SGBD présente les informations par l'intermédiaire de l'interface de programmation. Cette organisation peut différer de celle qui est utilisée par le SGBD pour stocker les informations sur un support informatique.
un SGBD est dit relationnel lorsque les informations sont présentées selon le modèle relationnel. Un SGBD orienté objet présente les informations sous formes d'objets, et un SBGD objet-relationnel peut présenter les informations alternativement sous formes de relations ou d'objets.
Les logiciels écrits en langage de programmation orientée objet utilisent parfois des composants logiciels de mapping objet-relationnel pour présenter le contenu d'une base de données relationnelle sous forme d'objets.
Annexes
Notes et références
- (en) Introduction to Information Technology, p. 540, I. T. L. Education Solutions Limited, , Pearson Education India - 2009, (ISBN 9788177581188)
Articles connexes
- Forme normale (bases de données relationnelles)
- SQL
- NoSQL
- Modèle entité-relation
- Explication des règles de Codd
Liens externes
- Une « généalogie » des SGBDR
- (fr) Laurent Audibert, « Bases de Données et langage SQL » sur developpez.com
Wikimedia Foundation. 2010.