Vous êtes sur la page 1sur 48

1 BD&W

CONCEPTION DE BASES DE DONNÉES

A. Bouraoui
GBM2
AU 2021/2022
© AB BD & W 2021
Plan
2

 Schéma d’une base de données


 Etude de cas : deux exemples
 Schéma de bases de données
 Le modèle Entité-Association (E/A)
 Concepts fondamentaux
 Application pour aboutir à un modèle conceptuel (EA)

© AB BD & W 2021
Exemple 1 : Etude de cas
3
Un élément du monde qui existe et se distingue des autres des
liens ou relations entre ces objets !

A un
voiture

Est le
frère
À un
de
compte
à la
banque

© AB BD & W 2021
4
A partir de l’exemple 1
• Comment structurer/modéliser ces données?

• Comment représenter les relations entre les


différents objets ?

© AB BD & W 2021
Approche naïve
5
Nom Prenom Age Prenom frere Age frere Marque Kilométrage Banque Compte Solde ….
voiture
Marwen Ali 35 Omar 20 Mazda 12000 Biat 2122440 3500 ….

Que se passe-t-il, si Ali a un autre frère ?

Que se passe-t-il si Ali a une autre voiture ?

Que se passe-t-il si Ali a plusieurs comptes bancaires dans


une ou plusieurs banques ?

Que se passe-t-il si Omar a lui-même une voiture et des


comptes bancaires ?
Cette représentation n’est pas adaptée !
• Il faut modéliser les données différemment !
4

© AB BD & W 2021
6 Exemple2 : Etude de cas
 Un schéma d’une table = un nom et un ensemble d’attributs. (nom
d’une Entité et ses caractéristiques)
 Exemple de schéma : Film (titre, Année, NomR, PrénomR,
AnnéeNaiss)

Film
Titre Année NomR PrénomR AnnéeNaiss
Alien 1979 Scott Ridley 1943
Vertigo 1958 Hitchcock Alfred 1899
Psychose 1960 Hitchcock Alfred 1899
Kagemusha 1980 Kurosawa Akira 1910
Volte Face 1997 Woo John 1946
Titanic 1997 Cameron James 1954
Sacrifice 1986
© AB BD & W 2021
Tarkovski Andrei 1932
7 Exemple 2 : Etude de cas
Problèmes générés par ce schéma :
 Anomalies d’ajout ou mises à jour
 Anomalies à la suppression
 Films ayant le même titre?
 Erreur sur une info saisie, répercutée….

Titre Année NomR PrénomR AnnéeNaiss


Alien 1979 Scott Ridley 1943
Vertigo 1958 Hitchcock Alfred 1899
Psychose 1960 Hitchcock Alfrd 1899
Kagemusha 1980 Kurosawa Akira 1910
Volte Face 1997 Woo John 1946
Titanic 1997 Cameron James 1954
Sacrifice 1986 Tarkovski Andrei 1932
© AB BD & W 2021
8 Discussion : Insertion

 Anomalies d’insertion :
 Peut il y avoir 2 films ayant le même titre?
 Oui : comment caractériser un film de manière unique
 Non : on devrait s’assurer qu’il n’y ait pas 2 fois le même titre

 Possibilité d’insérer plusieurs fois un film en le décrivant


différemment.
 Si un film a plusieurs réalisateurs?

© AB BD & W 2021
9 Discussion : Modification

 Anomalies de modification
 La redondance -> anomalies de MAJ
 Exemple : modifier l’année de naissance de Hitchcock
sur une seule ligne
 Informations incohérentes
 Même question que précédemment :
 Y a-t-il un seul Hitchcock? Une seule année de naissance ou
plusieurs possibles.

© AB BD & W 2021
10 Discussion : Suppression

 Anomalies de suppression
 Supprimer un film -> supprimer le réalisateur

© AB BD & W 2021
11 Solution 1
Répartir en deux tableaux : Film et Réalisateur

On a perdu la relation entre Film et Réalisateur


Qu’est ce qui permet de dire qu’il n’y a plus de redondance?

© AB BD & W 2021
12 Solution 2 : meilleure
Clé étrangère
Titre Année IdR
Alien 1979 101 • Chaque info a sa place, une
Vertigo 1958 102 seule fois.
• Il est possible de reconstruire
l’information.

Id Nom Prénom AnnéeN


101 Scott Ridley 1943
102 Hitchcock Alfred 1899
103 Kurosawa Akira 1910
104 … … Etc.
© AB BD & W 2021
Clé primaire
13
Modéliser les données
 Objectif
 Définir la structure de nos données

 Outils / Méthodologie
 Les modèles de type « conceptuel »
 Schéma Entité/Association

o Vérification du modèle
 Normalisation

© AB BD & W 2021
Méthodologie
14
Analyse des besoins

Modèle conceptuel de données (MCD)


