0% ont trouvé ce document utile (0 vote)
10 vues52 pages

Modélisation des bases de données avancée

Le document traite de la modélisation des bases de données, en mettant l'accent sur les cardinalités et la normalisation des modèles. Il explique les concepts fondamentaux, tels que les entités, les associations et les dépendances fonctionnelles, ainsi que les différentes formes normales à respecter. Enfin, il illustre ces concepts à travers des exemples pratiques, notamment dans le contexte du Tour de France.

Transféré par

emna.gadgets
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)
10 vues52 pages

Modélisation des bases de données avancée

Le document traite de la modélisation des bases de données, en mettant l'accent sur les cardinalités et la normalisation des modèles. Il explique les concepts fondamentaux, tels que les entités, les associations et les dépendances fonctionnelles, ainsi que les différentes formes normales à respecter. Enfin, il illustre ces concepts à travers des exemples pratiques, notamment dans le contexte du Tour de France.

Transféré par

emna.gadgets
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

Bases de données :

plus loin en modélisation

Karën Fort

[Link]@[Link]

1 / 52
Sources d’inspiration (avec leur accord)

I Cours de B. Habert (ENS Lyon)


I Cours de N. Chaignaud (Rouen)
I Cours de G. Lejeune (SU)
I Conception méthodique des bases de données, G. Bueno, Ellipses, 2008

2 / 52
Retours

Cardinalités

Normalisation des modèles

Pour finir

3 / 52
Retours
Questions
A propos des entités et des associations
Rappels sur la méthode

Cardinalités

Normalisation des modèles

Pour finir

4 / 52
5 / 52
Retours
Questions
A propos des entités et des associations
Rappels sur la méthode

Cardinalités

Normalisation des modèles

Pour finir

6 / 52
Autant d’entités que nécessaire

Entité1 Entité2
Association1
Id_Entité1 Id_Entité2
Attr1 Id_Entité1 Attr1
Attr2 Attr2
Id_Entité2
Id_Entité3
Id_Entité4

Entité4 Entité3

Id_Entité4 Id_Entité3
Attr1 Attr1
Attr2 Attr2

7 / 52
Autant d’associations que nécessaire

Entité1 Entité2
Association1
Id_Entité1 Id_Entité2
Attr1 Id_Entité1 Attr1
Attr2 Attr2
Id_Entité2
Id_Entité3
Id_Entité4

Entité3
Entité4
Association2 Id_Entité3
Id_Entité4 Attr1
Id_Entité1 Attr2
Attr1
Id_Entité4
Attr2

8 / 52
Pas d’association entre associations

Entité1 Entité2
Association1
Id_Entité1 Id_Entité2
Attr1 Id_Entité1 Attr1
Attr2 Attr2
Id_Entité2
Id_Entité3
Id_Entité4

Entité3
Entité4
Association2 Id_Entité3
Id_Entité4 Attr1
Id_Entité1 Attr2
Attr1
Id_Entité4
Attr2

9 / 52
Retours
Questions
A propos des entités et des associations
Rappels sur la méthode

Cardinalités

Normalisation des modèles

Pour finir

10 / 52
A garder en tête lors de la création du modèle

1. avoir l’application prévue en vue : la modélisation va largement dépendre de celle-ci


2. verbaliser : trouver des phrases qui expriment ce qu’on attend du modèle (un
usager emprunte un livre ). . .
3. . . . et les transformer en entités (noms) et relations (verbes)
4. tester le modèle (il ne peut pas être parfait du premier coup)

11 / 52
Retours

Cardinalités
Définitions
Tour de France

Normalisation des modèles

Pour finir

12 / 52
Intuition

Client Produit
Commande

Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

Questions
Est-ce qu’un même produit peut être commandé par plusieurs clients ?
Est-ce qu’un même client peut commander plusieurs produits ?

13 / 52
Retours

Cardinalités
Définitions
Tour de France

Normalisation des modèles

Pour finir

14 / 52
Cardinalités

Pour un couple entité-association (E,A) on doit ajouter m, M :


I cardinalité minimale m : le nombre minimal de participation d’une entité à une
association
I cardinalité maximale M : le nombre maximal de participation d’une entité à une
association

Les valeurs utilisées sont :


I 0 : aucune participation
I 1 : une seule participation
I n : plusieurs participations

15 / 52
Cas 1,1
1 minimum (m), 1 maximum (M)

Client Produit
Commande
1,1 1,1
Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

I Un client donné ne commande qu’un seul produit (minimum = maximum).


I Un produit donné n’est commandé que par un seul client.

16 / 52
Cas 1,1
1 minimum (m), 1 maximum (M)

Client Produit
Commande
1,1 1,1
Id_Client Id_Produit
Id_Produit
Nom Id_Client Nom
Date_Commande

1,1
Chaque occurrence de l’entité est concernée une et une seule fois par l’association.
C’est le cas le plus restrictif.

