Vous êtes sur la page 1sur 110

18/10/2022

THEORIES DES BASES DE DONNEES 2


13:59:43
MODÈLE DE BASE DE
DONNÉES DE HAUT NIVEAU
Qu’est-ce qu’un modèle de données?
• La notion de “modèle de données” est une des
plus important points dans l’apprentissage des
systèmes de base de données.
• Un modèle de données est une notation de
description des données ou l’information.

18/10/2022
THEORIES DES BASES DE DONNEES 3
13:59:43
MODÈLE DE BASE DE
DONNÉES DE HAUT NIVEAU
• La modélisation et implémentation d’une
base de données:
Schéma base SGBD
Idées Modèle
de données relationnel
Conceptuel
relationnelle
Schéma de conception d’une base de données

18/10/2022
THEORIES DES BASES DE DONNEES 4
13:59:43
MODÈLE DE BASE DE
DONNÉES DE HAUT NIVEAU
• De façon pratique il est préférable de
commencer par la conception au modèle de
haut niveau et après, le convertir au modèle
relationnel.
• Le modèle relationnel est plus facile à
implémenter pour les opérations des base de
données. Le modèle relationnel des BD n’a
que le concept « relation »
18/10/2022
THEORIES DES BASES DE DONNEES 5
13:59:43
MODÈLE DE BASE DE
DONNÉES DE HAUT NIVEAU
• Mais cette simplicité est un handicap pour les conceptions
préliminaires d’où la nécessité de passer par le modèle
conceptuel.
• Il y a plusieurs notations d’expression de conception:
• La méthode la plus ancienne est la méthode des
diagrammes entité et associations (E/A).
• La tendance la plus récente est l’utilisation de l’UML
(“Unified Modeling Language”), une notation qui est
originairement désignée pour décrire les projets de
logiciels orientés objets, et étendue pour décrire les BD
aussi.
18/10/2022
THEORIES DES BASES DE DONNEES 6
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Dans un modèle Entité- Association (E/A) ou bien
Entity-Relationship(E/R en anglais), la structure de
données est représentée graphiquement en
“diagrammes d’entité -association” utilisant trois
principaux éléments types:
• Ensemble (classe) d’entité
• Attributs
• Association
18/10/2022
THEORIES DES BASES DE DONNEES 7
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.1. Les ensembles des entités
• Une entité est une abstraction d’objet d’une
sorte et une collection d’entité similaire forme
un ensemble d’entités.
• Une entité ressemble à un objet dans une
programmation orientée objet. De la même
manière, un ensemble d’entité doit présenter les
ressemblances aux propriétés d’une classe.
18/10/2022
THEORIES DES BASES DE DONNEES 8
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Exemple:
• Dans l’exemple de la base de données de la
gestion de réservations des tickets de vol,
chaque pilote est une entité et l’ensemble de
tous les pilotes est l’ensemble des entités.
Chaque vol aussi est une entité et l’ensemble de
tous les vols est un ensemble d’entités.

18/10/2022
THEORIES DES BASES DE DONNEES 9
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.2.2. Attributs
• Les entités sont associes aux attributs qui les
caractérisent dans l’ensemble des entités.
• Exemple:
• Pour l’entité « Pilote », peut avoir comme attributs
le numéro d’identification, le nom, le numéro
d’avion.
• Les entités sont aussi implémentées comme les
relations du modèle relationnel.
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
10
LE MODÈLE ENTITÉ-
ASSOCIATION
• Dans certaines versions du modèle de E/A, le type
d’un attribut peut être :
Type primitive comme entiers, chaines de
caractères, réels, …
Un “struct” comme en C, ou tuple avec un nombre
fixe de constituants de type primitifs.
• Dans notre version nous utiliserons des types primitifs.
18/10/2022
THEORIES DES BASES DE DONNEES 11
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.3 Associations
• Une association définit les relations existant
entre deux ou plus d’ensembles d’entités.
• Exemple:
• Si “Pilote” et “Avions” sont deux ensembles
d’entités, nous pouvons avoir la relation “travaille
sur ” reliant l’avion au pilote.
• Le modèle E/A permet d’association incluant un
nombre quelconque d’ensembles d’entités.
18/10/2022
THEORIES DES BASES DE DONNEES 12
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.4. Diagramme d’Entité-Association
• Un diagramme A/E est un graphe représentant
les ensembles d’entités, les attributs, et les
associations.
• Les nœuds du graphes représentent les éléments
de chaque type de ces composants, et une forme
spéciale est utilisée pour différencier ces types:
Composants Ensemble Attributs Associations
d’entités
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
13

Forme Rectangle Ovale losanges


LE MODÈLE ENTITÉ-
ASSOCIATION
• Les lignes relient les ensemble d’entités à leurs attributs, et les
associations à leurs ensembles d’entités.

18/10/2022
THEORIES DES BASES DE DONNEES 14
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.5 Instances d’un diagramme E/A
• Les diagramme E/A sont des notations
pour décrire les schémas des base de
données.
• Comme le modèle E/A est seulement
utilisé au niveau conceptuel, l’instance
n’existe pas en tant que telle.
18/10/2022
THEORIES DES BASES DE DONNEES 15
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION

18/10/2022
THEORIES DES BASES DE DONNEES 16
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Chaque tuple est considéré connectés par association
R.
• Cet ensemble de tuples est appelé “ensemble
d’association” pour R. Il est souvent nécessaire de
visualiser la représentation d’ensemble d’association
sous forme de tableau ou relation.
• Pourtant les tuples d’un ensemble d’association ne
sont pas des tuples réels de la relation car leur
contenu sont des entités au lieu d’être des types
primitifs comme entiers, caractères, etc.
18/10/2022
THEORIES DES BASES DE DONNEES 17
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Les colonnes du tableau des entités ont comme en-
tête des noms des ensembles d’entités impliquées
dans l’association, et chaque liste d’entités
connectées par l’association occupant une ligne du
tableau.
• Exemple: Instance
Pilotede l’association
Vol “Travaille sur”
B2212 Bob A330 BJM KSH
B2312 Shah A338 PEK CAN
B3423 Nick
THEORIES DES BASES DE DONNEES A478 KGL NBI 18/10/2022
18
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.6 Multiplicité (cardinalités) d’association
binaire E/A
• En général, une association binaire peut
connecter tout membre d’un de ses ensembles
d’entités à tout membre d’un autre ensemble
d’entités.
• Parfois, il est nécessaire de préciser une
multiplicité d’association.
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
19
LE MODÈLE ENTITÉ-
ASSOCIATION
• Supposons une association R qui relie les
ensembles d’entités E et F. Alors:
• Si chaque membre de E peut être connecté par R à
au plus un membre de F, alors on dit que R est
« plusieurs-un (N-1) » de E à F. Il faut noter que
dans une telle association de E à F, chaque entité
en F peut être connecté à plusieurs membres de E.
Similairement, un membre de F ne peut être
connecté qu’au plus un membre de E. 18/10/2022
THEORIES DES BASES DE DONNEES 20
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Si R est en même temps “plusieurs –un (N-
1)” pour E vers F et pour F vers E, alors on
dit que R est “un-un (1-1)”. Dans une telle
association une entité de chaque ensemble
d’entités peut être connecté au plus une
entité de l’autre ensemble.
• Si R est ni plusieurs-un ni "un-un (1-1)”,
alors E vers F et F vers E, alors nous disons
que R est de “plusieurs-plusieurs (M-N)”.
18/10/2022
THEORIES DES BASES DE DONNEES 21
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Exemple:

18/10/2022
THEORIES DES BASES DE DONNEES 22
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Les seuls cardinalités admises sont donc :
• 0, 1 : une occurrence du type-entité peut exister tout en
étant impliquée dans aucune association et peut être
impliquée dans au maximum une association.
• 0, n : c’est la cardinalité la plus ouverte ; une occurrence du
type-entité peut exister tout en étant impliquée dans aucune
association et peut être impliquée, sans limitation, dans
plusieurs associations.

18/10/2022
THEORIES DES BASES DE DONNEES 23
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• 1, 1 : une occurrence du type-entité ne
peut exister que si elle est impliquée dans
exactement (au moins et au plus) une
association.
• 1, n : une occurrence du type-entité ne
peut exister que si elle est impliquée dans
au moins une association.
18/10/2022
THEORIES DES BASES DE DONNEES 24
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.7 Une association multiway.
• Le modèle E/A permet de représenter des
associations impliquant plus de deux ensembles
d’entités.
• En pratique, une association ternaire ou de
degré supérieur sont très rares. Mais
occasionnellement, elles sont nécessaires pour
refléter la situation réelle.
18/10/2022
THEORIES DES BASES DE DONNEES 25
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Exemple: • L’association “Contracts”
implique trois entités qui
Stars Movies
sont : Movies, Stars et
Studio.
Contracts • La flèche vers Studio
signifie que pour un star
signe un seul contract pour
un film, il n’y a qu’une seule
studio pour ce contract.
Studios
18/10/2022
THEORIES DES BASES DE DONNEES 26
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.8 Rôles dans associations
• Il est possible qu’un ensemble d’entités apparaissent
deux ou plusieurs fois dans une seule association.
• Donc, on trace autant de lignes de l’association vers
l’ensemble d’entité comme il apparait dans
l’association.
• Chaque ligne représente le rôle de cette entité dans
l’association. Dans ce cas, les lignes et les
associations impliquées sont étiquetés pour pouvoir
les distinguer.
THEORIES DES BASES DE DONNEES
18/10/2022
27
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• Exemple: • Dans l’association
précédente, on ajouter un
Stars Movies autre studio de production.
• Donc on obtient un tuple de
Contracts forme(studio1, studio2,star,
movie). Pour dire que le
studio1 signe un contrat avec
Studio du Studio de studio2 pour que le star de
star production studio1 puisse jouer dans un
film particulier dans studio2
Studios
18/10/2022
THEORIES DES BASES DE DONNEES 28
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• 3.1.9 Les attributs d’association
• Parfois, il deviant necessaire d’associer un attribut
plus que l’assoccier avec un quelcoque ensemble
d’entites.
• Exemple: Dans l’association “contract” entre Star,
Movie et Studio, le salaire ne peut pas etre associe au
star car le star a different salaires pour different films,
le salaire ne peut pas etre associe au films mais il est
associe au contract.
18/10/2022
THEORIES DES BASES DE DONNEES 29
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.10 Convertir une association multiway
en association binaire
• Beaucoup de modèle de modélisation de
données limite les association aux types binaires.
Mais le modèle E/A ne requiert pas
d’associations binaires, mais il est aussi
important de remarquer qu’une association
reliant plus de ensemble d’entités peut être
reconvertie en une association binaire.
18/10/2022
THEORIES DES BASES DE DONNEES 30
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
1. Introduire un nouvel ensemble d’entités pour lequel
les entités sont des tuples de l’ensemble
d’association multiway. Cet ensemble d’entité est
appelé “connecter un ensemble d’entités”.
2. Introduire une association “plusieurs-un(n-1)” de
l’ensemble d’entités connectant, vers tout ensemble
d’entités fournissant des composants de tuples dans
l’original. Si une association joue plus d’un rôle
alors, il est cible d’une association pour chaque
rôle.
18/10/2022
THEORIES DES BASES DE DONNEES 31
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION

18/10/2022
THEORIES DES BASES DE DONNEES 32
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION

18/10/2022
THEORIES DES BASES DE DONNEES 33
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION
• 3.1.11 Sous-classes en modèle E/A
• Parfois les ensembles d’entités
contiennent certaines entités ayant des
propriétés particulières, non communes
aux autres membre de l’ensemble.

18/10/2022
THEORIES DES BASES DE DONNEES 34
13:59:43
LE MODÈLE ENTITÉ-
ASSOCIATION

18/10/2022
13:59:43

THEORIES DES BASES DE DONNEES 35


LE MODÈLE ENTITÉ-
ASSOCIATION
3.1.12. Exercice
• Concevoir une base de données d’une banque avec les
information sur les clients et les comptes. Information des
clients inclut le nom, l’adresse, téléphone, numéro de
sécurité sociale. L’information sur les comptes inclut le
numéro de compte, le type (consultation, crédit, courant,…),
le solde. En plus, on enregistre les clients qui ont un compte.
Dresse un diagramme E/A pour cette base de données, tout
en marquant les multiplicités ( cardinalités) appropriées.
18/10/2022
THEORIES DES BASES DE DONNEES 36
13:59:43
PRINCIPE DE CONCEPTION
3.2.1 Fidélité
• La conception doit être bien précise sur les spécifications
de l’application. Donc, les ensembles des entités et leurs
attributs doivent refléter la réalité.
• Par exemple: nous ne pouvons attaché un attribut
“nombre de cylindres” sur l’entité “Film”. Cet attribut
aurait du sens pour une entité “Automobile”.
• Toute association utilisée devrait refléter la réalité connue
dans le monde réel.
18/10/2022
THEORIES DES BASES DE DONNEES 37
13:59:43
PRINCIPE DE CONCEPTION

3.2.2 Eviter les redondances


• La redondance et les anomalies sont des
problèmes typiques pouvant surgir lors de la
conception du modèle E/A aussi.
• Nous devons faire attention pour tout dire une
fois pour toutes.

18/10/2022
THEORIES DES BASES DE DONNEES 38
13:59:43
PRINCIPE DE CONCEPTION

3.2.3 Simplicité
• Il faut éviter d’introduire plus d’éléments que nécessaires.
• Exemple: Dans l’association de Movie et Studio on
introduit la notion de propriété d’un seul film. Nous
devons créer donc, un ensemble d’entité “Holdings
(exploitations)”. Une association 1,1 de représentation est
établie entre les film et leurs exploitations représentant le
film. Une autre association 1,n est aussi établie entre
exploitations
THEORIES DES BASESet studios.
DE DONNEES
18/10/2022
13:59:43
39
PRINCIPE DE CONCEPTION

Techniquement, la structure de cette figure reflète la réalité,


car il est possible de passer du film à son propriétaire unique
studio en passant par Holdings. Toutefois, les exploitations
(Holdings), sont inutiles car on peut s’en passer sans perte
d’information et pourtant complique le programme exploitant
cette THEORIES
association, gaspille l’espace mémoire et encourage
DES BASES DE DONNEES
18/10/2022
40
les
13:59:43
erreurs.
PRINCIPE DE CONCEPTION

3.2.4 Choisir associations exactes


• Les ensembles d’entités peuvent être connectés de
plusieurs manières.
• Ajouter toute association possible dans la conception
peut amener aux redondances, anomalies de mise à
jour et anomalies de suppression, quand par
exemple, les classes d’entités connectées pour une
association peuvent être déduites d’une ou plusieurs
autres associations.
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
41
PRINCIPE DE CONCEPTION

• Avons-nous besoin d’une


nouvelle association entre
Stars et Studios? On a
besoins de plus
d’information pour juger.
• En résumé, il est difficile
de dire exactement quand
il y aura redondance, mais
il faut juger selon les cas.
18/10/2022
THEORIES DES BASES DE DONNEES 42
13:59:43
PRINCIPE DE CONCEPTION
3.2.5 Choisir le type exact des éléments
• Parfois, nous avons des options quant aux choix des types
des éléments de conception utilises pour représenter les
concepts du monde réel.
• Plusieurs de ces options sont entre l’utilisation des
combinaisons d’attributs et E/A.
• En général, un attribut est plus facile a implémenter que
les entités et association. Toutefois, il faut éviter de tout
élément enBASES
THEORIES DES attributs.
DE DONNEES
18/10/2022
13:59:43
43
CONTRAINTE DANS LE MODÈLE
E/A

