Telecharger le cours

publicité
Conception des bases de
données avec merise
Partie I
Abdelfettah IDRI
plan

Le modèle conceptuel de données MCD

Le modèle logique de données
relationnelles MLDR

Le modèle physique de données MPD

Langage SQL
Cycle d’abstraction
Système d’information manuel
Expression des besoins (CPS)
Abstraction
Spécifications Fonctionnelles Détaillées
MCD
Conception
MLDR
MPD
Implémentation
Tests
Déploiement
Instanciation
Système d’information automatisé
Base de données / Fichier plat
PARSER
EXECUTER
TABLE CACHE
TABLES
DISKS
Fonctionnement d’un SGBD (DBMS)
SQL
Base de données / Fichier plat
Utilisateur : sécurité niveau utilisateur
 Transactions : exécution d’une séquence
de requêtes sous forme d’un seul lot
logique élémentaire
 Tables : tout est basé sur la table
 Cache : Performance (exécution) et
scalabilité
 Disque : persistance

Base de données / Fichier plat
Mémoire versus Disque
Vitesse
Mémoire 1000 fois rapide que le disque
Stockage
Disque 100 fois plus spacieux au même coût
Persistance
Mémoire volatile, disque persistant
Temps d’accès
Ns vs ms
Taille du Block
4 KB / word
Base de données / Fichier plat

Gestion et structuration du stockage sur
le disque
◦ Indexation
◦ Tables de hachage (Hash Tables)
◦ Arbres binaires (Binary trees)
Base de données / Fichier plat
◦ Tables de hachage (Hash Tables)
 Fonction de Hachage
 Buckets

L’objectif est d’identifier le « bucket »
contenant l’information ciblée.
Base de données / Fichier plat
Identificateur
(clé)
Etudiant (nom, prénom, date de naissance)
1
N1, P1, DN1
2
N2, P2, DN2
3
N3, P3, DN3
4
N4, P4, DN4
Base de données / Fichier plat

Fonction de hachage: f(id) = id
1
2
4
3
Store
1
1
hash
2
2
3
3
4
4
Base de données / Fichier plat
Identificateur
(clé)
Etudiant (nom, prénom, date de naissance)
1
N1, P1, DN1
2
N2, P2, DN2
3
N3, P3, DN3
4
N4, P4, DN4
5
N5, P5, DN5
6
N6, P6, DN6
10
N10, P10, DN10
12
N12, P12, DN12
Base de données / Fichier plat

Fonction de hachage: f(id) = id mod 4
5
10
12
6
Store
1
Nouvellement
ajoutés
hash
2
1
2
5
10
6
3
3
0
4
12
Base de données / Avantages


Flexibilité : séparation des données du
programme de traitement  indépendance
du stockage disque et de modifications des
données au niveau DB
Accès rapide :
◦ une seule base de données logique et intégrée
(tables liées logiquement)
◦ avec SQL on peut formuler des requêtes
complexes



Accès concurrent
Stockage optimisé (non redondant)
Accès Sécurisé
Analyse des besoins
Transformation de l’information relative
au système à analyser en un texte
simple et claire
 Modélisation sur la base de cette
spécification fonctionnelle
 Spécification fonctionnelle = contrat ou
lien entre l’informaticien et l’utilisateur
 Modéliser en termes d’entités

Conception :
Entité
 Propriété / attribut
 Identifiant
 Association
 Occurrence
 Cardinalité

MCD
Entité / définition

Une entité est une classe d’éléments
(abstraits ou concrets) du monde réel
défini par :
◦ une existence propre
◦ une utilité pour l’organisation étudiée
◦ possède des occurrences multiples (au
moins deux)
◦ des propriétés (au moins une)
◦ Généralement : l’entité est statique , (nom)
entité

Exemples:
◦
◦
◦
◦
◦
◦
Personne
Voiture
Agence
Ecole
Adresse
cours
entité

Formalisme
◦ Une entité est représentée par un rectangle
Entité
ENCG
Inscri pti on
Etudi ant
Voyage
Agence
Propriété / attribut /Définition





C’est l’information élémentaire, donnée
élémentaire ou rubrique, la propriété désigne
l’élément d’information indécomposable et
manipulable pour décrire l’entité
Possède un nom bien défini « nom de propriété »
Possède un type (texte, nombre, date, boolean,..)
Prend ses valeurs dans un domaine de valeurs
A un sens dans le système d’information étudié.
Propriété / attribut

Exemples:
◦
◦
◦
◦
◦
◦
◦
Nom
prénom
Age
Couleur
Ville
Pays
date
Propriété / attribut

