0% ont trouvé ce document utile (0 vote)
33 vues10 pages

Chapitre 3: Modèle Relationnel Page 1 Sur 10

Le modèle relationnel, développé par Edgar F. Codd dans les années 70, repose sur des concepts mathématiques et permet de manipuler des données de manière flexible à travers des relations, attributs et enregistrements. Il est fondamental pour la conception de bases de données, intégrant des notions telles que les clés primaires, étrangères et les formes normales pour assurer l'intégrité et l'optimisation des données. La transition du modèle entité/association au modèle relationnel suit des règles spécifiques qui garantissent la cohérence des données.

Transféré par

bdlsbiaye
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues10 pages

Chapitre 3: Modèle Relationnel Page 1 Sur 10

Le modèle relationnel, développé par Edgar F. Codd dans les années 70, repose sur des concepts mathématiques et permet de manipuler des données de manière flexible à travers des relations, attributs et enregistrements. Il est fondamental pour la conception de bases de données, intégrant des notions telles que les clés primaires, étrangères et les formes normales pour assurer l'intégrité et l'optimisation des données. La transition du modèle entité/association au modèle relationnel suit des règles spécifiques qui garantissent la cohérence des données.

Transféré par

bdlsbiaye
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Chapitre 3 : Modèle relationnel Page 1 Sur 10

Chapitre III : Modèle relationnel

Introduction : Le modèle relationnel est créé au début des années 70 par Edgar Frank
CODD, un mathématicien de formation et chercheur chez IBM. Les produits utilisant ce
modèle ont commencé à être commercialisés vers les années 1980 et ont apporté de nouvelles
fonctionnalités qui permettent un confort d’utilisation sans précédent. Ce modèle s’impose
désormais dans les entreprises avec l'adoption de ses concepts par les systèmes commerciaux.
Ses principaux concepts sont les relations, leurs attributs, les domaines des attributs, les
enregistrements… Un de ces principaux avantages est la manipulation ensembliste des
relations par les opérateurs de l’algèbre relationnelle sur lesquels sont construits des langages
non procéduraux comme SQL (chapitre VI).
Le modèle relationnel ne manipule pas des structures de données figées, mais des valeurs :
aucun chemin d’accès n’est préalablement défini, toute manipulation de données est possible.
Ce modèle représente les informations dans des structures appelées relations.
C'est un modèle qui se base sur des fondements mathématiques tels que l'algèbre
relationnelle et la logique des prédicats.

I. Notions fondamentales
I. 1. Domaine
C’est un ensemble de valeurs (distinctes) caractérisé par un nom. Il est généralement
obtenu en ajoutant un certain nombre de contraintes à un type prédéfini. Ces contraintes
permettent d'exclure des valeurs et de ne considérer que les valeurs qui seront réellement
utilisées. Son nombre de valeurs peut être fini ou infini. Il est aussi possible de créer un
domaine en listant les valeurs qui y appartiennent.

Exemple :
 Types prédéfinis : Le domaine entier, le domaine réel, le domaine booléen…
 Types prédéfinis avec des contraintes supplémentaires : les réels de l'intervalle [0,
20], les entiers x tels que 50 < x < 150, …
 Types énumérés :
 Mention = {"Passable", "Assez Bien", "Bien", "Très Bien"} ;
 Sexe = {"Masculin", "Féminin"}

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 2 Sur 10

I. 2. Attribut
Il correspond à une colonne d’une relation. Il est caractérisé par un nom et dont les valeurs
appartiennent à un domaine. Les noms des attributs d’une relation sont tous différents, mais
deux (ou plusieurs) relations différentes peuvent avoir des attributs de même nom. Par
exemple le nom et le prénom d’une personne sont des attributs de la relation Personne.
Un attribut est dit composé s'il peut être remplacé par plusieurs attributs. Par exemple,
l'adresse d'une personne peut être remplacée par les attributs Ville, Quartier, Rue,
NuméroMaison.

I. 3. Enregistrement ou N_uplet
Un enregistrement est une ligne d’une relation. Il est aussi appelé N_uplet ou tuple. C'est
un ensemble de valeurs dont chacune appartient au domaine d'un des attributs de la relation.

Exemple :
Soit la relation Chaise suivante : Chaise (Code, Matière, Hauteur, DateFabrication)
('CH001', 'Plastique', 25, '13/08/2010') et ('CH002', 'Bois', 30, '25/12/2011') sont des
enregistrements de cette relation.

Remarques : A l'exception de la clé primaire, si une contrainte ajoutée lors de la création