• Le modèle E/A a plusieurs façon


d’imposer des contraintes sur les
données qui vont peupler les bases
de données.

18/10/2022
THEORIES DES BASES DE DONNEES 44
13:59:43
CONTRAINTE DANS LE MODÈLE
E/A
3.3.1 Les clés dans le modèle E/A
• La clé pour une entité E est un ensemble K de un ou
plus attributs tels qu’étant donné deux entités
distinctes e1 et e2 de E, e1 et e2 ne peuvent pas avoir
de même valeurs pour chaque attribut de la clé K.
• Si K est constitues de plusieurs attributs, il est
possible que e1 et e2 peuvent avoir certaines valeurs
identiques dans certains attributs mais jamais pour
tous.
18/10/2022
THEORIES DES BASES DE DONNEES 45
13:59:43
CONTRAINTE DANS LE MODÈLE
E/A
3.3.2 Représentation de clé dans le modèle E/A
• Dans un diagramme de E/A les cles sont soulignees.

18/10/2022
THEORIES DES BASES DE DONNEES 46
13:59:43
CONTRAINTE DANS LE MODÈLE
E/A
3.3.3 Intégrité référentielle
• Cette contrainte stipule qu’une valeur
apparaissant dans un contexte doit
apparaitre dans un autre.
• Ex: Dans l’association entre Pilote et Vol,
s’il y a un numéro d’avion il faut que ce
numéro existe dans la base de donnée
dans la liste des avions.
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
47
CONTRAINTE DANS LE MODÈLE
E/A
3.3.4 Contrainte de degré
• Dans le modèle E/A, nous pouvons attacher une
délimitation aux liaisons joignant une
association a un ensemble d’entités, indiquant
les limites de nombre d’entités pouvant être
connecte à une autre entité correspondante.

THEORIES DES BASES DE DONNEES 48

18/10/2022
13:59:43
PASSAGE D’UN SCHÉMA
ENTITÉ/ASSOCIATION
À UN SCHÉMA RELATIONNEL
Etape 1 : Toute classe d’entités du diagramme
entité/association est représentée par une relation
dans le schéma relationnel équivalent. La clé de
cette relation est l’identifiant de la classe d’entités
correspondante.

Acteurs(NumAct, Nom, Prenom)

18/10/2022
THEORIES DES BASES DE DONNEES 49
13:59:43
PASSAGE D’UN SCHÉMA
ENTITÉ/ASSOCIATION
À UN SCHÉMA RELATIONNEL
• Etape 2 : Toute classe d’association est
transformée en relation. La clé de cette relation
est composée de tous les identifiants des entités
participantes.

Joue(NumAct, Role, NumFil)

18/10/2022
THEORIES DES BASES DE DONNEES 50
13:59:43
PASSAGE D’UN SCHÉMA
ENTITÉ/ASSOCIATION
À UN SCHÉMA RELATIONNEL
• Etape 3 (optimisation) : Toute classe
d’associations reliée à une classe d ’entités avec
une cardinalité de type 0,1 ou 1,1 peut être
fusionnée avec la classe d ’entités.
• Dans ce cas on déplace les attributs de la classe
d’associations vers ceux de la relation traduisant
la classe d ’entités.

18/10/2022
THEORIES DES BASES DE DONNEES 51
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
 UML est une notation graphique de modélisation à
objets
 Il permet de :
 visualiser ,
 spécifier,
 construire
 et documenter les différentes parties d’un système
logiciel
 Un langage graphique basé sur des diagrammes
18/10/2022
THEORIES DES BASES DE DONNEES 52
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Concept objet
• Centraliser les données et les traitements associes dans une
même unité appelée objet.
• Quelques rappels:
• Objet: Un objet est caractérisé par:
• une identité ou un nom,
• Un état: défini par un ensemble de valeurs d’attributs;
• Un comportement: défini par un ensemble de
méthodes.
18/10/2022
THEORIES DES BASES DE DONNEES 53
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Classe: Une abstraction qui représente un ensemble
d’objets de même nature ( attributs et méthodes). Un
objet est une instance de sa classe.
• Encapsulation: la possibilité de masquer certains détails
de l’implantation. Réalisé en particulier par des
constituants privés des objets.
• Agrégation et composition : permettent la définition des
objets hybrides, fabriques a partir des objets plus
simples.
18/10/2022
THEORIES DES BASES DE DONNEES 54
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
•Extension: la possibilité permettant la
définition d’une nouvelle classe a partir
d’une classe existante. L’extension
permet de définir les hiérarchies de
classes.
•Héritage: Une classe dérivée hérite des
attributs et méthodes de la classe mère.
L’héritage permet d’ éviter la
duplication de constituants et
encourage la réutilisation.
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
55
UNIFIED MODELING LANGUAGE
(UML)
• Le UML offre les mêmes capabilités que le
modèle E/A, à l’exception de la relation
multiway.
• UML aussi offre la possibilités de traiter les
classes des entités comme de vraies classes avec
des méthodes et des données.
• De la même façon, un schéma conceptuel UML
peut alors être traduit en schéma logique
(relationnel ou relationnel-objet typiquement).
18/10/2022
THEORIES DES BASES DE DONNEES 56
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Une comparaison de terme UML et E/A
modèle.
UML Model E-R
Classe Classe/ Ensemble d’entites
Association Association binaire
Classe d’association Attributs dans une association
Sous-class La hiérarchie “isa”
Aggregation Association “Plusieurs –un(N,1)
Composition Association un-un(1,1) avec intégrité
référentielle. 18/10/2022
THEORIES DES BASES DE DONNEES 57
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.1 Diagramme de classe
• Le diagramme de classes est un sous ensemble
d'UML qui s'attache à la description statique d'un
modèle de données représentées par des classes
d'objets.
• Une classe est un type abstrait caractérisé par des
propriétés (attributs et méthodes) communes à un
ensemble d'objets et permettant de créer des
instances de ces objets, ayant ces propriétés.
18/10/2022
THEORIES DES BASES DE DONNEES 58
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
Exemple d’une classe
La syntaxe d’une classe

