Vous êtes sur la page 1sur 23

Ministère de l’Enseignement Supérieur et de recherche scientifique

Université de Sousse
Institut Supérieur de Gestion (ISG)
Séance de Cours

Chapitre3
Le Modèle relationnel

Enseignant : MR Kamel Garrouch


I. Introduction
Le modèle relationnel a été proposé par Codd en 1970.
Il est utilisé par la plus part des produits commerciaux à savoir Oracle, Informix,
DB2, Sybase, Access, SQL-Server,…

Le succès du modèle relationnel est dû à :


Sa simplicité pour l'utilisateur : une base de données est vue comme un
ensemble de tables,
Ses fondements théoriques : algèbre relationnelle et logique des prédicats.

2
II. concepts de base
II.1 Domaine
Un domaine D est un ensemble de valeurs atomiques caractérisé par un nom.
On distingue :

Les domaines prédéfinis : Chaines de caractères, entiers, réels, booléens, date

Les domaines définis : c'est-à-dire en énumérant les valeurs. Par exemple :

Domaine (couleur) = {bleu, rouge, blanc,...}


Domaine (noms)={Ali, Salah,... }

3
II. concepts de base
II.2 Schéma de relation
Un schéma de relation R, dénoté R (Al:Dl, A2:D2, ..., An:Dn) est un ensemble d'attributs.
Chaque attribut Ai est le nom d'un rôle joué par son domaine Di dans le schéma de relation R.

II.3 Relation

Les données d'une BD sont structurées dans des tables (relations).


Une relation r dénotée r(R) du schéma de relation R (Al:Dl, A2:D2, ..., An:Dn) est un
ensemble d'enregistrements (appelé aussi n-uplet).

Chaque enregistrement ei est une liste ordonnée de n valeurs ei = <v1 ,v2,..,vn> où chaque
vi est une valeur du domaine de l'attribut Ai ou une valeur nulle spéciale représentant
l'absence d'information.

4
II. concepts de base
II.3 Relation
Exemple: soit la relation employé suivante

Degré de la relation: c'est le nombre de domaines.

Cardinalité de la relation: c'est le nombre d'enregistrements

Degré (employé) = 5
Cardinalité (employé) = 2
5
II. concepts de base
II.4 Clé candidate et clé primaire
Une clé de relation est un sous-ensemble d'attributs qui permet d'identifier d'une
manière unique tout enregistrement d'une relation.

En général, il existe plusieurs clés pour une même relation R (clés candidates). Parmi
les clés possibles, on choisit une clé qui sera appelée clé primaire

Lors de la définition d'un schéma cette clé est mise en évidence (soulignement).

Un attribut X est une clé candidate d'une relation R si pour chaque n-uplet de R, la
valeur de X identifie de façon unique ce n-uplet

6
II. concepts de base
II.4 Clé candidate et clé primaire

Soit par exemple la relation :


Etudiant (Num_inscription, CIN, nom, prénom,…)

Un étudiant peut être identifié par son numéro d'inscription ou par son numéro de carte
d'identité nationale. Dans ce cas on a deux clés candidates : { Num_inscription, CIN.}

On choisit généralement le numéro d'inscription comme clé primaire d'un étudiant.


Par convention on souligne les attributs de la clé primaire.

Etudiant (Num_inscription, CIN, nom, prénom,…)

7
II. concepts de base
II.4 Clé étrangère
soit la relation R (A,B,... ,S,...) : On dit que S est une clé étrangère de R s'il y a
une relation R2 ayant pour clé primaire S.

Exemple:
PRODUIT (NUM PDT, DES_PDT, #NUM_MAG)
MAGASIN (NUM MAG, ADR_MAG, SURFACE,...)

Si on connaît la clé primaire d'u produit, on dispose des informations concernant ce


produit ainsi que celles du magasin où il est stocké.

8
III. Schéma de base de données et contraintes d’intégrité
Un schéma de base de données relationnel S est un ensemble de schémas de relation.
S = {RI, R2, ..., Rn} et un ensemble de contraintes d'intégrité.
On distingue différents types de contraintes d’intégrité qui permettent de décrire les règles
logiques que doivent respecter les données pour être cohérentes, ou valides.
III.1 Les contraintes élémentaires
Décrivent les propriétés des valeurs autorisées pour chaque constituant. On doit aussi préciser
s’il est obligatoire qu’une valeur soit présente, ou si au contraire on autorise les “valeurs nulles”
Exemple:
FILMS (TITRE, ANNEE, METTEUR EN SCENE)
• TITRE
0 chaîne de caractères de longueur inférieure à 50
clé primaire, donc pas de valeur nulle
•ANNEE
entier compris entre 1850 et l’année courante
•METTEUR EN SCENE
chaîne de caractères (max 50)
9
III. Schéma de base de données et contraintes d’intégrité
III.2 Les contraintes intra-relation
Concernent les attributs d’une même relation.
Exemple :
la date de naissance d’une personne ne peut être postérieure à sa date de décès.

Concernent aussi les n-uplets d’une même relation.


Exemple:
Dans la liste des emprunts d’une bibliothèque, on ne devra pas trouver plus de 3 fois un
même numéro d’abonné car on ne peut pas faire plus de 3 emprunts simultanés.
FILMS (TITRE, ANNEE, METTEUR EN SCENE)
TITRE
clé primaire, donc pas de doublons
ANNEE et METTEUR EN SCENE
un même metteur en scène ne peut pas être associé à des films réalisés à plus de
70 ans d’écart'.
10
III. Schéma de base de données et contraintes d’intégrité
III.3 Les contraintes inter-relation (entre les relations)

Se font d’une relation à l’autre. L’exemple le plus courant est celui des contraintes
d’intégrité référentielles (voir plus loin). Mais on a aussi d’autres cas

Exemple:

FILMS (TITRE, ANNEE, METTEUR EN SCENE)


DISTRIBUTIONS (TITRE, NOM)
ACTEURS (NOM, SEXE, NAISSANCE, MORT)

FILMS.TITRE clé externe pour DISTRIBUTIONS.TITRE


ACTEURS.NOM clé externe pour DISTRIBUTIONS.NOM
ACTEURS.NAISSANCE < année des films où il est acteur (FILMS.ANNEE)

11
III. Schéma de base de données et contraintes d’intégrité
III.4 Les contraintes d’intégrité référentielles
Sont très importantes, car elles jouent un rôle dans les liens que les données ont entre
elles d’une table à l’autre...
Exemple:
Typiquement, on aura ici DISTRIBUTIONS.Titre qui dépend de FILMS.Titre, car on ne
peut parler de la distribution d’un film s’il n’existe pas déjà dans la relation FILMS

De même, DISTRIBUTIONS.Nom dépend de ACTEURS.Nom car on ne peut


pas parler des films dans lesquels joue un acteur si on ne l’a pas encore inscrit
dans la liste des acteurs...

12
IV. Passage du modèle EA au modèle relationnel
Les deux modèles permettent d’obtenir une représentation formelle de la même réalité.

La validité de ces deux méthodes fait que l’on peut passer d’un mode de représentation
à un autre.

Nous allons mettre en évidence des règles de transformation du EA en fonction


du type d’association existant entre les entités vers le modèle relationnel.

IV.1 Transformation des ensembles des entités


Règles concernant les entités

Regle n°1 : Chaque entité devient une relation (table).


Regle n°2 : Chaque propriété d’une entité devient une colonne.
Regle n°3 : L’identifiant de l’entité devient la clé primaire de la relation.

13
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations binaires
Règle n°4: Relation binaire aux cardinalités (X,n) - (X,n), X=0 ou X=1
création d'une table supplémentaire ayant comme Clé Primaire une clé composée
des identifiants des 2 entités.

On dit que la Clé Primaire de la nouvelle table est la concaténation des Clés
Primaires des deux autres tables.

Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table.

14
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations binaires
Règle 5: Relation binaire aux cardinalités (X,1) - (X,n), X=0 ou X=1
La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans
la table à la cardinalité (X,1).

Employe (idEmp, nom, #Nom societe)


Societe (Nom societe)

15
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations n-aires
Règle n°6 : Relation n-aire (indépendante des cardinalités)
Une association n-aire (avec n>2) est transformée en une relation (en une table)
La clé de cette relation est constituée par la concaténation des clés des relations
obtenues à partir des entités associées.

Étudiant (NoCarte, nom)


Niveau (Id-Niveau, Nom_Niveau)
Langue (Id_Langue, Nom_Langue)
Parle (#N°Carte, #Id_Niveau, #Id_Langue) 16
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations réflexives
Règle n°7.1 : Premier cas : cardinalité (X,1) - (X,n), avec X=0 ou X=1.
La Clé Primaire de l'entité se dédouble et devient une Clé Étrangère dans la
relation ou nouvelle table. Exactement comme si l'entité se dédoublait et était
reliée par une relation binaire (X,1) - (X,n)

Employe(Id_Employe, Nom_Employe, #id_Sup_Hierarchique)


id_Sup_Hierarchique est l'identifiant (id_Employe) du supérieur hiérarchique direct de
l'employé considéré) 17
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Règles concernant les associations réflexives
Règle n°7.1 : Premier cas : cardinalité (X,n) - (X,m), avec X=0 ou X=1.

De même, tout se passe exactement comme si l'entité se dédoublait et était reliée


par une relation binaire (X,n) - (X,m). Il y a donc création d'une nouvelle table.

Personne (Id_Personne, Nom_Personne)


Parenté (#Id_Parent, #Id_Enfant)

18
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations

Règle n°8: Relation binaire aux cardinalités (0,1) - (1,1).


La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Étrangère dans
la table à la cardinalité (1,1).

ANIMATEUR (id_Animateur, Nom_Animateur)


GROUPE (id_Groupe, Nom_Groupe, #id_Animateur)

19
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des spécialisations / généralisations
Règle n°9.1: Table sur-type et disparition des sous-types

Intégration des sous-types dans la relation sur-type (les sous-types disparaissent).

 Avec un tel principe les propriétés spécifiques à chacun des sous-types ne


seront pas valorisées pour certaines occurrences de la relation sur-type

20
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des spécialisations / généralisations
Règle n°9.2: Table sur-type et sous-types

Conservation de l’entité sur-type et des entités sous-types.


Dans chacune des relations sous-types, l’identifiant de l’entité sur-type est intégré.
Il est à la fois clé primaire de la relation et clé étrangère par rapport à l’entité sur-type

21
IV. Passage du modèle EA au modèle relationnel
IV.2 Transformation des ensembles des associations
Cas des attributs complexes
Solution n°1 :
TE (Id, A1, A2) -------perd le nom A
Solution n°2 :
TE’ (Id, A) ----------- dom (A) = dom (A1) x (dom (A2))

Exemple
Solution n°1 :
Personne (NCIN, jour, mois, annee)
(xxxxxx, 10, 11, 2006)
Solution n°2 :
Personne (NCIN, Date de naissance)
(xxxxxx, 10112006)

22
Merci pour votre
Attention

Vous aimerez peut-être aussi