de la relation ne l'interdit pas :
- la valeur d'un attribut peut être omise pour un enregistrement donné :
Exemple : ('CH008', '', 30, '') est un enregistrement de la relation Chaise dont la
matière et la date de fabrication ne sont pas connues ;
- un enregistrement peut prendre la valeur NULL pour un enregistrement :
Exemple : ('CH023', 'Fer', NULL, '05/09/2012') est un enregistrement de la relation
chaise dont la hauteur n'est pas connue.

I. 4. Relation
Une relation est un sous-ensemble du produit cartésien d’une liste de domaines ayant un
nom unique dans la base. Elle est représentée par un tableau à deux dimensions dont chaque
colonne a pour titre un attribut. Ainsi, le nombre de colonnes correspond au nombre
d’attributs. Le nombre d’attributs d’une relation est appelé degré de la relation.

Un produit cartésien d’un ensemble de domaines D1, D2, D3, …, Dn noté D1xD2xD3x…Dn
est l’ensemble des enregistrements (ou tuples) (u1, u2, u3, …, un) tels que ui appartient à Di.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 3 Sur 10

Exemple :
Le produit cartésien des deux ensembles E1 (A, B, C, D) et E2 (α, β, µ) est l’ensemble
E1xE2 ((A, α), (A, β), (A, µ), (B, α), (B, β), (B, µ), (C, α), (C, β), (C, µ), (D, α), (D, β), (D,
µ)).

I. 5. Formes normales
I. 5. 1. Clé candidate
Une clé candidate d’une relation est un sous-ensemble de son ensemble d’attributs dont
les valeurs identifient à coup sûr un enregistrement et un seul.
Chaque relation a au moins une clé candidate et peut en avoir plusieurs. Les clés
candidates ne sont pas forcément composées du même nombre d’attributs. Deux
enregistrements différents ne peuvent pas avoir les mêmes valeurs pour une clé candidate
donnée.

I. 5. 2. Clé primaire
La clé primaire d’une relation est une de ses clés candidates. Le concepteur de la base
choisit une des clés candidates comme clé primaire de la relation. La clé candidate choisie
doit être parmi celles composées du plus petit nombre d'attributs.
Une clé primaire permet de différentier les enregistrements d'une relation mais aussi
d'éviter qu'un enregistrement puisse être dupliqué.

I. 5. 3. Clé étrangère
Une clé étrangère d’une relation R1 est la clé primaire d’une relation R2 qui a migré vers
R1 lors du passage du modèle entité/association au modèle relationnel. Elle permet d'établir
les liaisons entre les enregistrements et particulièrement le fait qu'un enregistrement dépende
d'un autre. La clé étrangère doit avoir le même domaine (même type de base, même taille,
etc.) que la clé primaire dont elle fait référence.

I. 5. 4. Dépendance fonctionnelle élémentaire


On dit qu'une dépendance fonctionnelle est élémentaire si la source ne contient pas
d'attributs superflus. On ne parle de DF élémentaire que lorsque la source de la DF contient
plus d'un attribut.

Exemple :
La DF A, B  C telle que la DF B  C existe n’est pas élémentaire car A est superflus.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 4 Sur 10

I. 5. 5. Dépendance fonctionnelle directe


On dit que la dépendance fonctionnelle A -> B est directe s'il n'existe aucun attribut C tel
que l'on puisse avoir A -> C et C -> B. En d'autres termes, cela signifie que la dépendance
entre A et B ne peut pas être obtenue par transitivité.

I. 5. 6. Les formes normales


a. Première forme normale : Une relation respecte la première forme normale notée
(1FN) si elle n’a que des attributs simples (non multiples, non composés).

b. Deuxième forme normale : Une relation respecte la deuxième forme normale notée
(2FN) si :
- elle est en 1FN ;
- toutes les DF entre la clé primaire et les autres attributs sont élémentaires.

c. Troisième forme normale : Une relation respecte la troisième forme normale notée
(3FN) si :
- elle est en 2FN ;
- toutes les DF entre la clé primaire et les autres attributs sont directes.

I. 5. 7. Normalisation d’une base de données


Pour optimiser une base de données, nous avons besoin de normaliser son modèle
relationnel. Une relation est normalisée si elle respecte la troisième forme normale. Une base
de données est normalisée si toutes ses relations sont normalisées. La normalisation d'un
modèle a pour but de :
- limiter les redondances de données ;
- limiter les pertes de données ;
- éliminer les incohérences ;
- améliorer les performances des traitements.

II. Schéma et instance de la base de données


II. 1. Schéma d’une base de données
Le schéma d’une relation est sa représentation logique à l’aide du modèle relationnel. Il
est composé de son nom suivi du nom de ses attributs et de leur domaine : R1 (A1 : D1, A2 :
D2, A3 : D3, …, An : Dn). L’ensemble des schémas des relations forme le schéma de la base de
données.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 5 Sur 10