18/10/2022
THEORIES DES BASES DE DONNEES 59
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
Ex.: Une instance de la • La modélisation sous
classe Voiture forme de diagramme
de classes est une
L'objet V1 est une
modélisation statique,
instance de la classe
qui met en exergue la
Voiture.
structure d'un
 V1 : Voiture modèle, mais ne rend
 Marque : 'Citroën' pas compte de son
 Type : 'ZX' évolution temporelle.
 Portes : 5
 Puissance : 6 THEORIES DES BASES DE DONNEES

 Kilométrage : 300000 18/10/2022


13:59:43
60
UNIFIED MODELING LANGUAGE
(UML)
• UML propose d'autres types de diagrammes
pour traiter, notamment, de ces aspects.
• La partie basse du diagramme de classe contient
des méthodes. Ni le modèle E/A ni le modèle
relationnel ne prévoient des méthodes. Mais
c’est un concept important qui apparait dans les
systèmes relationnels modernes, dits SGBD
relationnel-objet.
18/10/2022
THEORIES DES BASES DE DONNEES 61
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• 3.4.2 Attributs
• Un attribut est une information élémentaire qui
caractérise une classe et dont la valeur dépend
de l'objet instancié.
• Un attribut est typé : Le domaine des valeurs que
peut prendre l'attribut est fixé à priori.

18/10/2022
THEORIES DES BASES DE DONNEES 62
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Un attribut peut être multivalué : Il peut prendre
plusieurs valeurs distinctes dans son domaine.
• Un attribut peut être dérivé : Sa valeur alors est une
fonction sur d'autres attributs de la classe
• Un attribut peut être composé (ou composite) : Il joue
alors le rôle d'un groupe d'attributs.
• Exemple: une adresse peut être un attribut composé
des attributs numéro, type de voie, nom de la voie.
18/10/2022
THEORIES DES BASES DE DONNEES 63
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Cette notion renvoie à la notion de variable de type Record
dans les langages de programmation classiques.
• En UML on préfère l'usage de méthodes aux attributs
dérivés. On utilisera toujours des méthodes dès que la valeur
de l'attribut dérivé dépend d'autres attributs extérieurs à sa
classe.
• En UML on préfère l'usage de compositions aux attributs
composés. On utilisera toujours des compositions pour les
attributs composés et multivalués.
18/10/2022
THEORIES DES BASES DE DONNEES 64
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
La syntaxe:
attribut:type
attribut_multivalue[nbMi
nValeurs..nbMaxValeurs]:
type
/attribut_derive:type
attribut_compose
sous-attribut1:type
sous-attribut2:type
...
THEORIES DES BASES DE DONNEES
18/10/2022
13:59:43
65
UNIFIED MODELING LANGUAGE
(UML)
3.4.3. Repérage des clés
• Un attribut ou un groupe d'attributs peut être
annoté comme étant clé s'il permet d'identifier
de façon unique un objet de la classe.
• On ajoute le symbole {key} à côté du/des
attributs concernés.

18/10/2022
THEORIES DES BASES DE DONNEES 66
13:59:43
UNIFIED MODELING LANGUAGE
(UML)

Le repérage des clés n'est pas systématique en UML (la


