Vous êtes sur la page 1sur 8

Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

Chapitre 3: Le Modè le Relationnel

I. Introduction

- Le modèle relationnel a été proposé par Codd au début des années 70.
- Basé sur la définition et la manipulation de relations:
 Données: organisées dans des relations (perçues par l'utilisateur comme
tables).
 Table (relation) = ensemble de n-uplets avec mêmes attributs, représentée
sous la forme d'un tableau à deux dimensions:
 Chaque colonne correspond à un attribut Ai.
 Chaque ligne (tuple, n-uplet) est une séquence de n valeurs atomiques
(v1, .., vn) où chaque vi est la valeur (nombre, chaine de caractères,
date, …) d'un attribut Ai ou NULL (absence de valeur).

II. Concepts de base


1. Domaine
Un domaine c’est un ensemble de valeurs atomiques caractérisées par un nom. Un domaine
peut être défini en extension, en donnant la liste des valeurs composantes, ou en
intention en définissant une propriété caractéristique des valeurs du domaine.

Exemple: D1= {chaîne de caractères}

D2= {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche}

2. Attribut

Attribut : un nom qui décrit une propriété.

Exemple : les propriétés matricule, nom, prénom, adresse d'un étudiant.

Domaine d'un attribut : l'ensemble des valeurs atomiques de l'attribut.

Exemple :
Domaine (matricule) ∈ {'1753', '2410', '0148'}
Domaine (nom)= {chaîne de caractères}
Domaine (jour)= {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche}

1
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

Valeur NULL : l'absence temporaire de valeur (inconnu) ou l'inapplicabilité d'une valeur pour
un attribut dans un tuple.

3. Relation

- Représentée par un tableau à 2 dimensions.


- Composée d’un nombre fini de colonnes (attributs).
- Chaque attribut possède un nom unique à l’intérieur d’une relation.
- Ne peut posséder 2 tuples identiques.
- Une relation n-aire sur les attributs A 1, A2,..., An, de domaines respectifs D 1, D2,..., Dn,
est un sous-ensemble du produit cartésien des domaines D1, D2,..., Dn.
- Un élément appartenant à une telle relation sera appelé n-uplet ou tuple.
- Il sera noté (d1, d2,....dn) où di ∈Di, ∀1≤i ≤n.
- L’ensemble des n-uplets d’une relation sera appelé extension de la relation.

4. Représentation d’une relation

- Chaque tuple (n-uplet) de la relation (appelée aussi Table) est écrit dans une ligne
d’un tableau, dont les noms de colonnes sont les attributs de la relation.
- Chaque tuple est unique. Les duplications ne sont pas autorisées. L’ordre des tuples
est indifférent.

Exemple:

La table (relation) Etudiants = ensemble de lignes (tuples ou n-uplets)

2
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

5. Schéma de relation /Contraintes d’intégrité

Le schéma R d ́une relation r est la liste des attributs de r.

Exemple: Le schéma de Client est R = (NumCl, NomCl, AdrCl).

5.1. Clé d’une relation

- Une des contraintes d’intégrité d’un schéma est l’unicité d’identification des n-uplets
d’une relation.
- Cette identification unique est assurée par la notion de clé de relation.
- Une clé peut être composée d’un seul attribut ou d’une liste d’attributs qui
caractérise un tuple (n-uplet) de la relation de manière unique.
- Une relation peut avoir plusieurs clés. Une clé comportant un minimum
d’attributs sera choisie comme étant clé primaire, les autres clés possibles sont
appelées clés candidates (chacun des attributs est renseigné, pas de valeurs NULL).

Exemple: matricule est clé primaire, {nom, prenom, dateNaiss} est clé candidate.

Notation: la clé primaire est soulignée, les clés candidates sont mentionnées en langage
naturel.

3
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

5.2. Clé étrangère

