Expert Base de données

publicité
Cycle de vie d’une base de données
Concepteur
Expert
Base de données
Modélisation
Conceptuelle
Personne
Monde réel
[email protected]
[email protected]
Maison
Achète
Modèle conceptuel
Création
du
schéma
Utilisateur
Personn
Nom
Toto
Tata Tete Prénom
Titi
Tutu
Tyty
Concepteur
Table Personne
Table Maison
Table Acheter
age
25
30
42
Schéma logique
Base de données
Expert Base de données
2 étapes
n 
q 
n 
Modélisation conceptuelle
Concepteur
Modèle conceptuel : ensemble de
q 
Modélisation
Conceptuelle
Concepts permettant la description et la
manipulation des données du monde réel
Règles d’utilisation de ces concepts
Personne
Modèle conceptuel
Monde réel
Description de la structure de la base de
données (en terme de tables, de lignes et de
colonnes) obtenue en utilisant un modèle
conceptuel
Expert Base de données
Création
du
schéma
Concepteur
Table Personne
Table Maison
Table Acheter
Utilisateur
Schéma logique
Base de données
Expert Base de données
3
Abstraction
Maison
Achète
Schéma logique :
q 
n 
2
4
Objets et liens / Entités et associations
Faire abstraction des particularités pour passer des
objets aux types ou classes d’objets
Monde réel
Instances :
occurrences
dans le
monde réel
Expert Base de données
Objet
Type d’objet: Personne
Propriétés :
- Nom
- Prénom
- Age
Personne
Entité
Expert Base de données
Lien
Objet
Modèle conceptuel
5
Achète
Association
Maison
Entité
6
1
Propriétés d’une entité
n 
Cardinalité d’une association
Sur les entités ou sur les associations
Min Max
n 
Personne
Achète
Nom
Prénom
Age
Date
association
Adresse
Surface
Obligatoire / Facultative
P1 P2
P3
P4
n 
n 
P1 P2
P3
P4
M3
M1
M2
V1
V2
0,N
1,1
Voiture
Achète
Personne
0,N
1,N
Achète
Maison
Expert Base de données
9
association 11
n 
Une personne peut ne pas avoir de maison, en avoir
1, 2, …. N à noté 0,N
Une maison peut appartenir à un propriétaire, 2, … N
à noté 1,N
V3
Expert Base de données
n 
8
association NN
Une personne peut ne pas avoir de voiture, en avoir
1, 2, …. N à noté 0,N
Une voiture a un seul propriétaire (au moins 1 et au
plus un) à noté 1,1
Personne
Expert Base de données
7
association 1..N
n 
3 types d'associations : 1,N, N,N ou 1,1
n 
Expert Base de données
n 
Min Max
Maison
10
association sur la même entité
Une personne est enterrée dans une seule sépulture
à noté 1 1
Une sépulture correspond à une seule personne à
noté 1 1
P1 P2
P3
P4
n 
Une personne est le père d’aucune, d’une ou
plusieurs personnes
0,N
S3
S1
S2
Personne
Est le père
1,1
Personne
0,1
1,1
Enterre
Expert Base de données
Sépulture
11
Expert Base de données
12
2
association N-aire
Choix de l’identifiant
n 
Pour désigner une entité ou une association de manière
univoque
q 
q 
Salle
Nom + Prénom ?
Ajout d’un identifiant
Non car homonymes
1,N
Etudiant
Enseignant
Cours
1,N
1,N
Expert Base de données
13
Exemple de modélisation
n 
n 
n 
n 
n 
n 
15
1. Identifier les objets ayant une existence propre
n 
n 
n 
n 
n 
n 
Date
Maison
Adresse
Surface
Expert Base de données
14
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des entités
5.  Trouver les attributs des associations
6.  Définir les cardinalités de l'association
7.  Choisir les clés
Expert Base de données
16
Comment faire ?
Gestion d’une bibliothèque
Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteurs.
Un client qui s’inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution, il aura droit d’effectuer en
même temps 10 emprunts au maximum. Les emprunts durent
au maximum 15 jours.
On veut pouvoir, pour chaque client, retrouver les emprunts
effectués (nombre numéro, titre du livre, date de l’emprunt).
Toutes les semaines, on édite la liste des emprunteurs en
retard : nom et dresse, date de l’emprunt, numéro(s) et titre du
ou des livres concernés
On veut enfin pouvoir connaître pour chaque livre sa date
d’achat et son état (emprunté ou non).
Expert Base de données
Achète
Num
Nom
Prénom
Age
Comment faire ?
Gestion d’une bibliothèque
Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteurs
Un client qui s’inscrit à la bibliothèque verse une caution. Suivant
le montant de cette caution, il aura droit d’effectuer en même
temps 10 emprunts au maximum. Les emprunts durent au
maximum 15 jours.
On veut pouvoir, pour chaque client, retrouver les emprunts
effectués (nombre numéro, titre du livre, date de l’emprunt).
Toutes les semaines, on édite la liste des emprunteurs en retard :
nom et dresse, date de l’emprunt, numéro(s) et titre du ou des
livres concernés
On veut enfin pouvoir connaître pour chaque livre sa date d’achat
et son état (emprunté ou non).
Expert Base de données
Personne
17
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Expert Base de données
18
3
2. Entités ayant un intérêt pour l’application
Comment faire ?
Auteur
Bibliothèque
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Client
Livre
Editeur
Expert Base de données
3. Trouver les associations entre
entités
Client
Emprunte
Expert Base de données
n 
n 
n 
n 
n 
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les types d’entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Livre
Expert Base de données
21
22
4. Trouver les attributs
Gestion d’une bibliothèque
Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteurs.
Un client qui s’inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution, il aura droit d’effectuer en
même temps 10 emprunts au maximum. Les emprunts durent
au maximum 15 jours.
On veut pouvoir, pour chaque client, retrouver les emprunts
effectués (nombre numéro, titre du livre, date de l’emprunt).
Toutes les semaines, on édite la liste des emprunteurs en
retard : nom et dresse, date de l’emprunt, numéro(s) et titre du
ou des livres concernés
On veut enfin pouvoir connaître pour chaque livre sa date
d’achat et son état (emprunté ou non).
Expert Base de données
20
Comment faire ?
4. Trouver les attributs
n 
Expert Base de données
19
23
n 
n 
n 
n 
n 
n 
Gestion d’une bibliothèque
Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteurs.
Un client qui s’inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution, il aura droit d’effectuer en
même temps 10 emprunts au maximum. Les emprunts durent
au maximum 15 jours.
On veut pouvoir, pour chaque client, retrouver les emprunts
effectués (nombre numéro, titre du livre, date de l’emprunt).
Toutes les semaines, on édite la liste des emprunteurs en
retard : nom et adresse, date de l’emprunt, numéro(s) et titre
du ou des livres concernés
On veut enfin pouvoir connaître pour chaque livre sa date
d’achat et son état (emprunté ou non).
Expert Base de données
24
4
4. Trouver les attributs
n 
n 
n 
n 
n 
n 
4. Trouver les attributs des entités
Gestion d’une bibliothèque
Un livre est caractérisé par son numéro dans la bibliothèque
(identifiant), son titre, son éditeur et son (ses) auteurs.
Un client qui s’inscrit à la bibliothèque verse une caution.
Suivant le montant de cette caution, il aura droit d’effectuer en
même temps 10 emprunts au maximum. Les emprunts durent
au maximum 15 jours.
On veut pouvoir, pour chaque client, retrouver les emprunts
effectués (nombre numéro, titre du livre, date de l’emprunt).
Toutes les semaines, on édite la liste des emprunteurs en
retard : nom et adresse, date de l’emprunt, numéro(s) et titre
du ou des livres concernés
On veut enfin pouvoir connaître pour chaque livre sa date
d’achat et son état (emprunté ou non).
Expert Base de données
Livre
NumL
Titre
Editeur
Auteur (s)
Date d’achat
Etat
26
5. Choisir les identifiants
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les types d’entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des types d’entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Client
Emprunte
NumC
Nom
Adresse
Caution
Livre
NumL
NumL
Titre
Editeur
Auteur (s)
Date d’achat
Etat
Expert Base de données
27
Comment faire ?
28
6. Trouver les attributs des associations
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les types d’entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des types d’entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Expert Base de données
Emprunte
Expert Base de données
25
Comment faire ?
Expert Base de données
Client
Nom
Adresse
Caution
29
Client
Emprunte
NumC
Nom
Adresse
Caution
Date emprunt
Date retour
Expert Base de données
Livre
NumL
Titre
Editeur
Auteur (s)
Date d’achat
Etat
30
5
7. Définir les cardinalités de l’association
Comment faire ?
1.  Identifier les objets ayant un existence propre
2.  Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application. Ce sont alors les types d’entités.
3.  Découvrir les types d’associations permettant de lier les
entités
4.  Trouver les attributs des types d’entités
5.  Choisir les identifiants
6.  Trouver les attributs des associations
7.  Définir les cardinalités de l'association
Expert Base de données
0,N
0,N
Client
Emprunte
NumC
Nom
Adresse
Caution
Date emprunt
Date retour
Livre
NumL
Titre
Editeur
Auteur (s)
Date d’achat
Etat
Expert Base de données
31
32
Règle 1 : chaque entité devient une table
Cycle de vie d’une base de données
Concepteur
Modélisation
Conceptuelle
Client
Livre
Emprunter
Modèle conceptuel
Monde réel
Création
du
schéma
Utilisateur
Nom
Toto
Tata Tete Client
Prénom
Titi
Tutu
Tyty
age
25
30
42
Base de données
n 
n 
Pour chaque entité E, on crée une table T telle que chaque
attribut de E devient une colonne de la table T.
L’identifiant de E devient la clé primaire de T.
Concepteur
Table Client
Table Livre
Table Emprunter
Schéma logique
Expert Base de données
Expert Base de données
33
34
Règle 2 : association NN
n 
Livre
Client
NumC
Nom
Adresse
Caution
Les associations "équilibrées" (.N .N) deviennent des tables
contenant comme clés étrangères les clés primaires des
tables reliées.
0,N
0,N
Emprunter
NumL
Titre
Éditeur
Auteur
Date Achat
État
Client (NumC, Nom, Adresse, Caution)
Client (NumC, Nom, Adresse, Caution)
Client (NumC, Nom, Adresse, Caution)
Expert Base de données
35
Expert Base de données
36
6
Règle 2 : association 1N
n 
Retour sur la bibliothèque
Pour les associations "déséquilibrées" (1,N), la clé primaire
de la table du côté du N devient une clé étrangère dans la
table du côté du 1.
0,N
0,N
Client
NumC
Nom
Adresse
Caution
Responsable
n 
n 
n 
Expert Base de données
Client (NumC, Nom, adresse, caution)
Livre (NumL, Titre, éditeur, auteur(s), date d’achat, Etat)
Emprunte (NumC, NumL, date emprunt, date retour)
Expert Base de données
38
Retour sur l’exemple de la semaine dernière
FOURNISSEUR
On souhaite gérer un ensemble de fournisseurs
pour quincaquillers qui proposent des outils, des
fournitures et matériel de bricolage (visserie,
serrurerie…).
Un fournisseur est caractérisé par son nom et la
ville dans laquelle son entreprise est basée. Les
pièces qu’il propose sont d’un certain type.
Chaque fournisseur fixe le prix des pièce qu’il
vend.
Expert Base de données
NumL
Titre
Editeur
Auteur (s)
Date d’achat
Etat
Date emprunt
Date retour
37
Retour sur l’exemple de la semaine dernière
Livre
Emprunte
PIECE
NumF
NomF
VilleF
NumP
TypeP
152
174
81
Mercier
Charles
Dumont
Amiens
Rouen
Paris
14
Boulon 16
15
Boulon 15
OFFRE
39
NuFO
NuPO
Prix
152
152
81
174
81
14
16
16
17
17
46
60
62
52
50
Expert Base de données
16
Ecrou
17
Tournevis
18
Vis
40
Retour sur l’exemple de la semaine dernière
1,N
0,N
Fournisseur
Offre
NumF
NomF
VilleF
Prix
n 
n 
n 
Pièce
NumP
TypeP
Fournisseur (NumF, NomF, VilleF)
Pièce (NumP, TypeP)
Emprunte (NumF, NumP, Prix)
Expert Base de données
41
7
Téléchargement