définition des clés se fera essentiellement au niveau logique).
On cherchera néanmoins à repérer les clés rendues évidentes
par laTHEORIES
phase de clarification.
DES BASES DE DONNEES
18/10/2022
67
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.4 Méthodes
• Une méthode (ou opération) est une fonction
associée à une classe d'objet qui permet d'agir
sur les objets de la classe ou qui permet à ces
objets de renvoyer des valeurs (calculées en
fonction de paramètres).
• La syntaxe:
methode(parametres):type
18/10/2022
THEORIES DES BASES DE DONNEES 68
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Pour la modélisation des bases de données, les
méthodes sont surtout utilisées pour représenter
des données calculées (à l'instar des attributs
dérivées) ou pour mettre en exergue des
fonctions importantes du système cible.
• Seules les méthodes les plus importantes sont
représentées, l'approche est moins systématique
qu'en modélisation objet par exemple.
18/10/2022
THEORIES DES BASES DE DONNEES 69
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Lors de la transformation du modèle conceptuel UML
en modèle logique relationnel, les méthodes ne seront
généralement pas implémentées. Leur repérage au
niveau conceptuel sert donc surtout d'aide-mémoire
pour l'implémentation au niveau appli catif.
• Au contraire, un modèle logique relationnel-objet
permettra l'implémentation de méthodes directement
associées à des tables. Leur repérage au niveau
conceptuel est donc encore plus important.
18/10/2022
THEORIES DES BASES DE DONNEES 70
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.5 Associations
• Une association est une relation logique entre deux
classes (association binaire) ou plus (association n-aire)
qui définit un ensemble de liens entre les objets de ces
classes.
• Une association est nommée, généralement par un
verbe. Une association peut avoir des propriétés (à
l'instar d'une classe). Une association définit le nombre
minimum et maximum d'instances autorisée dans la
relation (on parle de cardinalité). 18/10/2022
13:59:43
71
THEORIES DES BASES DE DONNEES
UNIFIED MODELING LANGUAGE
(UML)

Notation de l'association en UML


Le nom de l'association (verbe qui la décrit) est obligatoire, au
même titre que le nom d'une classe ou d'un attribut. Une
association est généralement bidirectionnelle (c'est à dire qu'elle
peut se lire dans les deux sens). Les associations qui ne
respectent pas cette propriété sont dites unidirectionnelles ou à
navigation restreinte. 18/10/2022
72
THEORIES DES BASES DE DONNEES 13:59:43
UNIFIED MODELING LANGUAGE
(UML)

L'association Conduit entre les classes Conducteur et Voiture


exprime que les conducteurs conduisent des voitures.
18/10/2022
THEORIES DES BASES DE DONNEES 73
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• 3.4.6 Cardinalité
• La cardinalité d'une association permet de représenter le
nombre minimum et maximum d'instances qui sont
autorisées à participer à la relation. La cardinalité est définie
pour les deux sens de la relation.
• Syntaxe
• Si mina (resp. maxa) est le nombre minimum (resp.
maximum) d'instances de la classe A autorisées à participer
à l'association, on note sur la relation, à côté de la classe A :
mina..maxa. Si le nombre maximum est indéterminé, on
note n ou *.
18/10/2022
THEORIES DES BASES DE DONNEES 74
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• La notation de la cardinalité en UML est
opposée à celle adoptée en E-A. En UML on
note à gauche (resp. à droite) le nombre
d'instances de la classe de gauche (resp. de
droite) autorisées dans l'association. En E-A, on
note à gauche (resp. à droite) le nombre
d'instances de la classe de droite (resp. de
gauche) autorisées dans l'association.

18/10/2022
THEORIES DES BASES DE DONNEES 75
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Les cardinalités les plus courantes sont :
• 0..1 (optionnel)
• 1..1 ou 1 (un)
• 0..n ou 0..* ou * (plusieurs)
• 1..n ou 1..* (obligatoire)

18/10/2022
THEORIES DES BASES DE DONNEES 76
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.7 Auto-association
• Une association peut avoir les deux bouts dans
une même classe. Ce type d’association est dite
“ auto-association”.
• Pour distinguer les deux rôles joués par une
classe dans une auto-association, nous donnons
deux noms, un à chaque bout.

EQUIPE capitaine

THEORIES DES BASES DE DONNEES


1 18/10/2022 77
13:59:43
Membre *..1
dirige
UNIFIED MODELING LANGUAGE
(UML)

3.4.8 Classe d'association

• On utilise la notation des


classes d'association
lorsque l'on souhaite
ajouter des propriétés à
une association.

18/10/2022
THEORIES DES BASES DE DONNEES 78
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• On réserve en général
les classes d'association
aux associations N:M.
• Il est toujours possible
de réduire une classe
d'association sur une
association 1:N en
migrant ses attributs
sur la classe côté N, et
c'est en général plus
lisible ainsi.
18/10/2022
THEORIES DES BASES DE DONNEES 79
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Selon le standard UML une classe d'association
est une classe et à ce titre elle peut être mobilisée
dans d'autres associations ou dans des héritages.
Il faut éviter cependant ces notations qui ont
tendance à complexifier la lecture et la
transformation du diagramme.

18/10/2022
THEORIES DES BASES DE DONNEES 80
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.9 Sous classe
• En UML, une classe peut avoir une ou plusieurs
sous-classes sous son hiérarchie,
• L’héritage peut être:
• Complete
• Partielle (ou incomplète)
• Disjointe(ou exclusive)
18/10/2022
THEORIES DES BASES DE DONNEES 81
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Les sous-classes sont représentés par des
rectangles comme les classes.
• Les sous-classes héritent les propriétés avant les
super-classes(classes mères).

18/10/2022
THEORIES DES BASES DE DONNEES 82
13:59:43
UNIFIED MODELING LANGUAGE
(UML)

• Des sous-classes sont


dite complète si tous
les objets de la classe
mère sont membre
d’une des sous classes

18/10/2022
THEORIES DES BASES DE DONNEES 83
13:59:43
UNIFIED MODELING LANGUAGE
(UML)

