- Modèle Relationnel
-
Modèle relationnel
Le modèle relationnel est une manière de modéliser les informations contenues dans une base de données qui repose sur des principes mathématiques mis en avant par E.F. Codd.
Sommaire
Brève Description
On appelle relation un ensemble d'attributs qui définissent un fait - par exemple un employé a un matricule donné, son nom est untel, il travaille dans tel service et a été embauché à telle date. Chaque instance est appelée un tuple. Les relations sont d'ordinaire représentées sous la forme d'une table, et on confond les deux concepts. On confond de même ligne dans la table et tuple. Par définition, chaque tuple d'une relation est unique, et est identifié par un attribut ou une combinaison de plusieurs attributs qui forme la clef. L'ordre des tuples n'est pas significatif.
Codd a défini une algèbre relationnelle et des opérateurs qui permettent de construire d'autres relations à partir de relations. Les idées de Codd ont été implémentées -- plus ou moins fidèlement -- dans les systèmes de gestion des bases de données relationnelles ou SGBDR telles que le projet expérimental IBM System R, puis des produits commerciaux tels qu'Oracle, DB2 ou MySQL, et dans le langage de manipulation des données SQL.
Le modèle relationnel est aujourd’hui l'un des modèles les plus utilisés. « Les premiers systèmes de gestion de base de données (SGBD ou DBMS en anglais) bâtis sur ce modèle ont été SQL/DS et DB2 de IBM, d'où est né la langage de manipulation de bases relationnelles, SQL (Structured Query Language). » [1] Le modèle relationnel est basé sur deux instruments puissants : l’algèbre relationnelle (c'est-à-dire le concept mathématique de relation en théorie des ensembles) et la notion de produit cartésien. Ce modèle définit une façon de représenter les donnés, les opérations qui peuvent être effectuées et aussi les mécanismes pour préserver la consistance des donnés. E.F Codd a décrit les principes et la conception de modèle relationnel dans son livre « A relational model of data for large shared data banks ». par exemple une bonne utilisation du code nécessite la redéfinition d'une entité qui va être exploitable dans la présentation de données.
Opérateurs relationnels
Selon E. F. Codd, la base de données en modèle relationnel est constituée d’un ensemble d’opérations formelles sur les relations et les opérations. L'accès aux données sont au moins l’union, l’intersection et la différence. Les opérations relationnelles permettent par exemple de créer une nouvelle relation, qui est représentée dans ce modèle, par une table de deux dimensions. [2]
Les règles pour le système relationnel de base des données
- La règle informationnelle : Toutes les informations dans la base des données sont explicites et portent la même structure logique et sont représentés par valeurs dans les tableaux.
- La règle de certitude : Toutes les données sont dans le modèle relationnel accessible par la combinaison de nom de tableau, la valeur de clé principale et le nom de la colonne.
- Le traitement des valeurs nulles systématique : Les valeurs nulles sont bien adoptées par le modèle relationnel et pour représentation de l’information qui n’est pas défini et ne sont pas dépendantes sur le type de données.
- Le catalogue en ligne basé sur le modèle relationnel : La description de la base des donnés est exprimée sur le même niveau logique et de même manière que les dates de client. Alors un utilisateur autorisé peut appliquer la même langue relationnelle pour appliquer sa demande comme utilisateur qui travaille avec les données.
- La langue de définition des données : Le système relationnel peut soutenir plusieurs langues et modes pendant l’utilisation de terminal. Mais il faut qu’il y a au moins une langue vaste qui peut définir la structure des données, la manipulation interactive, restrictions intégrales, autorisation pour accéder à la base des données, les commandes transactionnelles etc. (SQL)
- La règle de création de vue : Toutes les vues sont théoriquement possibles et sont aussi crées par système.
- Le pouvoir de créer, insérer et effacer : Il est possible de préserver les règles relationnelles sur les relations de base et aussi relations dérivées non seulement en regardant les données, mais aussi pendant les opérations d’intersection, l’union et effacement des données.
- L’indépendance physique des données : Les programmes d’application sont indépendants de la structure physique des données.
- L’indépendance de la logique des données : Les programmes d’application sont indépendants de la structure logique de base des données.
- L’indépendance intégrale : Les restrictions intégrales doivent être définies par les moyens de la base des données relationnelle ou son langage et doivent être situées dans le catalogue et non dans le programme d’application.
- L’indépendance de la distribution : Il est nécessaire que le système gestion de base des données relationnel soit capable d’être implémenté sur les autres architectures informatiques.
- La règle d'accès sur la base des données : Si le système relationnel a la langue de niveau bas, on ne pourrait pas utiliser ce niveau pour exprimer les restrictions intégrales et il est nécessaire de les exprimer en langue relationnel de niveau supérieur.
Principe de modèle relationnel
Le modèle relationnel est basé sur la notion des ensembles. Chaque ensemble possède un nom et aussi des attributs nommés qui appartiennent dans cet ensemble et il existe des restrictions intégrales qui limitent cet ensemble. On peut présenter cet ensemble sous forme d’une table relationnelle qui porte son nom et les attributs sont représentés par les colonnes. Dans les cellules de la table peuvent être seulement les éléments atomiques. L’aménagement des dates dans la base des données est pour un utilisateur non essentiel et les dates peuvent exister indépendamment sur la dépose physique. Un grand avantage de ce modèle est que l’utilisateur ne doit pas savoir où sont les dates physiquement déposé et il peut les utiliser sans problème. C’est un grand avantage par rapport au modèle hiérarchique ou au modèle réseau. [3]
La modélisation relationnelle
La modélisation relationnelle permet de présenter les relations sous forme des tables de deux dimensions. Chaque colonne possède un identificateur qui représente un domaine. On appelle tuple ou n-uplet un set des valeurs des attributs incoordonnés, c'est-à-dire la ligne de table. La relation peut donc être définie par le set de n-tuples. « Chaque opération relationnelle sur une table génère une nouvelle relation et les opérateurs relationnels – ceux de la langue SQL, permettent de décrire le résultat que l’on veut obtenir sans avoir à décrire la procédure nécessaire pour arriver au résultat : on dit que la langue relationnel est « non procédural » » [1]
Pour lier les relations ensemble il existe la clé principale et la clé étrangère. La clé principale d’une relation est un attribut ou un ensemble des attributs qui permet de désigner d’une façon unique un tuple. La seule connaissance de la clé principale peut identifier toute ligne dans une table. De l’autre coté, la clé étrangère est un identificateur unique qui fait référence à une clé dans une autre table. [4]
Dans le sens mathématique est la relation un sous-ensemble du produit cartésien des certaines domaines. Un domaine est représenté comme un ensemble des valeurs : R = (A1 X A2 X A3).
Cette relation R est représentée par une table de 3 colonnes (trois attributs) A1, A2, A3 dont chaque ligne est caractérisée par différente valeurs dans les domaines A1, A2, A3.Pour modéliser l’entité du monde réel « voiture » on prendra comme constituants la marque, la couleur, la plaque d’immatriculation et la date de création : voiture (marque, couleur, plaque-immatriculation, date-création). Les domaines correspondant aux identificateurs de colonnes peuvent être déterminés par les ensembles de valeurs suivants :
marque : chaine de 1 à 50 caractères alphabétiques
couleur : chaine de 1 à 30 caractères alphabétiques
plaque-immatriculation : chaine de 1 à 10 caractères alphabétiques
date-création : dates depuis le 1er janvier 1800 jusqu’au présent
Cardinalité de relation
Les relations utilisées dans le système gestion de base des données relationnelles sont suivantes : 1 :1, 1 : N et M : N. Les relations entre les tables sont définies dans la colonne partagée. Ce modèle ne soutient pas la relation M : N directement mais cette relation est effectué par deux relations 1 : N.
1 : 1 Dans deux table A et B de relation 1 : 1 existe un élément de table A qui se rapporte seulement a un élément de table B. Pour un exemple du monde réel est un ministre qui appartient justement à une division.
1 : N Dans deux table A et B de relation 1 : N existe un élément de table A qui se rapporte à un ou plusieurs éléments de table B. (un élève habite à l’internat).
M : N Dans deux tables A et B de relation M : N existe un élément de table A qui se rapporte ou plusieurs éléments de table B et un élément de table B se rapporte au plusieurs éléments de table A. Il s’agit donc de décomposition sur deux relations 1 : N.Voir aussi
- Base de données relationnelle
- Formes normales
- SQL
- Système de gestion de base de données
- Langage d'interrogation de données
- Pick (système d'exploitation)
- Schéma conceptuel
- Table (base de données)
Liens externes
- (fr) Laurent Audibert, « Passage du modèle entités-associations au modèle relationnel » sur developpez.com
- (en) Mapping ER Models into Relations
- (en) HSQLDB sur SourceForge.net
Notes et références
- ↑ a et b Chapitre 1 le modèle relationnel, Inrets
- ↑ Codd, E. F. A relational model of data for large shared data banks. New York : ACM , 1970 . ISSN:0001‐0782.
- ↑ Cours 9 Passage du MCD au MPD Le modèle relationnel, Delisle, Pierre
- ↑ Le modele realationnel, Comment ca marche
Catégories : Base de données | Modélisation des données
Wikimedia Foundation. 2010.