II. 2. Instance d’une base de données


L'instance d'une relation à un instant donné est l'ensemble des enregistrements qu’elle
contient à cet instant. L’instance d’une base de données à un instant donné correspond à
l'ensemble des instances de ses relations à cet instant. C'est le contenu de la base à l'instant
considéré.

III. Passage du modèle entité/association au modèle relationnel


Le passage du modèle entité/association au modèle relationnel suit un certain nombre de
règles portant pour la plupart sur les cardinalités des associations. Cependant il faut d’abord
normaliser le modèle entité/association avant de passer au modèle relationnel.

III. 1. Règles de transformation des entités


R1 : Pour chaque entité indépendante E on crée une relation R dont le schéma est celui de
l'entité. L’identifiant de E devient la clé primaire de R.

R2 : Pour chaque entité faible E, on crée une relation R qui regroupe tous ses attributs ainsi
que la clé primaire de la relation représentant l'entité forte associée qui participe à la clé
primaire de la relation R représentant l'entité faible.

Exemple :

Bâtiment Salle
NumBat NumSalle
NomBat Capacité
Lieu Type
NbSalle Climatisée

Entité forte Entité faible

Bâtiment (NumBat, NomBat, NbSalle, Lieu)


Salle (NumSalle, Capacité, Type, Climatisation, NumBat)

R3 : Dans le cas de généralisation-spécialisation, il y a plusieurs manières de procéder :

1. Méthode 1 : Dans le cas d'une spécialisation incomplète, l'entité générale E est


représentée par une relation R, chaque entité spécialisée Ei est représentée par une

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 6 Sur 10

relation Ri. Les relations Ri représentant les entités spécialisées prennent la clé
primaire de celle représentant l'entité générale et en font leur la clé primaire.
2. Méthode 2 : Dans le cas d'une spécialisation complète, les entités spécialisées Ei sont
représentées chacune par une relation Ri contenant les attributs spécifiques de l'entité
Ei et tous les attributs de l'entité générale. L'identifiant de l'entité générale devient la
clé primaire de chaque relation Ri. Dans ce cas, l'entité générale ne sera pas
représentée par une relation dans le modèle relationnel.

Exemple :
Méthode 1 :
Personne (NCI, Nom, Prénom, Qualification)
Travailleur (NCI, Salaire, Expérience)
Chômeur (NCI, Diplôme, Stage)

Méthode 2 :
Travailleur (NCI, Nom, Prénom, Qualification, Salaire, Expérience)
Chômeur (NCI, Nom, Prénom, Qualification, Diplôme, Stage)

Personne

NCI
Nom
Prénom
Qualification

Is a

Travailleur Chômeur

Salaire Diplôme
Expérience Stage

Remarque : Si une entité n’a qu’un attribut (sa clé), on peut ne pas en faire une relation
lors du passage du modèle entité/association vers le modèle relationnel.

III. 2. Règles de transformation des associations


R1 : Pour chaque association binaire A entre les entités E et F (représentées par R E et RF
respectivement) telle que la cardinalité est de (1, 1) dans les deux sens :

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 7 Sur 10

- Méthode 1 : Chaque entité (E et F) devient relation ainsi que l'association A les


reliant. Dans ce cas, la relation représentant l'association A héritera des clés primaires
des deux relations représentant E et F, qui composeront sa clé primaire, en plus de ses
propres attributs éventuels ;
- Méthode 2 : Une des deux relations représentant les entités reliées par l'association
prend la clé primaire de l’autre comme clé étrangère et les attributs éventuels de
l'association. Alors, l'association ne sera pas représentée par une relation.

Exemple :
Voiture Chauffeur

Matricule ID_Chauf
Marque 1, 1 PasserPermis 1, 1 Prénom
Modèle Année
Nom
Année Adresse
Sexe
1ère méthode :
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année)
PasserPermis (#Id_Chauf, #Matricule, Année)

2ème méthode :
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe, #Matricule, Année)
Voiture (Matricule, Marque, Modèle, Année)
Ou
Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)
Voiture (Matricule, Marque, Modèle, Année, #Id_Chauf, AnnéePermis)

Remarque :
Il est aussi possible de les fusionner pour n’en faire qu’une seule relation qui regroupera
donc tous les attributs des deux entités ainsi que les attributs éventuels de l’association.

R2 : Pour chaque association binaire A entre E et F (représentées par RE et RF respectivement)


ayant la cardinalité (1, 1) du coté E et une cardinalité différente de (1, 1) du coté F, on inclut
dans RE la clé primaire de la relation RF comme clé étrangère, ainsi que les attributs éventuels
de l’association A.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 8 Sur 10

Exemple :

Voiture Chauffeur

Matricule ID_Chauf
1, 1 PasserPermis 1, n
Marque Prénom
Année
Modèle Nom
Année Adresse
Sexe

Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)


Voiture (Matricule, Marque, Modèle, Année, Id_Chauf, AnnéePermis)

R3 : Pour chaque association binaire A entre E et F ayant des cardinalités différentes de (1, 1)
des deux côtés, on crée les relations RE et RF qui représentent respectivement E et F en plus
d’une relation RA qui représente A. On met dans RA les clés primaires des relations RE et RF
ainsi que les attributs éventuels de A. L’identifiant de RA est la concaténation des clés
primaires de RE et RF. La relation RA est appelée relation d'association.

Exemple :

Voiture Chauffeur
Matricule ID_Chauf
0, n Louer 1, m
Marque Prénom
Prix
Modèle Nom
Année Adresse
Sexe

Chauffeur (Id_Chauf, Nom, Prénom, Adresse, Sexe)


Voiture (Matricule, Marque, Modèle, Année)
Louer (Id_Chauf, Matricule, Prix)

Remarque :
Quand une association porteuse devient relation, il arrive souvent qu'un ou plusieurs de
ses attributs participent à sa clé primaire en plus des clés étrangères héritées des entités qu'elle
relie.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 9 Sur 10

Exemple :
Baigneur
Plage
Numéro
1, n PrendreBain 1, m NomP
Nom
Date Région
Prénom
Durée Pollution
Qualité

Baigneur(Numéro, Nom, Prénom, Qualité)


Plage(NomP, Région, Pollution)
PrendreBain(#Numéro, #NomP, Date, Durée)

R4 : Transformation des associations récursives : Une association récursive (réflexive) est


une association binaire particulière. Cependant, sa transformation se fait en utilisant les
mêmes règles que les associations binaires simples.

Exemple :

Pièce
1, n
Nom
Pièce (Nom, Version, Matière, Dimension)
Version
FaitDe FaitDe (#Nom, #Version, #NomP, #VersionP)
Matière
0, n
Dimension

Pièce
1, n
Nom
Version
Composer
Matière 1, 1
Dimension
Pièce (Nom, Version, Matière, Dimension, #NomC, #VersionC)

R5 : Transformation des associations n-aires : Une association n-aire (n>=3) est souvent
représentée par une relation dans le modèle relationnel. Cependant, dans le cadre général, la
transformation d'une telle association se fait de la même manière que les associations binaires.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016


Chapitre 3 : Modèle relationnel Page 10 Sur 10

IV. Règles d’intégrité


IV. 1. Règles d’intégrité structurelles
Les règles d’intégrité structurelles sont des assertions que doivent respecter le schéma et
l’instance d'une base de données. Elles sont imposées par la méthode MERISE.

IV. 1. 1. Unicité des clés


Une relation est par définition un ensemble d'enregistrements sans doublon. Pour éviter
d’avoir deux enregistrements similaires, on introduit la notion de clé primaire qui est composé
d'un ou de plusieurs d’attributs pour lequel (lesquels) deux enregistrements différents ne
peuvent pas prendre la même valeur.

IV. 1. 2. Contrainte de domaine


Les valeurs possibles d'un attribut sont restreintes à un ensemble de valeurs prédéfinies
appelé domaine.

IV. 1. 3. Contrainte d'intégrité référentielle


Pour maintenir la liaison qu’a deux entités dans le modèle entité/association, on crée les
contraintes d’intégrité référentielles dans le modèle relationnel. La contrainte d’intégrité
référentielle est celle qui relie deux relations dont l’une a pris la clé primaire de l’autre
comme clé étrangère lors du passage du modèle entité/association au modèle relationnelle.

IV. 1. 4. Valeurs nulles et clé


La valeur NULL est une valeur conventionnelle introduite dans une relation pour
représenter une information inconnue ou inapplicable. Elle permet donc de résoudre le
problème des attributs facultatifs du modèle entité/association. Si l’administrateur de la base
ne l’interdit pas pour un attribut, cette valeur peut être prise par tout attribut quel que soit son
domaine à l'exception de la clé primaire.
Sa notation est : NULL

IV. 2. Règles provenant du cahier des charges


Les règles de gestion du système étudié peuvent introduire de nouvelles contraintes que
les données doivent respecter. Ces contraintes sont spécifiques au système étudié et chaque
système peut en avoir plusieurs. Elles sont mentionnées dans le cahier des charges.

Dr. S. DIAGNE Département Informatique – UFR ST – UAS Ziguinchor 2015 – 2016

Vous aimerez peut-être aussi