• Des sous-classes sont


partielle s’elles ne
sont pas complètes

18/10/2022
THEORIES DES BASES DE DONNEES 84
13:59:43
UNIFIED MODELING LANGUAGE
(UML)

• Des sous-classes sont


disjointes (exclusives),
si un objet de la classe
mère ne peut pas
appartenir a la fois a
deux ou plus sous-
classes

18/10/2022
THEORIES DES BASES DE DONNEES 85
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
3.4.10. Agrégation et la composition
• Une agrégation est une association
binaire particulière qui modélise une
relation entre un « tout » et une « partie »
: une relation d’appartenance.

18/10/2022
THEORIES DES BASES DE DONNEES 86
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• La figure montre une
agrégation entre les
classes A et B :
• un objet de la classe
B, appelé agrégat, • Relation d’agrégation entre les
contient un certain classes A et B
nombre d’objets de la
classe A, appelés
composants.
• Exemple: Le segment
Modélisation d’un segment
18/10/2022
THEORIES DES BASES DE DONNEES 87
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Composition
• Une composition est une agrégation particulière,
pour laquelle une partie ne peut être partagée
entre plusieurs agrégats. Autrement dit, la
multiplicité du coté de l’agrégat est 0 ou 1.

Relation de composition entre


THEORIES DES BASES DE DONNEES
Un diagramme de classes qui
18/10/2022
88
13:59:43
les classes A et B modélise des voitures.
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

3.5.1 UML en Relations


• Pour chaque classe nous créons une relation dont le
nom est le nom de la classe, et les attributs sont les
attributs de la classe.
• Pour chaque association, une relation de même nom
que l’association est créée. Les attributs de la relation
sont les attribut-clés des deux classes associées.
• S’il y a une coïncidence entre les attributs des classes
connectées, il faut les renommer. 18/10/2022
THEORIES DES BASES DE DONNEES 89
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

 Studio(Nom, Adresse)
 Films(Titre, Annee, Temps, Type)
 Acteurs(Nom, Adresse)
 Joue(NomAct, TitreFil, AnneeFil)
 possede(NomStu,TitreFil,AnneeFil);

18/10/2022
THEORIES DES BASES DE DONNEES 90
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• En cas d’une association classe, les attributs clés


sont ajoutés aux attributs de l’association classe.

 Films(Titre, Annee, Temps,


Type)
 Acteurs(Nom, Adresse)
 Joue(NomAct, TitreFil,
AnneeFil, Salaire, Restants)

18/10/2022
THEORIES DES BASES DE DONNEES 91
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

3.5.2 UML sous-classes en Relation


• Le modèle relationnel ne permet pas de
représenter directement une relation d'héritage,
puisque que seuls les concepts de relation et de
clé existent dans le modèle.
• Il faut donc appauvrir le modèle conceptuel pour
qu’il puisse être représenté selon un schéma
relationnel.
18/10/2022
THEORIES DES BASES DE DONNEES 92
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• Trois solutions existent pour transformer une


relation d'héritage :
 Représenter l'héritage par une référence
entre la classe mère et la classe fille.
 Représenter uniquement les classes filles par
une relation chacune.
 Représenter uniquement la classe mère par
une seule relation
18/10/2022
THEORIES DES BASES DE DONNEES 93
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

Représenter l'héritage par une référence entre la