Formalisme
◦ Les propriétés sont représentées dans le même
rectangle de l’entité
Identifiant / définition
Parmi toutes les propriétés d’une entité,
une ou plusieurs d’entre elles doivent
jouer un rôle particulier, celui de
permettre de distinguer chaque
occurrence de l’entité par rapport à
toutes les autres.
 L’identifiant garantit l’unicité de la
correspondance des entités entre le
monde réel et le système d’information à
modéliser

Identifiant / définition

Type d’identifiants
◦ Simple : une seule propriété
◦ Composé: deux propriétés ou plus
Identifiant

Exemples:
◦
◦
◦
◦
◦
Identificateur d’un abonné
CIN
Numéro de téléphone
Adresse : appartement, rue, ville , pays
Professeur, classe, date, cours
Identifiant

Formalisme
◦ L’identifiant d’une entité est l’ensemble des
propriétés soulignées
Associations / définition


Une association est une liaison logique entre
les entités
C’est un type d’élément du monde réel
défini par :
◦
◦
◦
◦
une absence d’existence intrinsèque
Possède au moins une occurrence
Peut avoir des propriétés
Possède une dimension mesurée par le nombre
d’entités rattachées
◦ représente une utilité pour l’organisation étudiée
◦ Généralement : c’est une action (verbe)
Associations

Formalisme
◦ L’association est représentée par un ovale
association
Dimensions d’association
 Association binaire : association entre deux
entités (dimension 2)

association
Dimensions d’association
 Association ternaire : association entre trois
entités (dimension 3)

association
Dimensions d’association
 Association réflexive: association circulaire
(dimension 1)

association

Exemple
Cardinalité / définition
La cardinalité d’une entité par rapport à
une association s’exprime par deux
nombres appelés cardinalité minimale et
cardinalité maximale
 La cardinalité minimale peut être égale à 0
ou à 1

Cardinalité / définition
Si la cardinalité minimale est égale à 0, c’est
qu’il existe au moins une occurrence de
l’entité qui ne participe pas aux occurrences
de l’association.
 Si la cardinalité minimale est égale à 1,
chaque occurrence de l’entité participe aux
occurrences de l’association
 La cardinalité maximale exprime le nombre
de fois maximal où une occurrence de
l’entité participe aux occurrences de
l’association. On la note « n »

Cardinalité

Formalisme
1
cardinalité

Exemple
cardinalité
Un stagiaire peut ne pas avoir de note, c’est à
dire qu’il peut exister un stagiaire qui n’a pas
passé l'évaluation (cardinalité minimale =0).
 Un stagiaire peut être inscrit à plusieurs
module et avoir une note pour chacun des
modules auxquels il est inscrit (cardinalité
maximale = n)
 Il est possible que personne ne se présente à
l'évaluation pour un module (cardinalité
minimale = 0)
 Plusieurs notes peuvent être attachées à un
même module (cardinalité maximale = n)

cardinalité

exemple
cardinalité

Exemple
occurrence

Une occurrence de propriété est une
valeur que peut prendre une propriété :
c’est une instance possible d’une propriété
Occurrence / entité
Une occurrence d’entité est un ensemble
ayant une existence propre d’occurrences
de ses propriétés
 Exemple: L’ensemble {OMAR, AZIZI,
10/11/1983} est une occurrence de l’entité «
STAGIAIRE » puisque « OMAR » est une
occurrence de la propriété NOM, « AZIZI »
une occurrence de PRENOM et « 10/11/1983
» une occurrence de DATE_DE_NAISSANCE

Occurrence / association

Une occurrence de relation est constituée
d’une et d’une seule occurrence de chacune
des entités associées. L’occurrence de chacune
des propriétés de l’association est en relation
avec les occurrences des entités associées
Occurrence / association
Exemple: {OMAR, AZIZI, 10/11/1983} : une
occurrence de l’entité « STAGIAIRE ».
 {BDD} et {JAVASCRIPT} : deux occurrences de
l’entité « MODULE ».
 12 peut être une occurrence de « NOTE »
associée aux occurrences {OMAR, AZIZI,
10/11/1983} et {BDD} ;
 13 une autre occurrence de « NOTE » associée
aux occurrences {OMAR, AZIZI, 10/11/1983} et
{JAVASCRIPT}

Conception des bases de
données avec Merise
Partie II
Abdelfettah IDRI
plan

Le modèle conceptuel de données MCD

Le modèle logique de données
relationnelles MLDR

Le modèle physique de données MPD
MLDR / MLD

Concepts du modèle relationnel

Transformation du modèle MCD en
modèle MLDR
Concepts du modèle relationnel
MLDR
Relation
 Une relation est un ensemble
d’occurrences et sa description peut
prendre la forme d’un tableau dans lequel
chaque ligne représente une occurrence
d’entité et chaque colonne un attribut

