la methode merise

publicité
LA METHODE MERISE
CAS ESPACE TEMPS
La méthode merise - A.Sapir
1
DEMARCHE MERISE
• Distinction des données élémentaires, paramétrées et
calculées dans un dictionnaire de données.
• Etude des dépendances fonctionnelles : matrice ou
graphe à partir de la couverture minimale.
• Création du modèle conceptuel de données (MCD).
• Création du modèle relationnel (ou logique) de données
(MRD / MLD).
• Création du modèle physique de données (MPD).
• Interrogation de la base de données : requêtes.
La méthode merise - A.Sapir
2
CAS ESPACE TEMPS
L’entreprise Espace Temps vends aux
particuliers différents articles culturels par
correspondance : livres, CD audio,
DVD…Ces articles sont regroupés en
grandes catégories. Le client doit d’abord
passer sa commande par téléphone,
Internet ou courrier puis recevra son colis.
Le paiement peut se faire à réception du
colis.
La méthode merise - A.Sapir
3
ESPACE TEMPS
CLIENT
Numcl
CATEGORIE
Nomcl
Codecat
Préncl
Libcat
PRODUITS
1,N
Appartenir
1 , 1 Refprod
CIF
Libprod
Auteur prod
Adcl
0,N
1,N
Cpcl
Vilcl
0,N
Comporter
Telcl
Qtécom
Passer
Evaluer
PuHT,Qtéstock
CIF
1,1
FACTURE
Reffact
Datefact
COMMANDE
1,1
Correspondre
CIF
0,1
Refcom
1,N
0,N
DATE
Date
Datecom
Moderegfact
Payé
Numreglement
La méthode merise - A.Sapir
4
Le dictionnaire de données
Il a pour but essentiel de recenser toutes les informations
utiles à l’entreprise et de distinguer :
• Les données paramétrées : cette information
prendra toujours la même valeur.
• Les données calculées : cette information pourra
être retrouvée par le biais d’un calcul, à l’aide
d’une requête, grâce aux données élémentaires
et paramétrées.
• Les données élémentaires : cette information
pourra prendre plusieurs valeurs.
• On ne retiendra par la suite que les données
élémentaires.
La méthode merise - A.Sapir
5
LA COUVERTURE MINIMALE
Les données doivent être en
troisième forme normale, c’est-à-dire
que toutes les données « sources »
doivent
être
en
dépendance
fonctionnelle élémentaire et directe
avec les données « buts ».
La méthode merise - A.Sapir
6
• Une donnée est en dépendance fonctionnelle
avec une autre quand cette donnée « source »
ne donne qu’une et une seule valeur de cette
donnée « but ».
• Cette dépendance sera dite élémentaire quand
toutes les sources sont strictement nécessaires
dans le cas d’une dépendance fonctionnelle
avec sources composées.
• Cette dépendance sera directe quand le but est
étroitement lié à la source.
La méthode merise - A.Sapir
7
La matrice des dépendances
fonctionnelles
• En première colonne, toutes les données
élémentaires seront reportées.
• Toutes les sources (simples et composées)
deviennent des colonnes.
• Une croix est placée à l’intersection des
données identiques.
• Toutes les dépendances fonctionnelles, par
rapport aux sources, sont matérialisées par
un « 1 ».
La méthode merise - A.Sapir
8
Le modèle conceptuel de données
• Chaque source simple devient l’identifiant d’une entité à créer.
• Chaque source composée devient une association de type CIM
(contrainte d’intégrité multiple), porteuse de données.
• Chaque dépendance fonctionnelle (1) devient une propriété de
l’entité source (sauf si cette information est déjà identifiant d’une
autre entité).
• Lorsque, sur une même ligne, se trouve un « 1 » et une croix, une
association de type CIF (contrainte d’intégrité fonctionnelle) devra
être créée. Le fils sera celui qui a le « 1 ». Sur une même ligne où
se trouve une croix, peuvent se trouver plusieurs « 1 », il y aura
alors autant de CIF que de « 1 ».
• La matrice ne permet pas de remarquer les CIM non porteuses de
données. Il faudra alors bien relire l’énoncé pour retrouver
d’éventuels autres liens nécessaires entre les entités.
La méthode merise - A.Sapir
9
Le modèle relationnel de données
Ce modèle en ligne permet une implantation plus facile
de la base de données sur un logiciel SGBDR
• Les entités et les CIM deviennent des relations
de même dénomination.
• Une relation a une clé primaire soulignée
(l’identifiant) et des attributs (les propriétés),
éventuellement des clés étrangères.
• Les CIF sont identifiées en créant une clé
étrangère (l’identifiant du père), matérialisée par
un dièse, placée dans la relation du fils.
• Les relations dans lesquelles il n’y aura qu’une
clé primaire simple, ne donneront pas lieu à la
création de tables par la suite.
La méthode merise - A.Sapir
10
Le modèle physique de données
Il correspond au modèle créé sur le logiciel SGBDR
• Chaque relation donne lieu à la création d’une
table.
• L’ordre concernant la création des tables a
souvent de l’importance : tables sans clés
étrangères, tables avec clés étrangères puis
tables correspondant à des CIM.
• Les liens entre les tables doivent être créés en
partant d’une clé primaire vers une clé étrangère
(symbole infini).
La méthode merise - A.Sapir
11
Les requêtes d’interrogation
Plusieurs opérations peuvent être réalisées :
• Une projection : cette opération consiste à
choisir certains champs de la table
(colonnes).
• Une sélection : cette opération consiste à
sélectionner certains enregistrements
d’une table (lignes).
• Une jointure : cette opération consiste à
unir plusieurs tables pour extraire les
informations souhaitées.
La méthode merise - A.Sapir
12
Select
From
Where
And
champs projetés
tables nécessaires
critères de jointure
critères de sélection ;
Le critère de jointure se fait avec des
champs identiques entre deux tables.
Le « ; » permet le lancement de l’exécution
de la requête.
La méthode merise - A.Sapir
13
Quelques options applicables aux requêtes :
• Les opérateurs de comparaison : > , < , = , <= , >= , <>
• Les opérateurs logiques : and , or , not , like, xor
• Les opérateurs d’appartenance : in , not in
• Select nom table* signifie que tous les champs de cette
table sont projetés.
• Select distinct (attribut) signifie que les doublons seront
supprimés.
La méthode merise - A.Sapir
14
Les options applicables dans
l’opération de sélection (where) :
• Pour effectuer un choix, des guillemets doivent être placés autour
des données alphabétiques ou alpha-numériques, et des dièses
autour des formats date.
• Pour choisir des enregistrements compris dans un intervalle :
nom attribut between …. And …
• Pour demander un ensemble de dates, un mot commençant ou
terminant par une lettre ou un groupe de mots, mettre un * à la place
des informations manquantes.
• Pour demander les enregistrements dont un champs n’a pas été
renseigné : attribut is null
• A l’inverse, les champs renseignés : attribut is not null
• Pour demander les valeurs phonétiquement identiques à un mot :
where soundex (attribut) = soundex (« mot »)
• Les requêtes paramétrées : elles permettent de préparer une
requête dont la valeur de l’attribut, le paramètre, est encore
inconnue : where attribut = [texte]
La méthode merise - A.Sapir
15
Les options applicables après « where » :
( ou après « from » si aucun critère de jointure et de sélection)
• Les regroupements : cette option permet de
regrouper les informations demandées en
fonction de critères : group by nom attribut
• Les regroupements peuvent être limités ou
précisés, il faudra alors utiliser having après
group by.
• Après les éventuelles options de regroupement,
en dernier lieu donc, certains champs de la
requête peuvent être triées par ordre croissant
(order by nom attribut asc) ou décroissant (order
by nom attribut desc).
La méthode merise - A.Sapir
16
Les calculs
Les données calculées étant exclues du dictionnaire de
données, les requêtes permettent de les retrouver.
• Les calculs sont effectués dans l’option « select » puisqu’ils
donnent lieu à la création d’une nouvelle donnée qui doit être
affichée.
• Cette nouvelle donnée doit être nommée à l’aide d’un alias :
calcul as [nom attribué]
• Tous les opérateurs arithmétiques peuvent être appliqués sur les
champs : + - * /
• Certaines fonctions peuvent être utilisées :
– Select AVG (attribut) as […] : moyenne
– Select SUM (attribut) as […] : somme
– Select COUNT (attribut) as […] : dénombrement
– Select MAX (attribut) as […] : valeur maximum d’un champ
– Select MIN (attribut) as […] : valeur minimum d’un champ
La méthode merise - A.Sapir
17
Les requêtes de structure
Ces requêtes n’interrogent pas la base de
données mais, a contrario, la modifient.
• Création d’une table :
Creatle table nom table
Liste des attributs et types à préciser
Constraint primary key nom clé primaire (pk)
And foreign key nom clé étrangère ;
• Ajout d’un champ :
Alter table nom table
Add column noms des champs à ajouter ;
• Suppression d’un champ :
Alter table nom table
Drop column noms des champs à supprimer ;
La méthode merise - A.Sapir
18
• Ajout d’enregistrements :
Insert into nom table (attribut 1, attribut 2 …)
Values (valeurs réelles des champs à ajouter) ;
• Suppression d’enregistrements :
Delete from nom table
Where condition précisant la suppression ;
• Mise à jour des données :
Update nom table
Set attribut à mettre à jour = nouvelle valeur de la donnée
Where (éventuellement, si la mise à jour ne concerne que certaines
données) ;
La méthode merise - A.Sapir
19
Téléchargement