Académique Documents
Professionnel Documents
Culture Documents
1. Objectifs et principes
2. Le modèle objet
3. Passage au relationnel
4. Raffinement du schéma
5. Optimisation physique
6. Conclusion
G. Gardarin
1. Objectifs de la Modélisation
2
OOD OOSE
G. Booch 1991 I. Jacobson, M. Christerson, P.
HOOD Jonson, G.Vergaard 1992
HOOD Technical Group (B. Delatte, OOM
M. Heitz, J.F. Muller) 1993 M. Bouzeghoub, A. Rochfeld
OOA 1994
S. Shlaer & S. Mellor 1992 FUSION
D. Coleman, P. Arnold, S. Bodoff, C.
OOA/OOD
Dollin et. al. 1994
T. Coad & E. Yourdon 1991
La notation UML
OMT
Rationale et OMG
J. Rumbaugh, M. Blaha, W.
ne notation universelle
u
Premerlani, et. al. 1991
G. Gardarin
Les principaux modèles
6
Analyse (Analysis)
étude du problème utilisateur
génération de modèles de problèmes
Conception (Design)
raffinement de modèles de problèmes
génération de modèles d'implémentation (prototypes)
Implémentation (Implementation)
codage de modèles d'implémentation
génération du code des programmes
G. Gardarin
2. Le modèle des objets
8
Objet (Object)
concept, abstraction ou entité clairement distinguable
Classe (Class)
description d'un groupe d'objet aux propriétés similaires
Attribut (Attribute)
propriété nommée d'une classe représentée par une valeur dans
chaque instance
Opération (Operation)
une fonction/transformation applicable aux objets d'une classe
Méthode (Method)
une implémentation d'une opération pour une classe
G. Gardarin
Représentation (UML)
9
Classe
Voitures
G. Gardarin
Association
10
Association (Association)
Une relation entre des instances de deux (ou plus) classes
Lien (Link)
Une instance d'association
Rôle (Role)
Une extrémité d'une association
Cardinalité (Multiplicity)
Le nombre d'instance d'une classe pour chaque instance de l'autre
Attribut de lien (Link attribute)
Un attribut de l'association instancié pour chaque lien
G. Gardarin
Représentation
11
Personne Voiture
Possède
Propriétaire Possédée
Date
Prix
Buveurs Vins
Boire
Abus Estbu
Date
Quantité
G. Gardarin
Cardinalités
12
1 1
* plusieurs (0 à N)
0..1 optionnel (0 ou 1)
1..*
obligatoire (1 ou plus)
0..*
ordonné (0 à N)
{ord}
3..5
limité (de 3 à 5)
G. Gardarin
Agrégation
13
Agrégation (Aggregation)
Forme spéciale d'association entre un tout et ses parties (part-of)
Poste-Travail
Type
* *
Dossiers Outils-Bureau
NbreEléments * Nom
Ouvrir
G. Gardarin
Généralisation
14
Généralisation (Generalization)
Relation particulière de factorisation permettant de regrouper les
attributs et opérations communs de sous-classes dans une super-
classe. Personnes
Personnes
Employés Etudiants
Employés Etudiants
Personnes
G. Gardarin
Module
15
Module (Module)
Groupe de classes apparentées conçues ensemble
Sous-système (Sub-system)
Groupe de modules
G. Gardarin
La pratique
16
G. Gardarin
3. Passage au relationnel
17
G. Gardarin
Réduction des généralisations
18
(b) (c)
(a)
G. Gardarin
Implémentation des associations
19
G. Gardarin
Exemple
21
Appartient Habite
Voiture Personne Appart.
nveh nss étage
Loge
couleur Possède nom no
marque prenoms rue
km datenais code
rouler() vieillir() ville
dormir()
Boire
Inférieur
Employé Buveur Vin
fonction type cru
Bu_par millésime
salaire état
primes boire() degré
Supérieur travailler() qualité
EmployéBuveur
G. Gardarin
4. Raffinement du schéma
22
Définition :
Soient R(A1, A2 … An) un schéma de relation, X et Y des sous-
ensembles de A1, A2 …An;
On dit que X --> Y (X détermine Y ou Y dépend fonctionnellement
de X) ssi il existe une fonction qui a partir de toute valeur de X
détermine une valeur unique de Y
Formellement :
ssi quel que soit l’instance r de R, pour tout tuple t1 et t2 de r on a
X(t1) = X(t2) ==> Y(t1) = Y(t2)
G. Gardarin
Exemples
24
PERSONNE
N° SS --> NOM ?
NOM --> N° SS ?
VOITURE
(MARQUE, TYPE) --> PUISSANCE ?
MARQUE --> PUISSANCE ?
PUISSANCE --> TYPE ?
POSSEDE
N° VEHP --> N° PROP ?
N° PROP --> N° VEHP ?
(N° VEHP, N° PROP) --> DATE ACHAT ?
G. Gardarin
Graphe de Dépendances
25
N° VEH
COULEUR
TYPE MARQUE
PUISSANCE
G. Gardarin
Autre Exemple
26
G. Gardarin
Notion formelle de Clé
27
Définition :
Un groupe d'attribut X est une clé de R (a1, a2 … an) ssi :
1) X --> A1 A2 … An
2) il n'existe pas de sous-ensemble Y de X tel que
Y --> A1 A2 … An
Plus simplement :
Une clé est un ensemble minimum d'attribut qui détermine tous les
autres.
Exemple : (n° veh) voiture ? (n° veh, type) voiture ?
Non unicité :
Il peut y avoir plusieurs clés pour une relation (clés candidates)
Une est choisie comme clé primaire
G. Gardarin
Formes normales
28
Objectifs
Définir des règles pour décomposer les relations tout en préservant
les DF et sans perdre d'informations, afin de représenter des objets
et associations canoniques du monde réel (les molécules
d'informations)
Éviter les anomalies de mises a jour
Éviter les réponses erronées
G. Gardarin
1e Forme
29
Définition
Une relation est en 1ère forme normale si tout attribut contient une
valeur atomique (unique)
Exemple
MARTIN Géomètre
G. Gardarin
2e Forme
30
Définition
une relation est en 2e forme normale ssi :
1) elle est en 1ère forme
2) tout attribut non clé ne dépend pas d'une partie de clé
Schéma
R K1 K2 X Y
G. Gardarin
Exemple 2e Forme
31
Exemple 1 :
Fournisseur (nom,adresse, article, prix)
La clé est (nom, article)
Mais nom --> adresse : pas en 2e forme
Exemple 2 :
R (cru,type,client,remise)
La clé est (cru, client)
Mais cru --> type : pas en 2e forme
G. Gardarin
3e Forme
32
Définition
une relation est en 3e forme normale ssi :
1) elle est en 2e forme
2) tout attribut n'appartenant pas a une clé ne dépend pas d'un autre
attribut non clé
Schéma
R K X Y Z
Exemple
Voiture (n° veh, marque, type,puissance, couleur)
Type --> marque
Type --> puissance
Pas en 3eme forme !
G. Gardarin
Une forme plus simple : la BCNF
35
Définition
une relation est en BCNF (Boyce-Codd Normal Form) ssi :
les seules dépendances fonctionnelles sont du type clé détermine
attribut non clé
Plus simple que 3NF, un peu plus fort
Schéma
R K1 K2 X Y
G. Gardarin
5. Optimisation physique
36
Partitionnement de relations
horizontal
supporter par certains SGBD
gestion d ’indexe maître
vertical
découpage en plusieurs tables
attributs de jointures redondants
Utilisation de données redondantes
agrégats pré-calculés
jointures pré-calculées
vues concrètes
G. Gardarin
Résumé du réglage
38