Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
GESTION
Systèmes d‘Informations
Bases de données
2ème année
Système d'information (SI)
2
Feuille de calcul
Microsoft Excel
Introduction
SGBD:
5
Système d’information
manuel
•Recueil des informations
•Délimiter le système.
Expression des Besoins •…
Système d’information
automatique 10
I. Méthode Merise
Les quartes phases de la méthode
11
Merise:
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 système qui gère déjà 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 stockées?
Quelles sont les informations stockées ?
Que manque t-il ?
Qu'est ce qui convient ou ne convient pas aux utilisateurs?
I. Méthode Merise
Les quartes phases de la méthode
12
Merise:
Interroger les futurs utilisateurs :
Qu'attendent-ils du futur SGBD ?
Quelles sont les opérations qu'ils désirent
automatiser ?
Recueillir les informations existantes, étudier
les divers liens qui peuvent exister entre ces
informations, mettre en évidence les règles de
gestion employées, ...
I. Méthode Merise
Les quatres phases de la méthode
13
Merise:
2. La phase conceptuelle :
Elle consiste à représenter l'organisation des
données de manière générale.
Elle aboutit sur la création du modèle conceptuel
des données (MCD) dans lequel les données sont
représentées sous forme d'entités liées entre elles
par des relations.
I. Méthode Merise
Les quartes phases de la méthode
14
Merise:
I. Méthode Merise
Les quartes phases de la méthode
15
Merise:
3. La phase logique ou organisationnelle :
Dans cette phase, la base de données sont
représentées sous une forme logique plus proche
de leur représentation réelle au sein du SGBD :
Les informations sont représentées uniquement
sous forme de tables au sein d'un modèle logique
des données (MLD).
I. Méthode Merise
Les quartes phases de la méthode
16
Merise:
I. Méthode Merise
Les quartes phases de la méthode
17
Merise:
4. La phase physique ou opérationnelle :
Elle consiste à construire réellement la base de
données au sein du SGBD (ici Access).
Cette partie ne sera pas décrite dans cette section,
mais dans les suivantes.
I. Méthode Merise
A retenir :
18
Exemple :
Dans l'exemple du libraire, on peut construire les
entités suivantes (les propriétés sont indiquées
après le nom de l'entité, l'identifiant est en gras) :
œuvre : Idœuvre, titre
Auteur : IdAuteur, nom, prénom
édition : ISBN, titre, nb pages
éditeur : IdEditeur, nom
Exemplaire : IdExemplaire, état
I. Méthode Merise
La construction du MCD
33
Œuvres
Auteurs
Idœuvre
Titre IdAuteur
Nom
Prénom
Editions
ISBN
Editeurs
Titre
Nb pages IdEditeur
Exemplaires
Nom
Id_livre
Etat
I. Méthode Merise
La construction du MCD
35
Exemple :
Dans l'exemple du libraire, on a les relations
suivantes:
I. Méthode Merise
La construction du MCD
41
Exemple :
Dans l'exemple du libraire, considérons la relation
édite qui existe entre les entités é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. Méthode Merise
La construction du MCD
44
NoClient Id_Cpt
Nom
Solde
Prénom
Adresse
Opérations
Concerne
Id_op
Type
1:1
Date
montant
I. Méthode Merise
Exercice : MCD (gestion de commandes)
52
1,1 0,N
1,N Appartenir
I. Méthode Merise
MCD>>> MLD
57
Exemple:
la première partie de la construction du MLD du
libraire est directe. Il suffit de recopier les entités.
I. Méthode Merise
Modèle logique des données
60
Premier cas:
Dans le cas d'une relation ou l'une des branches a une
Se transforme en:
EntitéA EntitéB
0:n relation 1:1
IdA IdB
propriétéR
PropriétéA1 propriétéB1
devient
TableA
TableB
PK_IdA PK_IdB
Champ A1 Ch_propriété B1
FK IdA
Ch_proriété
R
I. Méthode Merise
Modèle logique des données
64
Deuxième cas
Dans tous les autres cas, la relation du MCD se
Se transforme en:
I. Méthode Merise
Modèle logique des données
67
Cas particuliers
Quelques cas particuliers peuvent apparaitre.
Cas particuliers
Les relations réflexives (entre une entité et elle-
même) se traitent comme les autres relations.
les relations ternaires (entre trois entités, ou plus), se
traitent comme d'habitude.
Si l'une des branches a une cardinalité de type 1:1,
on ramène les clés primaires des autres entités et les
propriétés de la relation dans l'entité "du côté du
1:1".
Si ce n'est pas le cas, la relation se transforme en
table.
I. Méthode Merise
Modèle logique des données
69
Exemple :
Le MLD correspondant à l'exemple du libraire est le
suivant :
I. Méthode Merise
MCD>>MLD: A retenir
71
Relations réflexives:
Nous appliquons les règles générales avec la seule différence que la relation
est 2 fois reliée au même objet.
I. Méthode Merise
MCD>>MLD: Quelques cas particuliers
76
Relations réflexives:
Nous appliquons les règles générales avec la seule différence que la relation
est 2 fois reliée au même objet.
I. Méthode Merise
MCD>>MLD: Exercices
77
I. Méthode Merise
MCD>>MLD: Exercices
80
I. Méthode Merise
MCD>>MLD: Exercices
81 81
1,N
1,N
Id commune
N°identité Effectuer Nom commune
1,1
Nom Distance agence
Prénom Nombre d'habitants
DateNaissance Situer Dans
N°téléphone 1,1
Concerner
N°Location
1,1
DateDébut 0,N
DateFin
Id quartier
1,1 N° logement Nom quartier
Adresse
Superficie
Type logement Correspondre
Loyer
Charges forfaitaires
1,1 0,N
1,N Appartenir
I. Méthode Merise
MCD>>MLD: Exercices
Résumé
83
Syntaxe SQL :
SELECT [UNIQUE ] liste_attributs2 FROM Table ;
1
Syntaxe SQL :
SELECT * FROM table WHERE condition;
La condition peut formée sur des noms d'attributs ou des constantes avec
des opérateurs de comparaison : =, >, <, <=, >=, <> 1
1
La différence est parfois notée !=
II. Cours SQL
Sélection
88
SELECT * FROM Étudiants WHERE Age IN (19, 20, 21, 22, 23);
SELECT * FROM Étudiants WHERE Age BETWEEN 19 AND 23;
88
II. Cours SQL
Produit Cartésien
89
Syntaxe SQL :
SELECT * FROM table1 [Alias1], ..., tablen [Aliasn];
Syntaxe SQL :
SELECT * FROM table1 [Alias1], ..., tablen [Aliasn] WHERE condition;
Autre Syntaxe :
89
II. Cours SQL
Produit Cartésien
90
Même requête, mais avec des alias pour les noms de relation :
SELECT dc.#num
FROM Produit p, DétailCommande dc
WHERE p.#prod = dc.#prod
AND nomProd LIKE "%table%";
90
90
II. Cours SQL
Jointures par requêtes imbriquées
91
91
91
II. Cours SQL
Jointures par requêtes imbriquées
92
92
II. Cours SQL
Tri
93
Syntaxe :
Cette clause se place derrière la clause WHERE
ORDER BY attribut [ordre] [, attribut [ordre] ...]
On peut préciser un ordre croissant ASC ou décroissant DESC.
Exemple
Trier Stock par numéro de produit croissant et par quantité décroissante
SELECT *
FROM Stock
WHERE qte > 0
ORDER BY #prod ASC, qte DESC
93
93
II. Cours SQL
Agrégation des résultats
94
Syntaxe
GROUP BY liste_attributs
HAVING condition avec fonction
Cette clause regroupe les résultats par valeur selon la condition
le partitionnement GROUP BY
95
II. Cours SQL
Partitionnement des résultats:
96
Résultats (de Pierre)
Quelle est la note moyenne pour chaque coefficient
Matière Coef Note
?
SELECT coef, Avg(note) as Coef Moyenne
Maths 4 15
Moyenne 1 11
Sc Nat 3 9 FROM Résultats 2 12
Sc Phy 3 12 GROUP BY coef; 3 10.5
4 15
Français 2 13
Quels sont les coefficients auxquels participe une
Sc Hum 2 11 seule matière ?
97
II. Cours SQL
Insertion
98
Syntaxe :
Pour insérer un tuple complètement spécifié :
INSERT INTO Table VALUES (val1,..., valn);
98
II. Cours SQL
Insertion exemple
99
Sur les relations Étudiants (#Num, Nom, Prénom, Age, Ville, CodePostal)
ClubThéâtre(#Num, Nom, Prénom)
Ajouter l'étudiant Sylvain HEBON, 21 ans, habitant Nancy avec le numéro 634.
Syntaxe :
UPDATE Table
SET attribut1 = expr1, ..., attributn = exprn
FROM ...
WHERE ...
100
II. Cours SQL
Mise à jour:
101
UPDATE Étudiants
SET Ville = 'Nancy', CodePostal = '54000'
WHERE Ville = 'Bar-Le-Duc';
II. Cours SQL
Suppression
102
Syntaxe :
102
II. Cours SQL
Création de table
103
Syntaxe :
CREATE TABLE nomTable (
Attribut Domaine [Contraintes ...],
...
Attribut Domaine [Contraintes ...],
[Contraintes ... ] )
103
II. Cours SQL
Création de table
104
104
II. Cours SQL
Modification de table
105
105
II. Cours SQL
Vue
106
Une vue est une Table non stockée dans la base de données mais
recalculée à chaque utilisation.
Syntaxe :
CREATE VIEW NomVue AS
Requête_de_définition1
Exemple :
CREATE VIEW Personnes_Âgées AS
SELECT *
FROM Personnes
WHERE Age > 70;
106
II. Cours SQL
Base de données
107
Syntaxe :
CREATE DATABASE NomBdd;
Syntaxe :
DROP DATABASE NomBdd;
107
108
Merci