Modèle de données relationnel
Le modèle de données relationnel représente toutes les données sous forme de relations — des ensembles de n-uplets sur des attributs nommés — et fonde la manipulation des données sur des opérations issues de la théorie des ensembles et de la logique du premier ordre, assurant ainsi une indépendance entre la vue logique des données et leur stockage physique.
Definition
Dans le modèle relationnel, une relation est un ensemble de n-uplets, chaque n-uplet étant une application d'un ensemble fixe d'attributs vers des valeurs tirées des domaines de ces attributs ; une base de données relationnelle est une collection de telles relations régies par des contraintes d'intégrité.
Scope
Ce sujet aborde la partie structurelle du modèle relationnel : les relations, les n-uplets, les attributs et les domaines ; les schémas et les instances ; les clés candidates, primaires et étrangères ; ainsi que les contraintes d'intégrité d'entité et d'intégrité référentielle. Il considère les relations comme ayant une sémantique d'ensemble et une arité fixe, et explique comment l'indépendance des données libère les applications des détails de stockage. Il exclut les langages de requête construits sur le modèle (traités sous SQL et algèbre relationnelle) et la discipline de conception de la normalisation.
Core questions
- Quels sont les composants structurels d'une relation : attributs, domaines, n-uplets et arité ?
- Comment les clés candidates, primaires et étrangères identifient-elles et lient-elles les n-uplets ?
- Que garantissent l'intégrité d'entité et l'intégrité référentielle ?
- Comment le modèle réalise-t-il l'indépendance logique et physique des données ?
- Pourquoi les relations sont-elles définies comme des ensembles plutôt que comme des listes ordonnées de n-uplets ?
Key concepts
- relation, n-uplet, attribut, domaine
- schéma et instance de relation
- clés candidates et primaires
- clés étrangères
- intégrité d'entité
- intégrité référentielle
- indépendance logique et physique des données
- valeurs nulles
Key theories
- Les relations comme ensembles de n-uplets
- Une relation est un sous-ensemble du produit cartésien de ses domaines d'attributs ; étant un ensemble, les n-uplets sont non ordonnés et sans doublons, et le modèle hérite de l'algèbre des opérations ensemblistes.
- Indépendance des données
- En décrivant les données uniquement en termes de relations et de contraintes, le modèle sépare le schéma logique du stockage physique et des chemins d'accès, de sorte que la représentation physique peut être modifiée sans réécrire les applications.
- Contraintes d'intégrité
- L'intégrité d'entité interdit les valeurs nulles pour les clés primaires, et l'intégrité référentielle exige que chaque valeur de clé étrangère corresponde à une clé primaire existante, garantissant ainsi la cohérence des relations entre les relations.
Clinical relevance
Le modèle relationnel constitue la base de la classe dominante de systèmes de gestion de bases de données utilisés dans les affaires, la finance, le gouvernement et le web ; sa nette séparation de la structure logique du stockage physique explique pourquoi les bases de données relationnelles sont restées le choix par défaut pour les données structurées et transactionnelles pendant un demi-siècle.
History
E. F. Codd a proposé le modèle relationnel en 1970 chez IBM, s'opposant aux modèles hiérarchiques et réseau alors dominants, dont les requêtes étaient liées à la navigation physique. Les systèmes prototypes System R (IBM) et Ingres (Berkeley) ont démontré sa praticité au milieu des années 1970, et Codd a ensuite reçu le prix Turing pour ces travaux.
Key figures
- Edgar F. Codd
- Jeffrey D. Ullman
Related topics
Seminal works
- codd1970
- silberschatz2019
Frequently asked questions
- Pourquoi les relations sont-elles définies comme des ensembles, sans n-uplets dupliqués ?
- Définir une relation comme un ensemble confère au modèle une base mathématique solide et signifie que l'identité d'un n-uplet est entièrement déterminée par les valeurs de ses attributs et les contraintes de clé. En pratique, SQL assouplit cette règle en adoptant une sémantique de multi-ensemble (sac), autorisant les lignes dupliquées à moins qu'une clé ou le mot-clé DISTINCT n'impose l'unicité.
- Que prévient concrètement l'intégrité référentielle ?
- Elle prévient les références orphelines (dangling references) : une clé étrangère dans une relation doit soit être nulle, soit correspondre à une valeur de clé primaire existante dans la relation référencée. Ainsi, il n'est pas possible, par exemple, d'enregistrer une commande pour un client qui n'existe pas.