- Une clé étrangère est un ensemble d’une ou de plusieurs colonnes d’une table qui
fait référence à une clé primaire d’une autre table. Toutes les valeurs des clés
étrangères apparaissent dans une autre relation comme valeurs d’une clé. C’est une
contrainte d’intégrité référentielle.
- Par convention, la clé étrangère d’une relation est précédée (ou suivie) par le
symbole # dans un schéma de relation.

Exemple: Soient les schémas de relations suivants

Client (NumCl, NomCl, AdrCl) -Désigne l’ensemble des clients.

Commande (NCmd, DateCmd, NumCl#) -Désigne l’ensemble des commandes.

L’attribut NumCl dans la table Commande est une clé étrangère. Il prend ses valeurs
dans le domaine de valeurs de l'attribut NumCl qui se trouve, dans le schéma
de relation Client. Une commande est toujours passée par un Client existant dans la
base de données.

6. Schéma de base de données relationnelle

- Une base de données relationnelle est une collection de relations. L’ensemble des
schémas des relations de la collection est appelé schéma relationnel de la base.
- Formellement, un schéma de base de données relationnelle B est un ensemble
de schémas de relations R1, R2,..., Rp.

III. Passage du modèle E/A au modèle relationnel

- Une fois le schéma Entité/Association est établi (comme indiqué dans le chapitre
précédent), il est nécessaire de le traduire en modèle relationnel afin de créer la base
de données sur ordinateur (sous forme de tables, relations, etc.).
- Dans cette section, nous allons présenter les règles qui permettent de transformer un
schéma E/A en un modèle relationnel.

Règles de passage du modèle E/A au modèle relationnel

Règle 1 : Chaque entité qui figure dans le diagramme E/A est traduite par une
relation de même nom dans laquelle les attributs traduisent les propriétés de
l'entité, et la clé primaire traduit l'identifiant de l'entité.

4
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

Exemple:

Règle 2 : Pour les associations de type 1 : N, l’association disparaît et l’identifiant de


l’entité côté 1 sera dupliqué dans la relation correspondante à l’entité côté N. Ce
dernier sera pris comme clé étrangère dans la relation côté N.

Exemple :

Règle 3 : Pour les associations de type N : N, il faut créer une nouvelle relation qui
contiendra :
L’identifiant de la 1ère entité.
L’identifiant de la 2ème entité.
La clé de cette nouvelle relation est formée par la concaténation de deux identifiants.

Exemple :

5
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

Règle 4: Traduction de la généralisation/spécialisation

La traduction du lien ‘est un’ peut se faire selon plusieurs règles. Dans ce qui
suit, nous considérerons une entité mère R avec n entités filles S1, S2, ....Sn.
La traduction d’un lien ‘est un’ se fait selon l’une des trois règles suivantes :

R4.1 : Représentation de l’entité mère et de ses entités filles

L’entité mère sera transformée en une nouvelle relation avec ses attributs.

Chaque entité fille Si sera transformée en une relation comportant comme clé primaire
l’identifiant de l’entité mère et comme attributs les attributs de Si.

Exemple :

6
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

R4.2 Pas de représentation de l’entité mère

Chaque entité fille Si sera transformée en une relation comportant comme clé primaire
l’identifiant de l’entité mère et comme attributs les attributs de Si et les attributs de l’entité
mère. Cette règle pose un problème lorsque les sous-entités ne sont pas disjointes.
Dans ce cas, il peut y avoir duplication de certaines données. Certains problèmes
d'incohérence peuvent alors avoir lieu.

Exemple:

R4.3 : Fusion des entités filles et de l’entité mère

L’entité mère et ses entités filles seront transformées toutes en une seule relation ayant
comme clé primaire l’identifiant de l’entité mère et comme attributs les attributs de toutes
les entités (mère et filles). Le problème posé par cette règle est que certains attributs
risquent d'avoir une valeur nulle.

7
Cours Bases de Données Chapitre 3 : Le Modèle Relationnel

Exemple:

Vous aimerez peut-être aussi