17 / 52
Cas 0,1
0 minimum (m), 1 maximum (M)

Client Produit
Commande
1,1 0,1
Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

I Un client donné ne commande qu’un seul produit.


I Un produit donné n’est commandé que par un seul client maximum, mais peut ne
pas être commandé du tout.

18 / 52
Cas 0,1
0 minimum (m), 1 maximum (M)

Client Produit
Commande
1,1 0,1
Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

0,1
Chaque occurrence de l’entité est concernée au plus une fois par l’association. Cela
signifie que certaines occurrences ne le sont pas et si elles le sont, elles ne le sont au
maximum qu’une seule fois chacune.

19 / 52
Cas 1,n
1 minimum (m), n maximum (M)

Client Produit
Commande
1,n 1,n
Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

I Un client donné peut commander un ou plusieurs produits.


I Un produit donné peut être commandé par un ou plusieurs clients.

20 / 52
Cas 1,n
1 minimum (m), n maximum (M)

Client Produit
Commande
1,n 1,n
Id_Client Id_Produit
Id_Produit
Nom Nom
Id_Client
Date_Commande

1,n
Chaque occurrence de l’entité est concernée au moins une fois par l’association et elle
peut l’être plusieurs fois. Il n’y a pas d’occurrence qui ne soit pas concernée par
l’association.

21 / 52
Cas 0,n
0 minimum (m), n maximum (M)

Client Produit
0,n Commande 0,n
Id_Client Id_Produit
Date_Commande
Nom Nom

I Un client donné peut ne commander aucun produit ou plusieurs produits.


I Un produit donné peut être commandé par plusieurs clients ou ne pas être
commandé du tout.

22 / 52
Cas 0,n
0 minimum (m), n maximum (M)

Client Produit
0,n Commande 0,n
Id_Client Id_Produit
Date_Commande
Nom Nom

0,n
Chaque occurrence de l’entité peut être concernée par l’association aucune ou
plusieurs fois. Toutes les situations sont possibles. C’est le cas le moins restrictif.

23 / 52
Cardinalités : pour quoi faire ?

Les cardinalités
I permettent de mesurer la densité informationnelle des associations
I sont exploitées par les SGBD relationnels pour assurer l’intégrité des données en
contrôlant les liens entre les tables : plus la cardinalité est restrictive, plus le
contrôle est rigoureux.
I forment le troisième pilier fondamental de la modélisation relationnelle de données

Trois piliers ?
Quels sont les deux autres piliers ?

24 / 52
Retours

Cardinalités
Définitions
Tour de France

Normalisation des modèles

Pour finir

25 / 52
Modèle E/A du Tour de France
Coureur Pays
Provenir
NuméroCoureur CodePays
NomCoureur NomPays

Participer
Appartenir
TempsRéalisé

Etape Equipe

NuméroEtape CodeEquipe
Date NomEquipe
VilleDépart DirecteurSportif
VilleArrivée
NbKm

26 / 52
Ajoutez les cardinalités : groupes de 2 ou 3
Coureur Pays
Provenir
NuméroCoureur CodePays
NomCoureur NomPays

Participer
Appartenir
TempsRéalisé

Etape Equipe

NuméroEtape CodeEquipe
Date NomEquipe
VilleDépart DirecteurSportif
VilleArrivée
NbKm

27 / 52
Association Coureur/Pays

Coureur Pays
1,1 Provenir 0,n
NuméroCoureur CodePays
NomCoureur NomPays

1,1
I Un coureur provient au min d’ 1 pays et au max d’1 pays
⇔ Un coureur provient d’un et d’un seul pays
0,n
I Un pays est représenté par au min 0 coureur et au max n
⇔ Un pays est représenté par aucun ou plusieurs coureur

28 / 52
Association Coureur/Equipe
Coureur

NuméroCoureur
NomCoureur

1,1

Appartenir

1,n

Equipe

CodeEquipe
NomEquipe
DirecteurSportif

29 / 52
Association Coureur/Equipe
Coureur

NuméroCoureur
NomCoureur

1,1

I Un coureur appartient à une et une seule


Appartenir
équipe.
I Une équipe est composée d’un ou plusieurs
coureurs
1,n

Equipe

CodeEquipe
NomEquipe
DirecteurSportif

30 / 52
Association Coureur/Etape
Coureur

NuméroCoureur
NomCoureur

1,n

Participer

TempsRéalisé I Un coureur participe à une ou plusieurs étapes


I à une étape participent un ou plusieurs coureurs

1,n

Etape

NuméroEtape
Date
VilleDépart
VilleArrivée
NbKm

31 / 52
Avec les cardinalités
Coureur Pays
1,1 Provenir 0,n
NuméroCoureur CodePays
NomCoureur NomPays

1,n 1,1

Participer
Appartenir
TempsRéalisé

1,n 1,n
Etape Equipe

NuméroEtape CodeEquipe
Date NomEquipe
VilleDépart DirecteurSportif
VilleArrivée
NbKm

32 / 52
Retours

Cardinalités

Normalisation des modèles


Définitions
Première forme normale
Deuxième forme normale
Troisième forme normale

Pour finir

33 / 52
Formes normales ou conditions de normalisation

En théorie, 6 formes normales à respecter, mais


les trois premières couvrent la grande majorité des cas

→ Permettent d’assurer le passage (quasi) automatique à un modèle logique

34 / 52
Retours

Cardinalités

Normalisation des modèles


Définitions
Première forme normale
Deuxième forme normale
Troisième forme normale

Pour finir

35 / 52
Dépendance fonctionnelle (DF)

Deux propriétés P1 et P2 sont en dépendance fonctionnelle de P1 vers P2


ssi pour toute valeur de P1 il existe une valeur unique de P2 associée.

Autrement dit
La connaissance de P1 détermine P2

36 / 52
Monovaluée

Une propriété monovaluée est une propriété qui ne peut prendre qu’une
seule valeur, indépendamment de sa complexité.

Exemple
Une adresse qui rassemble en une seule propriété le numéro, le type de voie, le nom de
la voie, le code postal et la ville, est monovaluée.

37 / 52
Retours

Cardinalités

Normalisation des modèles


Définitions
Première forme normale
Deuxième forme normale
Troisième forme normale

Pour finir

38 / 52
Première forme normale

Une entité est en première forme normale ssi


1. Toutes les propriétés sont atomiques, c’est-à-dire monovaluées et non divisibles ;
2. Il existe une propriété qui joue le rôle d’identifiant ;
3. Toutes les propriétés dépendent de l’identifiant par une dépendance fonctionnelle.

39 / 52
Exemple

Client

Id_Client
Nom
Prénom
Adresse
Num_Tel

I Chaque propriété doit être considérée comme un tout indivisible : c’est le cas ici.
I Il existe un identifiant : ID_Client
I Toutes les propriétés dépendent de l’identifiant par une dépendance fonctionnelle :
la connaissance de l’ID_Client détermine en effet ici le nom du client, son prénom,
son adresse et son numéro de tel.

40 / 52
Retours

Cardinalités

Normalisation des modèles


Définitions
Première forme normale
Deuxième forme normale
Troisième forme normale

Pour finir

41 / 52
Deuxième forme normale

Une entité est en deuxième forme normale ssi


1. Elle est en première forme normale ;
2. Toutes les propriétés dépendent de l’identifiant par une dépendance fonctionnelle
élémentaire.

42 / 52
Contre-exemple
Une propriété ne doit pas dépendre de l’identifiant et en même temps d’une partie de
celui-ci :

Client

Id_Client
CP_Ville_Client
Nom_Client
Ville_Client

I il existe une DF entre le couple (ID_Client, CP_Ville_Client) et Ville_Client ET


I il existe une DF entre CP_Ville_Client et Ville_Client
⇒ n’est pas en deuxième forme normale

43 / 52
Retours

Cardinalités

Normalisation des modèles


Définitions
Première forme normale
Deuxième forme normale
Troisième forme normale

Pour finir

44 / 52
Troisième forme normale

Une entité est en troisième forme normale ssi


1. Elle est en deuxième forme normale ;
2. Il n’existe pas d’autre DF entre propriétés autre que celles existant entre chaque
propriété et l’identifiant : toutes les propriétés dépendent de l’identifiant par une
DFE directe.

45 / 52
Contre-exemple

Client

Id_Client
DF1
CP_Ville_Client
Nom_Client DF
DF2
Ville_Client

I DF peut s’obtenir à partir de DF1 associée à DF2


⇒ n’est pas en troisième forme normale

46 / 52
Retours

Cardinalités

Normalisation des modèles

Pour finir
CQFR : Ce Qu’il Faut Retenir
TD

47 / 52
I Méthode
I Cardinalités
I Formes normales

48 / 52
TD noté (suite)

à rendre à la fin du TD, par groupe (de 3, avec au moins 1 francophone natif), sous
forme papier :
I modélisation sous forme de schéma E/A
I avec les cardinalités
I exemples (instanciation du schéma)

49 / 52
Modéliser quoi ?
Par groupes de 3

I Mon premier est un animal,


I Mon second est une anse,
I Mon tout est une devinette.

Solution : chat - rade -> charade

50 / 52
Application

Site Web pour les enfants, qui leur propose des charades.

51 / 52
Conseils

Exemples de charades :
[Link]

I couvrir le plus de cas possibles


I tester la modélisation (avec des exemples)
I présentez votre travail de façon à le mettre en valeur (expliquez vos choix)

52 / 52

Vous aimerez peut-être aussi