Vous êtes sur la page 1sur 18

Modélisation des données

METHODOLOGIE ET NIVEAUX
D'ABSTRACTION

• Connaissance informelle
• Analyse des besoins
• Description formalisée
• Indépendante du système cible
• Modélisation formelle
• Opérateur d’agrégation : [ ]
• Opérateur d’ensemble : {}
APPROCHE INTUITIVE
Conception avec le modèle Entité-Association
(ou dérivé : UML, …)
• ENTITE
Tout objet du monde réel
(correspond aux noms)
• ASSOCIATION
Tout lien entre objets
(correspond aux verbes)
• ATTRIBUTS
Toute propriété d’une entité ou d’une
association
(correspond aux compléments)
CONCEPTS DU MODELE
• Type d'entité : Ensemble de valeurs
caractérisées par une liste d'attributs

• Attribut : Propriété
(d'entité ou d'association)

• Attribut composite : Propriété non


atomique (récursif) 

• Attribut multivalué Propriété à valeur


ensembliste
CONCEPTS DU MODELE (2)

• Clé : Identifiant

• Entité faible : N'existe qu'à travers un


autre type d'entité auquel il est associé
(dépendance existentielle)
• Cardinalité : 1- 1, 1 – N, N - 1 ou M - N
NOTATIONS GRAPHIQUES
Type d'Entité

Type d'Association

<nom> <nom> Attribut (clé)


Attribut

Attribut Attribut
<nom> <nom>
multi-valué calculé

<nom>
Attribut
Composite
<nom> <nom>

E1 A E2

Association binaire
entre entités
NOTATIONS GRAPHIQUES (2)

Problème :

A partir de ces notations formaliser les


éléments et les relations entre ces éléments
pour bâtir le modèle du Système
d'Information
Exemple

Hypothèse : 
Une personne possède une ou plusieurs
voiture(s) => lien 1,N
Une voiture appartient à une personne
  => lien 1,1
 
PERSONNE POSSEDE VOITURE
1,N 1,1

Date Prix
N°SS Prénom Type Marque Coul
Achat Achat

Nom

Puiss
Nom Adr Tel
Exemple (2)
PASSAGER

RESERVATION Date de Nom Adr Sal


Res

N° Emp
Date DEPART EMBARQUEMENT PERSONNEL

Délai

INSTANCE EST-UN

H arrivée
N d'h
VOL de vol PILOTE

N°de
licence

N° Orig Dest H départ AGREE

Type AVION
Exemple (3)
Attribut multi-valué, Association circulaire
Attribut calculé, Association 0,1 / 1,1 / 1,N /
M,N
Famille Prénom

Nom Salaire

NSS

0,N 1,1
Employé Resp. A charge

0,N superviseur
supervisé Nom
1,1
Supervision DateN
1,M

1,1 0,1
Trv Heure
Trv Dans
Date Deb
Dirige
Pour

1,N 1,1 1,N


1,N 1,1
Département Ctrl Projet

Local Nom Local

Nom NbEmp
Num
Num
Amélioration du modèle

• GÉNÉRALISATION / SPÉCIALISATION
Super-classe / sous-classe, Héritage des attributs
Instanciation à différents niveaux
 
• SPECIALISATION
Prédicat, Totale / Partielle, Partition /
Recouvrement, Simple / Multiple (sous-classe
partagée)

• UNION
Héritage sélectif 

=> Problème : Transformer ces extensions dans un


modèle qui met les structures à plat
Modèle étendu

NSS
Personne
Nom
Isa Isa
Etudiant Salarié NomEmp

NoEt
Privé Public

Salaire Indice
Notion de structure
• Type structure = produit cartésien de types
• Valeur du type structure = élément d'un produit
cartésien de types
• Représenter un "objet" composé d'éléments (=
champs) de différents types
Déclaration
Définition d1 : Date
type Date = structure d2 : structure
j : Jour j : Jour
m: Mois m: Mois
a : Année a : Année
fstruct fstruct
Notion de structure (2)

• Opérations globales (d1, d2 sont de même type)


– Affectation
• d1 ← d2
– Comparaison
• d1 = d2
• Accès aux champs (= notation pointée)
– nomStructure.nomChamp
si d1.j ≥ 29 et d1.m = février alors
écrire ("annéeBissextile")
fsi
Tableau à une dimension

5 7 -3 2 -4 10 1
1 i n
• Définition
– type Vecteur = tableau [1..n] de Entier // type Vecteur
– t1 : Vecteur // un tableau t1
– t2: tableau [1..n] de Entier // un tableau t2
• Accès au i-ème élément
Algorithme de base
– x ← t [i] // i ∈ 1..n
pour i ← 1 à n
– t [i] ← 10 // i ∈ 1..n traiterElément (t[i])
fpour i
Tableau à deux dimensions
• Définition
– type Matrice = tableau [1..n][1..m] de Réel
– m1 : Matrice
– m2 : tableau [1..n][1..m] de Réel // une matrice
• Accès aux composants
– C[i][ j] ← C[i][ j] + A[j][k] * B[k][j] // i, j ∈ 1..n; k ∈ 1..m

Algorithme de base
pour i ← 1 à n // première dimension
pour j ← 1 à m // seconde dimension
traiterElément (t [i][ j])
fpour j
fpour i
Statique -> Dynamique
ATTENTION :
un tableau est une
structure statique
Conséquences :

Il existe un nombre maximum d’éléments


#
Il existe un nombre d’éléments pertinents dans le tableau
Ensemble

• Pas de notion d’ordre


• Dynamique (nombre variable mais fixé a priori)
• Déclinaison avec propriétés
– Listes
– Piles
– Files, …
• ….. Suite du cours avec habib