Schéma E/A

Modèle relationnel

Modèle logique (MLD) Client(numC, nom, prenom, #idArd)


Adresse(idAdr, Rue, CP, Ville)
Compte(numCo, solde)
Dispose(numC, numCo, datec)

SGBD

Modèle Physique (MPD)


© AB BD & W 2021
15 Modèle E/A

 Définition
 Concepts de base
 Entités, Attributs, Identifiants
 Types d’entités (TE)
 Types d’associations (TA)
 Cardinalités
 Dimensions d’association
 Types d’associations
 Vérification du MCD

© AB BD & W 2021
16
Le modèle entité Association (E/A)
 Le modèle Entité/Association (E/A) propose
essentiellement une notation pour soutenir la
démarche de conception de schéma de BD.
 Repose sur une représentation graphique qui facilite
considérablement sa compréhension.
 Permet de décrire un ensemble de données relatives à
un domaine défini afin de les intégrer ensuite dans
une Base de Données
 Modèle Conceptuel de Données (MCD)

© AB BD & W 2021
17 Les concepts de base
 Type d’Entité
 un objet qui existe dans le monde réel, possède une « identité »
et des propriétés
 exemple
 Une personne :
 Une instance possible : Omar.

 Une voiture :

 Une instance possible : une Mazda

 Type d’Association
 une relation entre deux ou plusieurs entités
 exemple
 Association entre deux personnes: être_frère_de
 Omar est le frère de Marwen

 Association entre une personne et une voiture: possède

 Marwen possède une voiture

Par abus de langage: Type d’entité  Entité


© AB BD & W 2021 Type d’association  association
18
Les concepts de base
 Attribut
 propriété d’une entité ou d'une association
 prend ses valeurs dans un domaine de valeurs de type simple
(caractère, chaîne de caractères, entier, date)
 Exemple:
 L’entité Personne a pour propriétés:
 datedeNaissance, nationalité, profession …

 L’entité Voiture a pour propriétés:

 Couleur, kilométrage ….

 L’association Possède a pour propriétés

 DateAchat, MontantAchat

© AB BD & W 2021
19 Identifiant d’entité
 Un identifiant permet de repérer une entité de manière unique
et sans ambigüité parmi toutes les entités
 Un numéro de plaque d’immatriculation identifie de manière
unique une voiture
 Un numéro de sécurité sociale identifie de manière unique
une personne

 Un identifiant peut être constitué d’un ou plusieurs attributs

Personne
Personne
NumSS ou
Nom Prenom
Nom
AnneeDeNaissance
Prenom
AnneeDeNaissance
© AB BD & W 2021
20
Formalismes de présentation
 Les entités
Formalisme CHEN Formalisme MERISE
Voiture Voiture
Nv
Type
Nv Type Marque Vitesse Km Marque
Vitesse
Km

Nom de l’entité : Voiture


Noms des attributs : Nv, Type, Marque, Vitesse, Km
Identifiant : Nv
Les attributs qui identifient l’entité sont soulignés par un trait plein
© AB BD & W 2021
21 Formalismes de présentation
 Les associations selon Chen
Personne 1 N Voiture
Possède

Date Prix

Nom de l’association : Possède


Entités associées : Personne, Voiture
Sens de lecture de l’association :
Nom des attributs : Date, Prix

Cardinalité (nombre maximum d’associations possibles) : 1, N

© AB BD & W 2021
22 Formalismes de présentation
 Les associations selon MERISE
Personne Voiture

Nom Prenom 1:N Possède 1:1


Nveh
Type
Date Prix
AnneedeNaissance
Marque
Nationalité
Vittesse
Km

Nom de l’association : Possède


Entités associées : Personne, Voiture
Sens de lecture de l’association :
Nom des attributs : Date, Prix

Cardinalité (nombre maximum d’association possible) : 1:1, 1:N

© AB BD & W 2021
23
Cardinalités des rôles
 La cardinalité des rôles permet d’exprimer la façon
dont sont associées les entités.
 Définition des restrictions sur le nombre d’associations
possibles entre deux entités
 Il faut pouvoir exprimer que :
 une voiture n’est possédée que par une personne

 Une personne peut posséder plusieurs voitures

 …

 Cardinalités possibles:
 CHEN (uniquement les max): 1, N
 MERISE (min : max): 0:1 , 1:1, 0:N, 1:N, N:M

© AB BD & W 2021
24 Cardinalité des rôles
 CHEN
1 N
Personne Possède Voiture

Une voiture peut être Une personne peut


possédé par au plus une posséder N voitures
personne

 MERISE

1:N Possède 0:1


Voiture
Personne

Une personne peut Une voiture peut être


posséder au moins une possédée par au plus
voiture une personne
© AB BD & W 2021
Les cardinalités possibles
25

 Associations 0:1 ou 1:1

EntitéA EntitéB
0:1 Assoc. 1:1
Propriétés de
Propriétés de
EntitéA Prop. Assoc. EntitéB

Une entité de EntitéA peut Une entité de EntitéB peut


être reliée à au plus une être reliée à une et une seule
entité de B entité de A

Un exemple?

© AB BD & W 2021
Les cardinalités possibles
26

 Associations 0:N ou 1:N

EntitéA EntitéB
0:N Assoc. 1:N
Propriétés de
Propriétés de
EntitéA Prop. Assoc. EntitéB

Une entité de EntitéA peut Une entité de EntitéB peut


être reliée à aucune ou à être reliée au moins un
plusieurs entités de B entité de A

© AB BD & W 2021
Les cardinalités possibles
27

 Association M,N

EntitéA EntitéB
M:N Assoc. Propriétés de
Propriétés de
EntitéA Prop. Assoc. EntitéB

Une entité de EntitéA peut


être reliée au minimum à M
entités de EntitéB et au
maximum à N entités de
EntitéB

© AB BD & W 2021
Les cardinalités possibles (Chen)
28

© AB BD & W 2021
29 Identifiant d’association

 Une association n’a pas explicitement d’identifiant.

 L’identifiant est implicite en juxtaposant des


identifiants des entités associées

© AB BD & W 2021
30
Associations binaires, ternaires, n-aires

 Il est possible d’associer plusieurs entités


 Jusqu’à présent, nous avons vu uniquement des
associations binaires

 Association ternaire
Client
N°client
Nom
Adresse
1:N
Compte Banque
1:1 Possède 1:N
Nom
N°Compte
Adresse
Solde
SeuilDécouvert

© AB BD & W 2021
31
Associations binaires, ternaires, n-aires
Client
N°client
Nom
Adresse
1:N

Compte Banque
1:1 Possède 1:N
N°Compte Nom

Solde Adresse

SeuilDécouvert

 Lecture des cardinalités:


 Un compte est associé à un seul Client pour une Banque donnée
 Un client peut avoir plusieurs comptes bancaires
 Une banque peut avoir plusieurs comptes clients

© AB BD & W 2021
32 Associations binaires, ternaires, n-aires

 Association n-aire (n>3)


 A éviter … c’est qu’il y a un problème de modélisation

 Toute association n-aire peut s’exprimer par une


combinaison d’associations binaires

© AB BD & W 2021
33 Association réflexive
 Il est possible d’associer une entité à elle-même

1:N

Pièce
idP
est_composée_de
nom
type
1:N

1:1

Personne
idP est_pere_de
nom
adresse
1:N
© AB BD & W 2021
34
Méthodologie
 Guide de conception :

1. Etablir la liste des entités


2. Déterminer les attributs de chaque entité en choisissant un
identifiant
3. Etablir les relations entre les différentes entités
4. Déterminer les attributs de chaque relation et définir
les cardinalités
5. Vérifier la cohérence et la pertinence du schéma obtenu

© AB BD & W 2021
35 Application
 On souhaite modéliser sous forme d’un schéma
entité-association l’information suivante:

Dans le cadre de la conception d’une base de données


bancaire, la banque BAT souhaite stocker les
informations sur ses clients et leurs comptes.
Chaque client dispose d’un identifiant unique nclient
Pour chaque client, il est nécessaire de stocker son nom,
son adresse actuelle (Rue, CP et Ville) et sa profession.
Chaque client dispose d’au moins un compte. Un
compte, identifié par un numéro unique ncompte.
De plus, on souhaite pouvoir connaitre le solde du
compte ainsi que l’année à laquelle le compte a été
ouvert par le client.

© AB BD & W 2021
36 Application: traitement

1. Etablir le Dictionnaire Des Données qui contient tous les concepts


identifiables de l’énoncé en tenant en compte des indications.
2. Mettre ces concepts dans une matrice carrée de (nombre de concepts
* nombre de concepts).
3. Remplir la matrice :
 Noter toutes les DF (dépendances fonctionnelles) dans chaque colonne
 Mettre étoile (*) dans les cases identité.
4. Faire le total de chaque ligne, il doit être de 0 ou 1, sinon il faut réduire à
1 en :
 Eliminant les DF réflexives
 Eliminant les DF transitives

© AB BD & W 2021
37 Application : traitement

On souhaite modéliser sous forme d’un schéma entité-


association l’information suivante:
 Dans le cadre de la conception d’une base de données
bancaire, la banque « BAT » souhaite stocker les
informations sur ses clients et leurs comptes.
 Chaque client dispose d’un identifiant unique nclient
 Pour chaque client, il est nécessaire de stocker son nom,
son adresse actuelle (Rue, CP et Ville) et sa profession.
 Chaque client dispose d’au moins un compte. Un
compte, identifié par un numéro unique ncompte.
 De plus, on souhaite pouvoir connaitre le solde du
compte ainsi que l’année à laquelle le compte a été
ouvert par le client.

© AB BD & W 2021
38 DDD
Variable Signification Type Taille Commentaire

Nclient Numéro du Numérique 6


client
Nom Nom du client Chaine 50

Rue Rue de Chaine 20


l’adresse
Cp .. numérique 4

Ville … Chaine 20

Profession … Chaine 30

ncompte Numérique 6

solde réel 6,3

année date 4 1980 < a <2050

© AB BD & W 2021
39 Application: traitement

1. Etablir le DDD qui contient tous les concepts identifiables de l’énoncé en


tenant en compte des indications.
2. Mettre ces concepts dans une matrice carrée de (nombre de concepts
* nombre de concepts).
3. Remplir la matrice :
 Noter toutes les DF (dépendances fonctionnelles) dans chaque colonne
 Mettre étoile (*) dans les cases identité.
4. Faire le total de chaque ligne, il doit être de 0 ou 1, sinon il faut réduire à
1 en :
 Eliminant les DF réflexives
 Eliminant les DF transitives

© AB BD & W 2021
40 Application : traitement (MDF)

1 2 3 4 5 6 7 8 9

1 nclient * 1

2 nom 1 *

3 Rue 1 *

4 cp 1 *

5 ville 1 1 *

6 profession 1 *

7 ncompte 1 *

8 solde 1 *

9 annee 1 *

© AB BD & W 2021
41 Application: traitement

1. Etablir le DDD qui contient tous les concepts identifiables de l’énoncé en


tenant en compte des indications.
2. Mettre ces concepts dans une matrice carrée de (nombre de concepts
* nombre de concepts).
3. Remplir la matrice :
 Noter toutes les DF (dépendances fonctionnelles) dans chaque colonne
 Mettre étoile (*) dans les cases identité.
4. Faire le total de chaque ligne, il doit être de 0 ou 1, sinon il faut réduire à
1 en :
 Eliminant les DF réflexives
 Eliminant les DF transitives

© AB BD & W 2021
42 Application: traitement

1 2 3 4 5 6 7 8 9 Total
1 nclient * 1 1

2 nom 1 * 1

3 Rue 1 * 1

4 cp 1 * 1

5 ville 1 1 * 2

6 profession 1 * 1

7 ncompte 1 * 1

8 solde 1 * 1

9 annee 1 * 1

© AB BD & W 2021
43 Application: traitement

5. Eliminer les colonnes vides.


6. Eliminer les DF transitives : si A->C et B->C
Dans notre cas :
 Nclient  cp
 cp  ville
 Nclient  ville
 On peut supprimer cp ville
7. Eliminer les DF réflexives
On a nclient  nocompte et nocompte  nclient (une à
éliminer)
8. Chercher les DF composées (A,B ->C) s’il y en a

© AB BD & W 2021
44 Application: traitement (MDF)

1 7
Transformer chaque colonne restante
1 * 1 en Entité :
2 1 1  Client
7  Compte
3 1
Les lignes qui contiennent 1 et * sont
4 1 des Associations
5 1 Entre Client et Compte :
Posséder
6 1 Les DF composées sont des
7 * Associations
8 1
9 1

© AB BD & W 2021
45 Application: modèle EA obtenu

cp
rue ville
Nom
nclient

possède Compte
Client N
1

Solde année
Formalisme utilisé : Chen

© AB BD & W 2021
46 Application: Modèle EA

Client
Compte
1:N
Nclient
Nom possède Ncompte
Rue 1:1 Solde
Cp annee
Ville
profession

Formalisme utilisé : Merise

© AB BD & W 2021
47 Exercice
On veut représenter la gestion d’une bibliothèque qui contient:
 Des livres avec : numéro du livre (ISBN), Titre du livre
 Des auteurs avec : Numéro de l’auteur, nom de l’auteur
 Des éditeurs avec : Numéro d’éditeur, nom de l’éditeur
 Des dépôts avec : Numéro de dépôt, nom du dépôt
Attention : ici un « livre » n’est pas le « livre physique » (un exemplaire)
mais plutôt une «édition »
Par ailleurs un livre peut être :
 Écrit par plusieurs auteurs
 Édité par plusieurs éditeurs, mais une seul fois par chacun d’entre
eux. Pour distinguer, on donne alors l’année édition
 Stocké dans plusieurs dépôts, et cela pour chaque éditeur.
 Chaque livre stocké est stocké avec une quantité définie.
© AB BD & W 2021
48 Exercice

 Etablir le modèle Entité Association de la BD de cette


bibliothèque :
 Etablir le DDD
 Identifier les Entités
 Identifier les associations
 Etablir les contraintes (cardinalités des rôles)

© AB BD & W 2021

Vous aimerez peut-être aussi