1 1. Introduction Le modèle relationnel de données a été proposé par « Codd » e

1 1. Introduction Le modèle relationnel de données a été proposé par « Codd » en 1970. A cette époque, la plupart des systèmes de bases de données étaient fondées sur l'un des deux modèles de données plus anciennes (le modèle hiérarchique et le modèle réseau); le modèle relationnel a révolutionné le domaine de base de données et a largement supplanté les modèles précédents. Le prototype des systèmes de gestion de bases de données ont été développées dans les projets de recherche d'IBM et l’Université de Berkeley au milieu des années 70. Aujourd'hui, le modèle relationnel est de loin le modèle de données dominant et constitue la base pour les produits SGBD, comprenant la famille IBM DB2, Informix, Oracle, Sybase, Microsoft Access et SQL Server, FoxBase, et Paradox. Les systèmes de bases de données relationnelles sont omniprésents sur le marché et représentent une industrie de plusieurs milliards de dollars. Le modèle relationnel est très simple et élégante, une base de données est une collection d'un ou plusieurs relations, où chaque relation est une table avec des lignes et des colonnes. Cette représentation tabulaire simple permet même aux utilisateurs novices de comprendre le contenu d'une base de données, et il permet l'utilisation de simples langages de haut niveau pour interroger les données. Les principaux avantages du modèle de données relationnel par rapport aux modèles anciens résident dans sa capacité de représenter d’une manière très simple les données et la facilité avec laquelle les requêtes complexes peuvent être exprimées. 2. Principes du modèle Relationnel Un modèle de données définit un mode de représentation de l’information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent de spécifier les règles que doit respecter une base de données. 3. Des opérations pour manipuler les données, en interrogation et en mise à jour. Dans le contexte des bases de données, la principale qualité d’un modèle de données est qu’il doit être indépendant de la représentation physique. Cette indépendance permet de séparer totalement les tâches respectives des administrateurs de la base, chargés de l’optimisation de ses performances, et des développeurs d’application ou utilisateurs finaux qui n’ont pas à se soucier de la manière dont le système satisfait leurs demandes. Schéma relationnel Dans le modèle relationnel, il n’existe qu’une seule structure, la relation. Une relation peut simplement être représentée sous forme de table, comme sur la figure ci-dessous. Une relation a donc un nom (Film) et se compose d’un ensemble de colonnes désignées par un nom d’attribut. Dans chaque colonne on trouve des valeurs d’un certain domaine (chaînes de caractères, nombres). Chaque ligne (ou tuple) correspond à une entité (ici des films). Un schéma relationnel est constitué d’un ensemble de schémas de relations qui décrivent le contenu d’une relation. Le schéma de la relation Film est donc : Film (titre: string, année: number, genre : string) 2 titre année Genre Alien 1979 Science-Fiction Vertigo 1958 Suspense Volte-face 1997 Thriller Pulp Fiction 1995 Policier Domaines Un domaine de valeurs est un ensemble d’instances d’un type élémentaire. Exemple : les entiers, les réels, les chaînes de caractères, etc. La notion de ’type élémentaire’ s’oppose à celle de type structuré : il est interdit en relationnel de manipuler des valeurs instances de graphes, de listes, d’enregistrements, etc. En d’autres termes le système de types est figé et fourni par le système. Attributs Les attributs nomment les colonnes d’une relation. Ils servent à la fois à indiquer le contenu de cette colonne, et à la référencer quand on effectue des opérations. Un attribut est toujours associé à un domaine. Le nom d’un attribut peut apparaître dans plusieurs schémas de relations. Schéma de relation Un schéma de relation est simplement un nom suivi de la liste des attributs, chaque attribut étant associé à son domaine. La syntaxe est donc : R(A1 : D1 , A2 :D2 , ... , An : Dn ) Où les Ai sont les noms d’attributs et les Di les domaines. L’arité d’une relation est le nombre de ses attributs. On peut trouver dans un schéma de relation plusieurs fois le même domaine, mais une seule fois un nom d’attribut. Le domaine peut être omis en phase de définition. Instance d’une relation Une instance d’une relation R, ou simplement relation se définit mathématiquement comme un sous-ensemble fini du produit cartésien des domaines des attributs de R. Rappelons que le produit cartésien D1 × … × Dn entre des domaines D1 , … , Dn est l’ensemble de tous les tuples (v1 , … , vn) où vi  Di. Un des fondements du modèle relationnel est la théorie des ensembles et la notion de relation dans le modèle correspond strictement au concept mathématique dans cette théorie. Une relation se représente sous forme de table, et on emploie le plus souvent ces deux termes comme des synonymes. La définition d’une relation comme un ensemble (au sens mathématique) a quelques conséquences importantes : 1. l’ordre des lignes n’a pas d’importance car il n’y a pas d’ordre dans un ensemble ; 2. on ne peut pas trouver deux fois la même ligne car il n’y a pas de doublons dans un ensemble ; 3. il n’y a pas de « case vide » dans la table, donc toutes les valeurs de tous les attributs sont toujours connues ; 3 Clé d’une relation La clé d’une relation est le plus petit sous-ensemble des attributs qui permet d’identifier chaque ligne de manière unique. Comme on a vu que deux lignes sont toujours différentes, l’ensemble de tous les attributs est lui-même une clé mais on peut pratiquement toujours trouver un sous- ensemble qui satisfait la condition. Pour distinguer la clé, nous mettrons le (ou les) attribut(s) en gras. Film (titre, année, genre) Le choix de la clé est très important pour la qualité du schéma. Tuples Un tuple est une liste de n valeurs (v1 , … , vn) où chaque valeur vi est la valeur d’un attribut Ai de domaine Di : vi  Di. Exemple : (’Cyrano’, 1992, ’Rappeneau’) Un tuple est donc simplement une ligne dans la représentation d’une relation sous forme de table. En théorie, on connaît les valeurs de tous les attributs du tuple. Base de données Une (instance de) base de données est un ensemble fini (d’instances) de relations. Le schéma de la base est l’ensemble des schémas des relations de cette base. La création d’un schéma de base de données est simple une fois que l’on a déterminé toutes les relations qui constituent la base. En revanche le choix de ces relations est un problème difficile car il détermine en grande partie les caractéristiques, qualités de la base : performances, exactitude, exhaustivité, disponibilité des informations, etc. Un des aspects importants de la théorie des bases de données relationnelles consiste précisément à définir ce qu’est un « bon » schéma et propose des outils formels pour y parvenir. En pratique, on procède d’une manière moins rigoureuse mais plus accessible, en concevant le schéma à l’aide d’un modèle de données « conceptuel », puis en transcrivant le schéma conceptuel obtenu en schéma relationnel. La technique la plus répandue consiste à partir d’un schéma Entité/Association. La section suivante donne les règles du processus de transformation. 3. Passage d’un schéma E/A à un schéma relationnel On passe donc d’un modèle disposant de deux structures (entités et associations) à un modèle disposant d’une seule structure (relations). Logiquement, entités et associations seront donc toutes deux transformées en relations. La subtilité réside en fait dans la nécessité de préserver les liens existant explicitement dans un schéma E/A et qui semblent manquer dans le modèle relationnel. Dans ce dernier cas on utilise en fait un mécanisme de référence par valeur basé sur les clés des relations. 4 Règles générales Nous allons considérer dans un premier temps que la clé est définie, pour chaque type d’entité E, par un identifiant abstrait, idE. ➢ Règles de passage : entités Pour chaque entité du schéma E/A : 1. On crée une relation de même nom que l’entité. 2. Chaque propriété de l’entité, y compris l’identifiant, devient un attribut de la relation. 3. Les attributs de l’identifiant constituent la clé de la relation. Exemple 1 A partir du schéma E/A Officiel des spectacles suscité, on obtient les relations suivantes : – Film (idFilm, titre, année, genre, résumé) – Artiste (idArtiste, nom, prénom, annéeNaissance) – Internaute (email, nom, prénom, région) – Pays (code, nom, langue) On peut remarquer que l’on a perdu pour l’instant tout lien entre les relations. ➢ Règles de passage : associations de un à plusieurs Soit une association de un à plusieurs entre A et B. Le passage au modèle logique suit les règles suivantes : 1. On crée les relations RA et RB correspondant respectivement aux entités A et B. 2. L’identifiant de B devient un attribut de RA. L’idée est qu’une occurrence de A « référence » l’occurrence de B qui lui est associée à l’aide d’une clé étrangère. Cette référence se fait de manière unique et suffisante à l’aide uploads/s3/ le-modele-relationnel.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager