Vous êtes sur la page 1sur 6

École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)

Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

Objectif du module Chapitre I – Modélisation de données


 Expliquer les fondements en matière de modélisation de données ;
 Former les étudiants à la conception, à la création, et à la gestion des bases de
données relationnelles. 1. Introduction
 Un modèle conceptuel de données (MCD) modélise les données décrivant une
Organisation du module situation particulière et les liens qui les caractérisent.
 Volume horaire : 13 Cours ; 12 séances de TDs ; 12 séances de TP ;  Le MCD doit être complet pour supporter toutes les données nécessaires et bien
 Contrôle de connaissances : Contrôle continu (Partiel TD, TP) et Examen. formé pour ne pas être la source de redondances et d’incohérences de données.
 Deux formalismes sont utilisés :
Références bibliographiques (i) modèle entité-association proposé par Chen en 1976
 Georges Gardarin, Bases de Données, Eyrolles, 2003. (ii) diagramme de classes d’UML pour la modélisation orientée objet.
 Ramon A. Mata-Toledo, Pauline K. Cushman, Introduction aux bases de données
relationnelles, EdiScience, 2002. 2. Concepts du modèle entité-association
 Nacer BOUDJLIDA, Bases de données et systèmes d’informations – Le Modèle  Le modèle E-A s’appuie principalement sur cinq concepts : l’entité, l’association,
relationnel : langages, systèmes et méthodes, DUNOD, 2002. les propriétés, l’identifiant et les cardinalités.
 Ramon A. MATA-TOLEDO and Pauline K. CUSHMAN, «Programmation SQL»,
Ediscience, 2003. a. Entité / Classe d’entités
 Une entité est un objet abstrait ou concret possédant un ensemble de
Plan du cours caractéristique et caractérisé par son unicité.
Chapitre 1 : Modélisation de données
Ce chapitre décrira la méthodologie à suivre pour élaborer un modèle Ex 1. L’étudiant Samir YOUSFI, le livre Modélisation des bases de données, etc.
conceptuel de données suivant le modèle entité/association.
Chapitre 2 : Bases de données et système de gestion de bases de données  Une classe d’entités décrit un ensemble d’entités partageant les mêmes
Ce chapitre introduit la problématique des bases de données. caractéristiques et ayant la même sémantique.
Chapitre 3 : Concepts sur les bases de données relationnelles  Une entité est l’occurrence (instance) de sa classe d’entités.
Ce chapitre se focalise sur l’étude des concepts pivots des bases de données
relationnelles. Ex 2. Les étudiants, les livres, etc.
Chapitre 4 : Dépendances fonctionnelles et normalisation
Ce chapitre étudiera la théorie de la normalisation qui constitue un processus  Une classe d’entités est représentée par un rectangle
de contrôle de la redondance et la préservation de la cohérence de données. LIVRES
contenant le nom de la classe d’entités.
Chapitre 5 : Algèbre relationnelle.
Ce chapitre abordera l’algèbre relationnelle qui constitue le formalisme support
du langage de requête SQL. b. Association / Classe d’associations
Chapitre 6 : Mise en œuvre d’une base de données relationnelle : Langage SQL  Une association est un lien entre plusieurs entités.
Ce chapitre est consacré au SQL (Structured Query Language) qui est considéré
comme le langage d’accès normalisé aux bases de données relationnelles.
Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 1
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)
Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

Ex 3. « L’étudiant Samir YOUSFI a emprunté le livre Modélisation des bases de  Une classe d’associations réflexive asymétrique possède des rôles.
données » ; a emprunté représente une association binaire (i.e., entre deux entités).
Ex 6. Voici un exemple d’une classe d’association réflexive symétrique.
 Une classe d’association désigne un ensemble d’associations ayant les mêmes
caractéristiques. PERSONNES ÊtreMariéÀ
 La classe d’associations définit un lien entre plusieurs classes d’entités. DateMariage
 Une association est l’occurrence (instance) de sa classe d’associations. numPersonne
nomPersonne
Ex 4. « L’emprunt d’un livre à la bibliothèque par un étudiant » est un exemple de classe
d’associations. Ex 7. Voici un exemple d’une classe d’association réflexive asymétrique où « Parent » et
« Enfant » représentent les rôles.
 Une classe d’associations est représentée par une ellipse contenant le nom de la
classe d’associations (généralement verbe à l’infinitif). Parent ÊtreParentDe
PERSONNES
ÉTUDIANTS LIVRES
numPersonne
Emprunter nomPersonne Enfant

c. Propriété / Valeur
Ex 5. La figure suivante représente des associations entre des entités ÉTUDIANTS et des  Une propriété (attribut) est une caractéristique associée à une classe d’entités ou
entités LIVRES. à une classe d’associations.

Ex 8. Le matricule est une propriété de la classe d’entités ÉTUDIANTS et dateEmprunt


est une propriété de la classe d’associations « Emprunter ».

Emprunter ÉTUDIANTS
dateEmprunt
matricule

 Au niveau d’une entité ou d’une association, chaque propriété possède une


valeur appartenant à un domaine de valeurs (entier, chaîne de caractères, etc.).
 Une classe d’associations réflexive matérialise un lien entre une classe d’entités
et elle-même. Ex 9. Pour un étudiant donné, la valeur de la propriété matricule prendra, par exemple,
 Une classe d’associations réflexive peut être symétrique (ex. être marié à, être la valeur INF2018-101 (une chaîne de caractères).
ami de, etc.) ou asymétrique (ex. être parent de, etc.).
Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 2
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)
Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

 Dans un modèle E-A, les propriétés d’une classe d’entités (resp. d’associations) Toute classe d’entités (resp. d’associations) possède un identifiant et peut
sont régit par les règles suivantes : en avoir plusieurs.

R1 : Chaque propriété doit recevoir une valeur sauf si cette valeur n’est pas connue
à un instant donné (valeur NULL). e. Cardinalités d’une classe d’associations
 Les cardinalités min, max d’un segment reliant une classe d’associations et une
R2 : Une propriété est une caractéristique élémentaire. Les données calculées ne sont classe d’entités indiquent le nombre minimal et maximal de fois qu’une entité
pas alors acceptées dans un modèle E-A. peut participer aux associations.
 La cardinalité minimale prend l’une des valeurs 0 ou 1.
R3 : Une classe d’entités et ses propriétés doivent être cohérentes entre elles dans la  La cardinalité minimale prend la valeur 1 ou n.
mesure où elles ne traitent que d’un seul sujet.
Ex 13. Un livre est emprunté par plusieurs étudiants, voire aucun, et un étudiant peut
Ex 10. Modélisons des informations relatives à des livres et à leurs auteurs. Ces emprunter un ou plusieurs livres.
informations ne doivent pas être modélisées dans une même classe d’entités LIVRES.
ÉTUDIANTS LIVRES
R4 : Une propriété est placée dans une classe d’associations lorsqu’elle dépend de 1, n 0, n
Emprunter
toutes les classes d’entités liées par cette classe d’associations. matricule numLivre
dateEmprunt
nomEtudiant titre
Ex 11. La propriété dateEmprunt caractérise l’emprunt d’un livre par un étudiant donné.
Elle caractérise alors le lien entre les classes d’entités LIVRES et ÉTUDIANTS.
 Une instance possible du modèle E-A de l’exemple ci-dessus est décrite ci-après
d. Identifiant où sont représentées 3 instances de ÉTUDIANTS et 4 instances de LIVRES ainsi
 Un identifiant d’une classe d’entités (resp. d’associations) est un ensemble que la cardinalité 1, n pour ÉTUDIANTS et 0, n pour LIVRES.
minimal de propriétés.
 Il permet d’identifier chaque entité (resp. chaque association) de manière
unique.
 Il est composé d’une seule propriété ou peut en comporter plusieurs.
 Graphiquement, il est souligné et mis en tête parmi la liste des propriétés de la
classe d’entités (resp. d’associations).

Ex 12. La propriété matricule constitue un identifiant de la classe


ÉTUDIANTS
d’entités ÉTUDIANTS.
matricule
Les deux étudiants <INF2017-101, YOUSFI> et <INF2017-102, nomEtudiant
YOUSFI>) ont les mêmes noms, mais pas les mêmes matricules.

Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 3
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)
Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

f. Identifiant d’une classe d’associations Pour résoudre ce problème, il suffit que la propriété dateEmprunt fasse partie de
 L’identifiant d’une classe d’associations n vers n est composé des identifiants de l’identifiant de la classe d’associations Emprunter.
ses participants. Seule une classe d’associations n vers n possède des propriétés.

Ex 14. Considérons le modèle E-A de l’exemple 13. L’identifiant de la classe d’associations


Emprunter est constitué par les propriétés « matricule, numLivre ».

 L’identifiant d’une classe d’associations 1 vers n est composé de l’identifiant du


participant se trouvant du côté de la cardinalité maximale 1.

Ex 15. Considérons le modèle E-A ci-après. L’identifiant de la classe d’associations


Posséder est numAvion.
Dans le cas où un même étudiant pouvait emprunter un même livre à deux
COMPAGNIES AVIONS
dates différentes, l’identifiant de la classe d’associations Emprunter ne
1, n Posséder 1, 1
permettrait plus de distinguer ces deux associations. codeCompagnie numAvion
nomCompagnie Capacité

Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 4
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)
Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

 Une classe d’associations 1 vers 1 possède deux identifiants candidats issus des  La classe d’entités spécialisée a des propriétés qui lui sont propres.
deux participants ; il suffit d’en choisir un de manière appropriée.  On peut avoir une hiérarchie d’héritage à plusieurs niveaux

Ex 16. Considérons le modèle E-A ci-après. L’identifiant de la classe d’associations Ex 18. Modélisons le lien entre les classes d’entités PERSONNES
Obtenir pourrait être codeÉlève ou numDiplôme. PERSONNES, ÉTUDIANTS et ÉTUDIANTS-FC. numéro
 Les étudiants en fin de cycle sont aussi des étudiants ; nom
ÉLÈVES DIPLÔMES  Ils dispensent en plus d’un nom du projet ;
0, 1 Obtenir 1, 1  ÉTUDIANTS est la classe d’entités générale ;
codeÉlève numDiplôme
nomÉlève dateObten  ÉTUDIANTS-FC est la classe d’entités spécialisée ;
ÉTUDIANTS
 Les étudiants sont des personnes.
diplômePréparé
g. Identifiant relatif
 Il comporte au moins une propriété liée à une autre classe d’entités. Ex 19. Modélisons les liens entre différents type de comptes
 Les entités identifiées par un identifiant relatif dépendent d’autres entités. bancaires (comptes, comptes courants et comptes épargnes).
 L’identifiant relatif est reconnaissable par la présence d’un lien identifiant. ÉTUDIANTS-FC
nomProjet
COMPTES
Ex 17. La propriété numSalle est un identifiant absolu qui ne permet pas d’avoir le même numCompte
numéro de salle dans deux bloc différents ; numBloc, numSalle est un identifiant relatif Solde
de la classe d’entité SALLES.

BLOCS SALLES
1, n seTrouver (1, 1)
numBloc numSalle CPT-COURANTS CPT-EPARGNES
nomBloc Capacité
Lien identifiant nbOpCB txInteret

3. Héritage Ex 20. Gestion d’une bibliothèque où un livres est écrit par des auteurs et emprunter par
 L’héritage est utilisé pour hiérarchiser deux classes CE GÉNÉRALE des étudiants.
d’entités d’interprétation comparable.
 La classe d’entité de sémantique plus générale occupe le identifiantCEG PERSONNES LIVRES
rang supérieur alors que celle de sémantique spécifique prop1CEG 0, n Emprunter 0, n
occupe le rang inférieur. numPersonne dateEmprunt numLivre
 Il traduit le lien « est un » et se note avec une flèche qui nomPersonne titre
part de la classe d’entités spécialisée. CE SPÉCIALISÉE
 La classe d’entités spécialisée hérite toutes les propriétés 0, n Écrire 1, n
de la classe d’entités générale. prop1CES

Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 5
École supérieure en Sciences et Technologies de l’Informatique et du Numérique (ESTIN)
Département 2e cycle 1ère années Classe de Spécialité 2021 – 2022 Bases de Données

Dans le cas où on ajoute un attribut annéEtude à la classe d’entités PERSONNES, toute Ex 22. Le modèle de cet exemple souffre de plusieurs anomalies :
PERSONNES
instance représentant un auteur n’aura pas de valeur pour cette propriété. (1) Pour une personne ne possédant pas d’adresse
secondaire, la propriété adresseSecond ne comportera numPers
aucune valeur. nomPersonne
(2) On ne peut pas représenter le fait qu’une personne prenomPersonne
peut avoir plusieurs numéros de téléphone. adressePrinc
(3) Il est impossible de connaitre, par exemple, la ville adresseSecon
d’une personne si cette information fait partie d’une numTéléphones
propriété adresse.

Voici l’exemple d’un modèle bien formé :

4. Recommandations de conception d’un modèle E-A


 Les propriétés qui semblent s’imposer naturellement comme des identifiants,
sont très souvent des pièges.
 Une propriété correspondant à un type énuméré est généralement remplacée
par une classe d’entités.
Ex 21. Pour une classe d’entités VOITURES, la propriété numImmatriculation ne
représente pas un identifiant correcte parce que la valeur de cette propriété change à
Ex 23. La propriété genre pour une classe d’entités FILMS peut prendre des valeurs telles
chaque fois que le propriétaire/département d’une voiture change.
que drame, comédie, etc. On la modélise alors sous forme d’une classe d’entités GENRES
avec une classe d’associations additionnelle.
 Dans un modèle E-A, le nom d’une classe d’entités, voire d’une classe
d’associations, doit être unique.
5. Conclusion
 Un MCD est un modèle abstrait des concepts relatifs à un domaine d’application
Pour les classes d’entités/associations comportant des propriétés de même
particulier.
nom, il est judicieux (mais cela n’est pas imposé) d’ajouter à la propriété le
 Le MCD est ensuite traduit à un modèle logique de données (modèle
nom de la classe d’entités/associations dans laquelle elle se trouve.
relationnel, par exemple) en appliquant un ensemble de règles précises.
Ex. nomEtudiant pour une classe d’entités ÉTUDIANTS.
 Le modèle E-A est un type de MCD permettant de décrire les concepts d’un
domaine par des classes d’entités reliées par des classes d’associations.
 Une propriété multiple (plus d’une valeur) ou composite (non-élémentaire) doit
 Chaque classe d’entités (resp. d’associations) a des propriétés dont une d’entre
être remplacé par une classe d’entités et une classe d’associations
elles permet d’identifier chaque entité (resp. association) de manière unique.
supplémentaires.
 Éviter les propriétés vide (ne comportant aucune valeur) dans un modèle E-A
bien formé ;
Dr Mohamed Essaid KHANOUCHE, Support de cours bases de données, 1ère CS ESTIN, Algérie, 2021-2022 6

Vous aimerez peut-être aussi