classe mère et la classe fille
• Chaque classe, mère ou fille, est représentée par
une relation. La clé primaire de la classe mère
est utilisée pour identifier chacune de ses classes
filles : cette clé étant pour chaque classe fille à la
fois la clé primaire et une clé étrangère vers la
classe mère.
18/10/2022
THEORIES DES BASES DE DONNEES 94
13:59:43
UNIFIED MODELING LANGUAGE
(UML)
• Si une classe fille a une
clé définie dans le
modèle conceptuel,
cette clé n'est pas
retenue pour être la clé
primaire dans le modèle
relationnel, étant donné
que c'est la clé
Classe1(#a,b) étrangère référence à la
Classe2(#a=>Classe1,c,d) avec c KEY classe mère qui est
Classe3(#a=>Classe1,e,f) avec e KEY retenue.
18/10/2022
THEORIES DES BASES DE DONNEES 95
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• La cardinalité d'un lien entre une classe fille et


une classe mère est (1,1):(0,1) :
• En effet toute instance fille référence
obligatoirement une et une seule instance mère
(pas d'héritage multiple) et toute instance mère
est référencée une ou zéro fois (zéro fois si un
objet peut être directement du type de la classe
mère) par chaque instance fille.

18/10/2022
THEORIES DES BASES DE DONNEES 96
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

 Représenter uniquement les classes filles par une


relation chacune.
• Chaque classe fille est représentée par une
relation, la classe mère n'est pas représentée (si
elle est abstraite).
• Tous les attributs de la classe mère sont répétés
au niveau de chaque classe fille.
• La clé primaire de la classe mère est utilisée
pour identifier chacune de ses classes filles.
18/10/2022
THEORIES DES BASES DE DONNEES 97
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

Si une classe fille a une clé


primaire, cette clé n'est pas
retenue, et c'est bien la clé héritée
de la classe mère qui devient la
clé primaire (mais elle est bien
entendu maintenue comme clé
Classe2(#a,b,c,d) avec c
KEY
candidate).
Classe3(#a,b,e,f) avec e
KEY
18/10/2022
THEORIES DES BASES DE DONNEES 98
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

Représenter uniquement la classe mère par une


seule relation
• Seule la classe mère est représentée par une
relation (ses classes filles ne sont pas
représentées par des relations).
• Tous les attributs de chaque classe fille sont
réintégrés au niveau de la classe mère.

18/10/2022
THEORIES DES BASES DE DONNEES 99
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• La clé primaire de la classe mère est utilisée


pour identifier la relation.
• Un attribut supplémentaire de discrimination
(pour "type"), est ajouté à la classe t mère, afin
de distinguer les tuples.
• Cet attribut est de type énumération et a pour
valeurs possibles les noms de la classe mère ou
des différents classes filles.
18/10/2022
THEORIES DES BASES DE DONNEES 100
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

Si une classe fille a une clé


primaire propre, cette clé sera
réintégrée à la classe mère, au
même titre qu'un autre
attribut, mais elle n'officiera pas
en tant que clé candidate car elle
pourra contenir des valeurs
nulles (elle sera néanmoins
Classe1(#a,b,c,d,e,f,t:{1,2,3})
avec c UNIQUE et e UNIQUE unique).
18/10/2022
THEORIES DES BASES DE DONNEES 101
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS
Choisir le bon mode de transformation d'une
relation d'héritage
Inconvénients Cas d'usage
Par référence Lourdeur liée à la nécessité de Adapté à tous les cas,
représenter les données des classes particulièrement lorsque la
filles sur deux relations classe mère n'est pas abstraite
Par les classes Les associations avec la classe mère Adapté à l'héritage exclusif,
filles peuvent être problématiques ; particulièrement lorsque la
redondance classe mère est abstraite et ne
dans le cas de l'héritage non exclusif comporte pas d'association
Par la classe Nullité systématique pour les attributs Adapté à l'héritage complet et
mère des classes filles (et pour la classe presque complet,
mère si celle-ci n'est pas abstraite) ; particulièrement lorsque la
THEORIES DES héritage non exclusif et non complet classe mère n'est pas abstraite
18/10/2022
BASES DE DONNEES 102
13:59:43
problématique
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

3.5.3. Exemple:
• Soit le modèle UML suivant:

18/10/2022
13:59:43
THEORIES DES BASES DE DONNEES 103
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• Etude de l’héritage:
1. L'héritage n'est pas complet, puisque l'on observe
que les thèses et les livres ont des attributs qui ne
sont pas communs (la discipline pour la thèse et
l'éditeur pour le livre). Mais l'on peut considérer
qu'il est presque complet, car il n'y a qu'un attribut
par classe fille de différence et pas d'association
associée aux classes filles.
2. La classe mère est abstraite, on ne gère que des
livre ou des thèses, pas d'autres documents.

18/10/2022
THEORIES DES BASES DE DONNEES 104
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• La meilleure solution est donc ici un héritage par


les classes filles, mais un héritage par la classe
mère reste un bon choix. En revanche l'héritage
par référence est un mauvais choix, car il conduit
à une solution inutilement complexe.
• La solution:
• Document(#Titre, Discipline:Chaîne,
Editeur:Chaîne, Auteur:Chaîne, Type:
{These|Livre})
18/10/2022
THEORIES DES BASES DE DONNEES 105
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

3.5.4 Composition et agrégation


• Une composition est transformée comme une
association 1:N, puis on ajoute à la clé de la
classe partie (dite clé locale) la clé étrangère vers
la classe composite pour construire une clé
primaire composée.

Classe1(#a,b)
THEORIES DES BASES DE DONNEES
Classe2(#c,#a=>Classe1,d)
18/10/2022
106
13:59:43
TRANSFORMATION DES DIAGRAMMES
DE L’UML EN RELATIONS

• Les associations de type agrégation se traitent de


la même façon que les associations classiques.

Classe1(#a, b)
Classe2(#c, d, a=>Classe1)
THEORIES DES BASES DE DONNEES
18/10/2022
107
13:59:43
EXERCICE

• Soit une représentation en diagramme UML

Transformez-le en modèle relationnel.


18/10/2022
THEORIES DES BASES DE DONNEES 108
13:59:43
Références
• Jeffrey D. Ullman and Jennifer Widom. A First Course in
DATABASE SYSTEMS, Third Edition , Pearson Eduction, 2008
• E.F. Codd, A relational model for large shared data banks, Comm.
ACM 13:6, pp.377-387, 1970.
• Noel Novelli. Initiation aux Base de données: Dépendance
fonctionnelles et normalisation.
• Stéphane Crozat. Transformation de l'héritage en relationnel. Jan.
2018.
Paternité - Partage des Conditions Initiales à l'Identique :
http://creativecommons.org/licenses/by-sa/4.0/fr/
• http://www.info.univangers.fr/~gh/Pluripass/Db/ea.pdf

18/10/2022
THEORIES DES BASES DE DONNEES 109
13:59:43
18/10/2022
THEORIES DES BASES DE DONNEES 110
13:59:43

Vous aimerez peut-être aussi