Académique Documents
Professionnel Documents
Culture Documents
Systmes dInformations
Bases de donnes
Systme dinformation
manuel
Recueil des informations
Dlimiter le systme.
Expression des Besoins
Systme dinformation
automatique 10
I. Mthode Merise
Les quartes phases de la mthode Merise:
11
1. La phase d'analyse :
Cette phase, qui ne sera pas tudi dans ce cours, est
une phase essentielle qui consiste :
tudier l'existant :
y-a-t'il un systme qui gre dj tout ou partie de
l'information, qu'il s'agisse d'un logiciel ou d'un ensemble de
documents papiers ?
Comment ces informations sont elles stockes?
Quelles sont les informations stockes ?
Que manque t-il ?
Qu'est ce qui convient ou ne convient pas aux utilisateurs?
I. Mthode Merise
Les quartes phases de la mthode Merise:
12
2. La phase conceptuelle :
Elle consiste reprsenter l'organisation des
donnes de manire gnrale.
Elle aboutit sur la cration du modle conceptuel
des donnes (MCD) dans lequel les donnes sont
reprsentes sous forme d'entits lies entre elles
par des relations.
I. Mthode Merise
Les quartes phases de la mthode Merise:
14
I. Mthode Merise
Les quartes phases de la mthode Merise:
15
Exemple :
Dans l'exemple du libraire, on peut construire les
entits suivantes (les proprits sont indiques aprs
le nom de l'entit, l'identifiant est en gras) :
uvre : Iduvre, titre
Auteur : IdAuteur, nom, prnom
dition : ISBN, titre, nb pages
diteur : IdEditeur, nom
Exemplaire : IdExemplaire, tat
I. Mthode Merise
La construction du MCD
33
uvres
Auteurs
Iduvre
Titre IdAuteur
Nom
Prnom
Editions
ISBN
Editeurs
Titre
Nb pages IdEditeur
Exemplaires
Nom
Id_livre
Etat
I. Mthode Merise
La construction du MCD
35
Exemple :
Dans l'exemple du libraire, on a les relations
suivantes:
I. Mthode Merise
La construction du MCD
41
Exemple :
Dans l'exemple du libraire, considrons la relation dite
qui existe entre les entits diteur et dition.
Ainsi, dans l'exemple du libraire, une dition (un livre) a
toujours un et un seul diteur (soit un minimum de un
diteur, et un maximum de un diteur).
Un diteur par contre peut diter au minimum une
dition et au maximum plusieurs ditions (un nombre
quelconque de fois).
I. Mthode Merise
La construction du MCD
44
Oprations
Concerne
Id_op
Type
1:1
Date
montant
I. Mthode Merise
Exercice : MCD (gestion de commandes)
52
1,1 0,N
1,N Appartenir
I. Mthode Merise
MCD>>> MLD
57
Exemple:
la premire partie de la construction du MLD du
libraire est directe. Il suffit de recopier les entits.
I. Mthode Merise
Modle logique des donnes
60
Premier cas:
Dans le cas d'une relation ou l'une des branches a une
cardinalit de 1:1 ou 0:1, la transformation de la
relation se fait de la manire suivante :
On ramne dans la table correspondant l'entit "du ct
du 1:1" (ou du 0:1) la cl primaire de l'autre table ainsi que
toutes les ventuelles proprits de la relations.
On lie la cl primaire ainsi importe avec la cl primaire de
la deuxime table.
Si la relation contenait des proprits, celle-ci se retrouve
galement importe du ct du 1:1
I. Mthode Merise
Modle logique des donnes
62
Se transforme en:
EntitA EntitB
0:n relation 1:1
IdA IdB
propritR
PropritA1 propritB1
devient
TableA
TableB
PK_IdA PK_IdB
Champ A1 Champ B1
Champ IdA
Champ R
I. Mthode Merise
Modle logique des donnes
64
Deuxime cas
Dans tous les autres cas, la relation du MCD se
transforme en une table du MLD :
On cre une nouvelle table correspondant la relation.
Cette table contient toutes les ventuelles proprits de
la relation.
Se transforme en:
I. Mthode Merise
Modle logique des donnes
67
Cas particuliers
Quelques cas particuliers peuvent apparaitre.
Si la relation est de type 1:1 - 1:1, on fusionne les
deux entits en une. Ce type de relation rare est
souvent d un problme dans la conception du
MCD.
Si la relation est de type 0:1 - 1:1, on traite la
relation comme une relation de type 1:1 ?:?(en
ramenant la cl primaire du ct du 1:1)
I. Mthode Merise
Modle logique des donnes
68
Cas particuliers
Les relations rflexives (entre une entit et elle-
mme) se traitent comme les autres relations.
les relations ternaires (entre trois entits, ou plus), se
traitent comme d'habitude.
Si l'une des branches a une cardinalit de type 1:1,
on ramne les cls primaires des autres entits et les
proprits de la relation dans l'entit "du ct du
1:1".
Si ce n'est pas le cas, la relation se transforme en
table.
I. Mthode Merise
Modle logique des donnes
69
Exemple :
Le MLD correspondant l'exemple du libraire est le
suivant :
I. Mthode Merise
MCD>>MLD: A retenir
71
Relations rflexives:
Nous appliquons les rgles gnrales avec la seule diffrence que la relation
est 2 fois relie au mme objet.
I. Mthode Merise
MCD>>MLD: Quelques cas particuliers
76
Relations rflexives:
Nous appliquons les rgles gnrales avec la seule diffrence que la relation
est 2 fois relie au mme objet.
I. Mthode Merise
MCD>>MLD: Exercices
77
Syntaxe SQL :
SELECT [UNIQUE1] liste_attributs2 FROM Table ;
Syntaxe SQL :
SELECT * FROM table WHERE condition;
La condition peut forme sur des noms d'attributs ou des constantes avec
des oprateurs de comparaison : =, >, <, <=, >=, <>1
des oprateurs logiques : AND, OR, NOT
des oprateurs : IN, BETWEEN+AND, LIKE, EXISTS, IS
_ qui remplace un caractre et % qui remplace une chane de caractres
SELECT * FROM tudiants WHERE Age IN (19, 20, 21, 22, 23);
SELECT * FROM tudiants WHERE Age BETWEEN 19 AND 23;
86
II. Cours SQL
Produit Cartsien
87
Syntaxe SQL :
SELECT * FROM table1 [Alias1], ..., tablen [Aliasn];
Syntaxe SQL :
SELECT * FROM table1 [Alias1], ..., tablen [Aliasn] WHERE condition;
Autre Syntaxe :
87
II. Cours SQL
Produit Cartsien
88
Mme requte, mais avec des alias pour les noms de relation :
SELECT dc.#num
FROM Produit p, DtailCommande dc
WHERE p.#prod = dc.#prod
AND nomProd LIKE "%table%";
88
88
II. Cours SQL
Jointures par requtes imbriques
89
89
89
II. Cours SQL
Jointures par requtes imbriques
90
90
II. Cours SQL
Tri
91
Syntaxe :
Cette clause se place derrire la clause WHERE
ORDER BY attribut [ordre] [, attribut [ordre] ...]
On peut prciser un ordre croissant ASC ou dcroissant DESC.
Exemple
Trier Stock par numro de produit croissant et par quantit dcroissante
SELECT *
FROM Stock
WHERE qte > 0
ORDER BY #prod ASC, qte DESC
91
91
II. Cours SQL
Agrgation des rsultats
92
Syntaxe
GROUP BY liste_attributs
HAVING condition avec fonction
Cette clause regroupe les rsultats par valeur selon la condition
93
II. Cours SQL
Partitionnement des rsultats:
94
95
II. Cours SQL
Insertion
96
Syntaxe :
Pour insrer un tuple compltement spcifi :
INSERT INTO Table VALUES (val1,..., valn);
96
II. Cours SQL
Insertion exemple
97
Sur les relations tudiants (#Num, Nom, Prnom, Age, Ville, CodePostal)
ClubThtre(#Num, Nom, Prnom)
Ajouter l'tudiant Sylvain HEBON, 21 ans, habitant Nancy avec le numro 634.
Syntaxe :
UPDATE Table
SET attribut1 = expr1, ..., attributn = exprn
FROM ...
WHERE ...
98
II. Cours SQL
Mise jour:
99
UPDATE tudiants
SET Ville = 'Nancy', CodePostal = '54000'
WHERE Ville = 'Bar-Le-Duc';
II. Cours SQL
Suppression
100
Syntaxe :
DELETE FROM Table
[WHERE condition]
Remarque :
Si on supprime tous les tuples d'une relation,
! le schma de relation existe toujours !
Exemple :
Retirer de la liste tous les tudiants de plus de 22 ans.
100
II. Cours SQL
Cration de table
101
Syntaxe :
CREATE TABLE nomTable (
Attribut Domaine [Contraintes ...],
...
Attribut Domaine [Contraintes ...],
[Contraintes ... ] )
101
II. Cours SQL
Cration de table
102
102
II. Cours SQL
Modification de table
103
103
II. Cours SQL
Vue
104
Une vue est une Table non stocke dans la base de donnes mais
recalcule chaque utilisation.
Syntaxe :
CREATE VIEW NomVue AS
Requte_de_dfinition1
Exemple :
CREATE VIEW Personnes_ges AS
SELECT *
FROM Personnes
WHERE Age > 70;
104
II. Cours SQL
Base de donnes
105
Syntaxe :
CREATE DATABASE NomBdd;
Syntaxe :
DROP DATABASE NomBdd;
105
106
Merci