Concepts du modèle relationnel
MLDR
Exemple:
 La relation ETUDIANT(nom, prénom,
dateNaissance) peut être représentée par

Nom
Prénom
DateNaissance
Nom1
Prénom1
15/3/1980
Nom2
Prénom2
10/11/1985
Concepts du modèle relationnel
MLDR
Cardinalité d’une Relation
 C’est le nombre d’occurrence de la relation
 Degré d’une relation
 C’est son nombre d’attribut
 Clé primaire
 Un ou plusieurs attributs de la relation
(unicité)
 Clé étrangère
 Clé primaire d’une autre relation

Concepts du modèle relationnel
MLDR
Exemple:
 La cardinalité de cette relation est 2
 Le degré de cette relation est 3

Nom
Prénom
DateNaissance
Nom1
Prénom1
15/3/1980
Nom2
Prénom2
10/11/1985
MCD vers MLDR
Règle 1
 À chaque entité on fait correspondre une
relation et par conséquent une table

MCD vers MLDR
Règle 2
 Une relation « 1 n » est implémentée par
l’ajout d’une clé étrangère à l’entité ayant la
cardinalité « 1 »

MCD vers MLDR
Règle 2
 La clé primaire de la relation table_1 est son
« Identifiant1 »
 La clé secondaire ou étrangère de la relation
table_1 est « Identifiant2 »

MCD vers MLDR/MLD/MPD

Règle 2 : Formalisme et Exemple
MCD
Salle
Appartement
Numero_Appartement <pi> Entier
type
Caractère (10)
classe
Caractère (10)
Identifiant_1 <pi>
...
1,n
possede
1,1
Numero_Salle <pi> Entier
<O>
superficie
Entier
qualite
Texte (10)
description
Texte (100)
Identifiant_1 <pi>
...
MCD vers MLDR

Règle 2 : Formalisme et Exemple
MLDR
Appartement ( Numero_Appartement, type,
classe)
 Salle ( Numero_Salle, superficie, qualité,
description, # Numero_Appartement)

MCD vers MLD

Règle 2 : Formalisme et Exemple
MLD
Salle
Salle
Appartement
Appartement
Numero_Appartement <pi>
type Caractère (10)
classe Caractère (10)
Identifiant_1 <pi>
...
Numero_Salle <pi> Entier <O>
possede
Numero_Appartement <fi> Entier
superficie
Entier
qualite
Texte (10)
description
Texte (100)
MCD vers MPD



Règle 2 : Formalisme et Exemple
PK: Primary key (clé primaire)
FK: Foreign Key (clé étrangère)
MPD
Salle
Appartement
Numero_Appartement integer <pk>
type
char(10)
classe
char(10)
...
FK_APPARTEM_POSSEDE_SALLE
Numero_Salle
Numero_Appartement
superficie
qualite
description
...
integer
<pk>
integer
<fk>
integer
long varchar
long varchar
MCD vers MLDR


Règle 3
Une relation « n  m » est implémentée par
la création d’une nouvelle relation (table)
ayant pour clé la réunion des clé des 2 entités
de la relation
MCD vers MLDR/MLD/MPD

Règle 3 : Formalisme et Exemple
MCD
Produit
Client
Numero_Client
<pi> Entier
Nom
Caractère
prenom
Caractère
CIN
Caractère
Code_Produit
description
Numero_serie
0,n
0,n
Commande
...
quantite
Entier
<pi>
Numérique
Caractère
Caractère
MCD vers MLDR

Règle 2 : Formalisme et Exemple
MLDR
Client( Numero_Client, nom, prénom, CIN)
Produit( Code_Produit, description ,
numéro_série)
 Commande(# Numero_Client , #CodeProduit,
quantité)


MCD vers MLD

Règle 3 : Formalisme et Exemple
MLD
Produit
Client
Code_Produit <pi> Numérique
Numero_Client <pi> Entier <O>
Nom
prenom
CIN
description
Caractère
Numero_serie Caractère
Caractère
Caractère
Caractère
...
Commande
Commande
Commande
Numero_Client <pi,fi1> Entier
<O>
Code_Produit <pi,fi2> Numérique <O>
quantite
...
Entier
MCD vers MPD

Règle 3 : Formalisme et Exemple
MPD
Client
Produit
Numero_Client <Non défini> <pk>
Nom
<Non défini>
prenom
<Non défini>
CIN
<Non défini>
...
Code_Produit numeric
<pk>
description <Non défini>
Numero_seriedate
...
FK_COMMANDE_COMMANDE2_CLIENT
FK_COMMANDE_COMMANDE_PRODUIT
Commande
Numero_Client <Non défini> <pk,fk1>
Code_Produit numeric
<pk,fk2>
quantite
...
integer
Téléchargement