Académique Documents
Professionnel Documents
Culture Documents
DONNÉES
É
conception
application : réalisation de bases de données avec le logiciel ACCESS
4. Étudier
É comment exploiter les informations stockées dans une BD
SAIDI Rajaa application : utilisation du langage d’interrogation SQL
r.saidi@insea.ac.ma
Partie
P ti 3 – Utilisation
Utili ti d du SGBD Access
A
Chapitre 1 – Les tables
Augmentation
Diversité Augmentation
des besoins
des produits de la réactivité
Client
Approche systémique d’une organisation (1/5) Approche systémique d’un système (2/5)
Un système correspondant à l’activité de l’entreprise (tâches réelles) est Le SP procède à la régulation et au contrôle du SO en décidant du
appelé Système Opérant (SO) comportement de celui-ci
Système de Pilotage
Informations
sur l’état du SO
Un système de prise de décision (équipe dirigeante) lui permettant de Décision sur le SO
réaliser
éa se les
es objec
objectifs
s fixés.
és Ce sys
système
è e es
est appe
appelé
é Sys
Système
è e de Pilotage
o age (S
(SP))
Flux entrant Flux sortant
Système Opérant
7 8
Approche systémique d’un système (3/5) Approche systémique d’un système (4/5)
Augmentation en quantité et en complexité des informations échangées Système de pilotage : activité de l’équipe dirigeante
entre ces deux systèmes
Système d’information : éléments divers (employés,
(employés règles et méthodes,
méthodes
Besoin d’avoir un autre système qui stocke et traite de façon plus efficace etc.) chargés de stocker et de traiter les informations relatives au Système
ces informations Opérant afin de les mettre à la disposition du Système de Pilotage
Système de pilotage
Système d’information
d information (SI)
Flux d’information Système d’information Flux d’information
Fl physiques
Flux h i Système opérant Flux physiques
9 10
11 12
Système d’information Vs. Système informatique Facettes d’un SI
Système d’information Système d’information
Le système d’information (SI) présente 2 facettes
Processus Informations organisées avec des
z système d’information
d information organisationnel
événements ayant un effet sur ces
informations z système d’information informatisé
Acteurs q qui agissent
g sur ces
informations ou à partir de ces
Acteurs Informations informations Système d’information organisationnel
Processus visant une finalité de z étude des p
processus et des données manipulées
p p
par ces p
processus
S’appuie sur Supporte gestion z quelle information doit être gérée, comment l’organiser, qui y accède et avec
Système informatique quels droits, … ?
Système
S tè i f
informatique
ti
Matériel
Ensemble organisé d’objets
techniques
Système d’information informatisé
z concerne l’informatisation
’ f de l’information
’ f
Le système informatique réalise Ö Base de Données
Logiciels Applications
ll’infrastructure
infrastructure d’un
d un système
d’information et lui permet de
fonctionner
13 14
Chapitre 1
PARTIE 2 Généralités sur les SGBD
15
Plan du chapitre BD et système de gestion de BD
17 18
... ...
base de base de
Autoriser une administration efficace des données données 1 données 2
19 20
Différents utilisateurs d’un SGBD Le marché des SGBD
21 22
Les outils de data mining : analyse et exploitation de grandes masses de Conception de BD relationnelles
données
23
Plan du chapitre Étapes de la conception et réalisation d’une BD (1/2)
Modèle logique
description
physique
Modèle physique
25 26
description
5. Mise en œuvre sur le SGBD physique
Modèle physique
27 28
Principes du modèle E/A : entité et classe d’entités Principes du modèle E/A : attribut et identifiant
29 30
attribut d’association
31 32
Cardinalité d’une association Cardinalité d’une association : exemples
Ex. d’une association binaire :
Cardinalité d’une association A vis-à-vis d’une classe d’entités E :
PRODUIT
FACTURE
nombre minimum et maximum de fois où une entité donnée de la classe E peut
p EST-FACTURE
EST FACTURE REFPROD
NUMFACT
apparaître dans l’association A QTE DESIGN
DATFACT 1,n 0,n
PRIXHT
Cardinalité minimum :
0 : il peut exister des entités de E qui n’apparaissent pas dans A sur une FACTURE donnée sont un PRODUIT donné est facturé
1 : toute entité de E apparaît au moins une fois dans A facturés de 1 à n produits dans 0 à n factures
Cardinalité maximum :
1 : toute entité de E apparaît au plus une fois dans A Ex. d’une association ternaire : un CLIENT donné passe 0
n : il peut exister des entités de E apparaissant plusieurs fois dans A à n commandes CLIENT
PRODUIT CODCLI
COMMANDE
REFPROD 0,n NOMCLI
0,n
DESIGN ADRCLI
E A F CPCLI
min , max PRIXHT
0,n VILLECLI
TELCLI
un PRODUIT donné est DATE
commandé 0 à n fois DATE à une DATE donnée sont
passées 0 à n commandes
33 34
35 36
Dictionnaire des données Dépendances fonctionnelles (DF)
Inventaire des données manipulées : Dépendance fonctionnelle d'un attribut A vers un attribut B : la connaissance
Attribut Signification Domaine de la valeur de A détermine une valeur unique de B
... ... ...
... ... ... Généralisation aux cas de plusieurs attributs : la connaissance des attributs
... ... ... A1, A2,...,An détermine une valeur unique
q de B
z mettre seulement les données élémentaires, c’est-à-dire les attributs ne pouvant
pas être obtenus par calcul Représentation graphique
A1
Exemple : A2 B
A B
Attribut Signification Domaine ...
REFPROD Référence du produit Chaîne(12) An
DESIGN Désignation du produit Chaîne(30)
PRIXHT Prix unitaire HT réel
Exemples :
NUMFACT Numéro de la facture. entier NUMFACT
DATFACT Date de la facture. Date/heure NUMFACT DATFACT QTE
QTE Quantité facturée entier REFPROD
... ... ...
un n° de facture détermine une un n°
n de facture et une ref.
ref de produit
z les attributs calculés sont obtenus par programmation - ex : PRIXTTC et une seule date de facture déterminent une et une seule quantité
facturée
37 38
39 40
Graphe de DF et modèle entité-association Graphe de DF et modèle entité-association
Le graphe de DF facilite la construction du modèle entité-association en Exemple :
permettant de déterminer :
1. les identifiants ADRCLI
2. les classes d'entités : identifiants et attributs qui dépendent directement et REFCLI NOMCLI
uniquement d’eux
3. les associations : construites à partir DF restantes
Étapes de la conception et réalisation d’une BD Modèle logique des données : le modèle relationnel
1. Dico. des données Principe du modèle relationnel : toutes les données sont stockées dans
Attribut Signification Domaine Réel perçu
REFPROD Référence du produit Chaîne(12) des tables
DESIGN Désignation du produit Chaîne(30)
PRIXHT Prix unitaire HT réel
... ... ...
• interviews Relation ou table : ensemble des enregistrements (ou records) issus
2. Graphe des DF • analyse des documents d’une classe d’entités ou d’une association
NUMFACT DATFACT existants
e sta ts analyse
QTE
REFPROD DESIGN
• étude des logiciels existants conceptuelle Attribut (ou champ) d’une relation :
PRIXHT
z matérialise un attribut d’une classe d’entités ou d’une association
3. Modèle entité-association z caractérisé par un nom et un domaine de valeurs
FACTURE PRODUIT
NUMFACT
DATFACT
EST-FACTURE
1,n QTE
REFPROD
DESIGN Modèle conceptuel attribut ou
0,n PRIXHT
description nom de la table champ p
logique
4. Schéma de la BD PRODUIT REFPROD DESIGN PRIXHT
FACTURE(NUMFACT,DATFACT) 1 Livre 9,20
PRODUIT(REFPROD,DESIGN,PRIXHT)
PRODUIT(REFPROD DESIGN PRIXHT) gq
Modèle logique table ou
EST-FACTURE(NUMFACT,REFPROD,QTE)
enregistrement
i t t 5 C
Cahier 2,30 relation
9 Crayon 5,75
7 Stylo 2,20
43 44
BD relationnelle Modèle relationnel et SGBD relationnel
Une BD relationnelle est une collection de tables Les SGBD relationnels permettent de construire et manipuler des relations :
Exemple : z le schéma (ou la structure) des relations : nom de relation + liste des attributs
PRODUIT
FACTURE z le contenu des relations (enregistrements)
EST-FACTURE REFPROD
NUMFACT
QTE DESIGN
DATFACT 1,n 0,n
,
PRIXHT
Le
L modèle
dèl relationnel
l ti l exige
i que chaque
h relation
l ti ait
it une clé
lé
z clé (ou clé primaire) d’une relation : sous-ensemble minimum d’attributs d’une
relation qui détermine les autres
FACTURE NUMFACT DATFACT PRODUIT REFPROD DESIGN PRIXHT exemple - pour FACTURE : NUMFACT
6 13/10/2010 1 Livre 19,20
z correspond à la notion d’identifiant dans un modèle entité-association
2 16/10/2010 5 Cahier 2,30
,
3 16/10/2010 9 Crayon 5,75
7 Stylo 2,20 Le schéma d’une relation est souvent noté : FACTURE(NUMFACT , DATFACT)
EST FACTURÉ NUMFACT REFPROD
EST-FACTURÉ QTE
nom de la relation liste d’attributs
6 1 7
6 5 3
2 5 10 FACTURE(NUMFACT , DATFACT)
2 1 5 clé de la relation soulignée
3 7 4
45 46
après simplification :
FACTURE(NUMFACT,DATFACT) FACTURE(NUMFACT,DATFACT,CODCLI)
PRODUIT(REFPROD,DESIGN,PRIXHT) CLIENT(CODCLI,NOMCLI,ADRCLI,CPCLI,VILLECLI,TELCLI)
EST-FACTURE(NUMFACT,REFPROD,QTE) CONCERNE-CLIENT(NUMFACT,CODCLI)
47 48
Cas particuliers pour le passage au relationnel Étapes de la conception et réalisation d’une BD
Cas des associations réflexives 1. Dico. des données
Réel perçu
Î on donne des noms différents aux attributs: Attribut
REFPROD
Signification
Référence du produit
Domaine
Chaîne(12)
DESIGN Désignation du produit Chaîne(30)
avant simplification : PRIXHT Prix unitaire HT réel
EMPLOYE ... ... ...
• interviews
0,n
DIRIGE
EMPLOYE(CODEMP, NOMEMP, PRENOMEMP)
CODEMP directeur
NOMEMP
DIRIGE(CODEMP-SUBORDONNÉ, CODEMP-DIRECTEUR) 2. Graphe des DF • analyse des documents
subordonné NUMFACT DATFACT existants
e sta ts analyse
PRENOMEMP 0,1 après simplification : QTE
• étude des logiciels existants conceptuelle
REFPROD DESIGN
CODEMP-DIRECTEUR)
3. Modèle entité-association
Cas des entités qui ne comportent pas d’attributs non-identifiant FACTURE
EST-FACTURE
PRODUIT
REFPROD
NUMFACT
DATFACT 1,n QTE
DESIGN
0,n PRIXHT
Modèle conceptuel
Î on peut souvent supprimer ces tables sans perte d’information description
logique
PRODUIT(REFPROD, DESIGN, PRIXHT) 4. Schéma de la BD
PRODUIT CLIENT(CODLI, NOMCLI) FACTURE(NUMFACT,DATFACT)
gq
Modèle logique
COMMANDE CLIENT
REFPROD 0,n 0n
0,n
0,n
DATE(DATE) PRODUIT(REFPROD,DESIGN,PRIXHT)
PRODUIT(REFPROD DESIGN PRIXHT)
EST-FACTURE(NUMFACT,REFPROD,QTE)
DESIGN
CODCLI COMMANDE(REFPROD, CODCLI, DATE)
NOMCLI description
PRIXHT 0,n
5. Mise en œuvre sur le SGBD physique
DATE
table DATE peut être supprimée car n’apporte
n apporte
DATE
aucune information par rapport à COMMANDE Modèle physique
! Ceci ne s’applique qu’aux entités 49 50
Méthodes pour la description physique des données Interface graphique de descripn physique des données
Deux méthodes pour la description physique des données : exemple sur Access
z en utilisant le langage SQL z en utilisant une interface graphique
spécifique à chaque SGBD
CREATE TABLE FACTURE (
NUMFACT INTEGER IDENTITY
PRIMARY KEY,
KEY
DATEFACT DATETIME NOT NULL
DEFAULT GETDATE()
)
51 52
Plan du chapitre
Exploitation de données
54
Exemple
E l : référence
éfé ett dé
désignation
i ti d des produits
d it coûtant
ût t moins
i d de 5 dh ttriés
ié
par désignation
SELECT REFROD, DESIGN REFPROD DESIGN
FROM PRODUIT 5 Cahier
WHERE PRIXHT < 5 9 Crayon
ORDER BY DESIGN 7 y
Stylo
Lorsque deux tables n’ont pas de champ commun, utiliser les tables inter- Une requête peut être basée sur une (ou plusieurs) autres requête(s) :
médiaires pour effectuer la jointure : consulter le modèle entité-association SELECT ... req peut être utilisée comme une table dont les champs
FROM req, ...
exemple : désignation des produits facturés après le 14/10/2010 sont ceux affichés dans la clause SELECT de req
z ...
PRODUIT FACTURE
Intérêt :
PRODUIT
FACTURE( NUMFACT, DATFACT) FACTURE
EST-FACTURE z écrire des requêtes qui peuvent être réutilisées dans d’autres requêtes
REFPROD
? NUMFACT
1,n QTE 0,n DESIGN z décomposer une requête complexe à écrire en requêtes plus simples
DATFACT PRIXHT
PRODUIT(( REFPROD,, DESIGN,, PRIXHT))
SELECT DESIGN
FROM FACTURE, EST-FACTURE , PRODUIT
WHERE EST-FACTURE.NUMFACT = FACTURE.NUMFACT
j i t
jointures
AND EST-FACTURE.REFPROD = PRODUIT.REFPROD
AND DATFACT > #2010/10/14#
65 66
z exemple:
l montant
t t HT de
d la
l ffacture
t 6
SELECT REFPROD, PRIXTTC REFPROD PRIXTTC
SELECT champ1,..., champn , expr1,..., exprm calculs sur les groupes R1 NUMFACT MONTANT
FROM … R2 : Maximum des montants 2 119,00
WHERE … champ(s) sur le(s)quel(s) 3 8,80
GROUP BY champ1,..., champn s’effectue les regroupements
SELECT MAX(MONTANT) AS MAXMONTANT 6 141,30
FROM R1
Exemple
p :qquantités facturées p
par p
produit R2 MAXMONTANT
141,30
EST- NUMFACT REFPROD QTE R3 : Numéro de la facture ayant le montant le plus élevé
FACTURÉ REFPROD
6 1 7 SELECT REFPROD, SUM(QTE) SELECT NUMFACT
1 12
6 5 3 FROM EST-FACTURE
EST FACTURE 5 13 FROM R1,R2
R3 NUMFACT
2 5 10 GROUP BY REFPROD 7 4 WHERE R1.MONTANT=R2. MAXMONTANT 6
2 1 5
3 7 4 73 74
Exemple: réf. et désign. des produits dans PRODUIT et ANC-PRODUIT Exemple: réf. et désign. des produits dans PRODUIT mais pas dans ANC-
REFPROD DESIGN REFPROD DESIGN PRODUIT
1 Livre 1 Livre REFPROD DESIGN REFPROD DESIGN
SELECT REFPROD, DESIGN 1 Livre 1 Livre
5 Cahier 9 Crayon
FROM PRODUIT SELECT REFPROD, DESIGN 5 Cahier 9 Crayon
9 Crayon 4 Cartable
INTERSECT FROM PRODUIT 9 Crayon 4 Cartable
7 Stylo 5 Cahier
SELECT REFPROD, DESIGN EXCEPT 7 Stylo 5 Cahier
2 Trousse
FROM ANC-PRODUIT SELECT REFPROD, DESIGN 2 Trousse
FROM ANC-PRODUIT
REFPROD DESIGN
1 Livre REFPROD DESIGN
5 Cahier 7 Stylo
9 Crayon 77 78
Mise à jour d’enregistrements : UPDATE L’ajout d’un seul enregistrement s’effectue de la manière suivante :
INSERT INTO table
bl (champ
h 1, … , champ
h n)
VALUES (valeur1 , … , valeurn)
79 80
Insertion d’enregistrements : INSERT – 2 / 2 Suppression d’enregistrements : DELETE – 1 / 2
L’ajout d’enregistrements spécifiés par une requête s’effectue de la manière La suppression d’enregistrements s’effectue de la manière suivante :
suivante : DELETE
INSERT INTO table (champ1 , … , champn) FROM table
t bl
SELECT … FROM … WHERE … WHERE condition
! les enregistrements concernés sont irrémédiablement supprimés
z le nombre et le type des champs dans la clause SELECT doivent être identiques
à ceux des champs insérés dans table
Exemple : supprimer toutes les factures émises après le 16/10/2010
DELETE
z exemple : ajouter à la table ANC-PRODUIT tous les produits de PRODUIT FROM FACTURE
WHERE DATFACT > #16/10/2010#
INSERT INTO ANC
ANC-PRODUIT
PRODUIT (REFPROD, DESIGN, PRIXHT)
SELECT REFPROD, DESIGN, PRIXHT FROM PRODUIT
81 82
UPDATE PRODUIT
SET REFPROD = 7
WHERE REFPROD = 4
85