L’analyse de données
SOMMAIRE :
A. L’information
dans l’entreprise et son informatisation
1.
L’information : une ressource stratégique
2.
L'implantation des informations sur un support informatique
B. L'analyser la
représentation des informations
2. Niveau
logique (ou organisationnel) :.
3. Niveau
physique (ou opérationnel)
II Le dictionnaire des données
A. L’inventaire
exhaustif des données
B. La
classification des données :
données élémentaires / Calculées
C. Le dictionnaire
des données et les règles de gestion.. 6
1. Liste des
données à mémoriser : le dictionnaire de données
2. Liste des
règles de gestion ou contraintes à respecter
III Le Model Conceptuel des Données
(MCD)
A. Formalisme et
vocabulaire MERISE
B. Démarche de
conception d’un MCD
IV Le
Model Relationnel et les bases de données
relationnelles (MR)
1. Etude du
problème à partir d’un exemple
1. Créer la
structure de la BD
V L’exploitation des bases de
données : Les requêtes
B. Opérations
réalisables dans les requêtes.
L'information constitue l'une des ressources stratégiques de l'entreprise :
Celle-ci prend des décisions en fonction des informations dont elle dispose.
Elle doit constituer un système d'information efficace, c'est-à-dire qui :
-- Utiles : ce qui est nécessaire et suffisant (ni plus ni moins).
-- A jour : des mises à jour doivent être faites régulièrement dans tout système informatique.
-- Fiables : informations non erronées (la tension aux erreurs de saisie, calcule,...).
L'apparition de l'outil informatique a permis la mémorisation des informations sur un support informatique et à faciliter leur exploitation notamment grâce à de nouveaux outils logiciels, à la fois simple d'utilisation et efficace, les Systèmes de Gestion de Bases de Données Relationnelles (SGBDR). Exemple : Access, …
Un SGBDR est un logiciel qui permet de créer et d’exploiter (manipuler une base de données) est un ensemble structuré et cohérent d'informations stockées sur un support informatique et pouvant être utilisé par toutes les personnes autorisées.
Plus précisément les bases de données offrent les avantages suivants :
-- Minimiser la saisie.
-- Eviter les incohérences.
De par sa nature stratégique, l'information stockée sur un support informatique doit être protégée contre le vol, la destruction ou l'endommagement.
Une politique de sécurité doit être mise en place :
-- Protection des locaux (porte à accès sécurisé, …).
-- Protection contre les pannes d'électricité (onduleurs, groupes électrogènes, …).
-- Protection d'accès aux informations (accès au système par mot de passe, …).
-- Protection contre le virus (antivirus, …).
-- Protection contre les pertes (sauvegarde régulière des données sur support de stockage).
La création d'une base de données dans une entreprise est soumise à des contraintes liées à la nature des informations qu'elle renferme et à l'utilisation qu’en est faite. En particulier les conditions de stockage d'informations nominatives (informations désignant directement ou indirectement une personne physique : nom, numéro matricule,...) pour des supports conformes à la loi « informatique et liberté » votée le 6 janvier 1973.
Cette loi protège les personnes contre l'usage d'informations d'ordre privé.
Exemple : religion, habitudes sexuelles, ...
En France, afin d'éviter les échanges d'informations nominatives entre eux organisation, il est interdit d'utiliser le numéro d'INSEE d’une personne pour l’identifier.
Autorité = la CNIL (Commission Nationale de l'Information et Liberté).
La création d'une base de données repose sur une démarche d'analyse qui va permettre d'organiser les données de manière à obtenir une représentation de la réalité le plus fidèle possible.
Cette démarche consiste à faire :
-- L’inventaire des informations pertinentes du système étudié.
-- Structurer les données (= organiser).
La méthode la plus utilisée de représentation des données est la méthode Merise ou méthode Entité-Association. Cette méthode met en jeu différent niveaux d'abstraction. A chaque niveau correspond un modèle de représentation des données et des contraintes (règles) auxquels elles sont soumises.
Constitution d'un dictionnaire de données : liste toutes les données utiles ainsi que les caractéristiques (codage, type, ...) ainsi que les règles de gestion.
Réalisation du modèle conceptuel de données (MCD) : schéma graphique représentant de manière ordonnée les données du dictionnaire de données.
Réalisation du modèle logique de données (MLD) ou modèle relationnel (MR).
C’est la traduction du MCD en un schéma en ligne en vue de créer la base de données sous un SGBDR.
Exemple : CLIENT (NumClient, NomClient, AdresseClient)
COMMANDE (NumCom, DateCom, MontantCom)
PRODUIT (RefProd, DésignationProd, PrixUnitProd)
CONTENIR (NumCom#, RefProd#, QtitéProd)
Réalisation physique des données, c’est l’implantation concrète de la base de données sur ordinateur.
Pour informatiser la gestion
d'une activité, l'entreprise a besoin de mémoriser
certaines informations dans son système
d'informations : celles qui sont utiles aux
traitements
Pour repérer les données qu'il va falloir mémoriser,
l'entreprise fait l'inventaire des informations
présentes sur les documents qui circulent dans l'entreprise
(internes, entrants ou sortants)
relevées lors d'entretiens
avec les décideurs, les utilisateurs et autres acteurs internes de l'entreprise
Exercice 1 :
La société VIDEOPLUS est spécialisée dans le prêt de cassettes vidéo.
Elle gère environ 600 cassettes et possède environ 2500 clients.
Elle désire informatiser la gestion des prêts de cassettes. Pour cela,
Monsieur RENARD, le gérant de la société vous fait un exposé sur sa manière de gérer à travers quelques
exemples.
Le prêt identifié par le
numéro 1132 a été enregistré le 25/04/98 et a été souscrit pour un montant dé 60,OOF par un client identifié chez
VIDEOPLUS par le numéro 48. Ce même client a d'ailleurs un autre prêt en cours identifié parle numéro 1127.
Ce client se nomme Isabelle GARNACHE et habité rué dé la Madonne 59000
LILLE. Pour réaliser cet emprunt il a
présenté une carte d'identité (CI) portant lé numéro FR56783
Lé prêt n°1132 concerné 2 cassettes
- la cassette identifiée chez VIDEOPLUS par le numéro 934 sur laquelle
est enregistré le film identifié chez
VIDEOPLUS par le numéro 9 dont lé titré est « Mourir d'aimer » et classé dans
lé genre « Drame psychologique »
- la cassette identifiée chez
VIDEOPLUS par le numéro 1123 sur laquelle est enregistré le film identifié chez VIDEOPLUS par le numéro 10 dont le
titre est « Le train sifflera trois fois » et classé dans le genre « Western »
Le film numéro 9 a proposé
au tarif identifié par la couleur jaune, qui est de 25,OOF. Le film numéro 10 est proposé au tarif identifié par la
couleur rouge qui est de 35,o0F. Le film numéro 4, du genre
Western comme le film numéro 10, est proposé au tarif jaune.
Pour dés raisons commerciales, le tarif d'un film ne peut dépasser
50,OOF
Le film numéro 5 est enregistré sur les cassettes numéro 500 et 501. Ces cassettes sont actuellement disponibles. On ne sait pas quels prêts ont pu les concerner auparavant : chez VIDEOPLUS, on ne mémorise que les prêts en cours.
Compétez le tableau ci-dessous afin d’extraire du texte les éléments d’informations variables, c’est à dire qui peuvent être remplacés sans modifier la vision globale de l’organisation.
Désignation de l’information |
Exemples donnés dans le texte |
Numéro de prêt |
1132, 1127 |
Date du prêt |
25/04/98 |
Montant du prêt |
60,00 F |
Numéro du client |
48 |
Nom |
GARNACHE |
Prénom |
Isabelle |
Adresse |
Rue de la Madonne
59 000 |
Type de pièce d’identité présentée |
Carte d’identité |
N° pièce d’identité présentée |
FR56783 |
Nombre de cassette d’un prêt |
2 |
N° de cassette |
934, 1123,
500, 501 |
N° de film |
9, 10, 5, 4 |
Titre du film |
‘Mourir d’aimer’, ‘Le
train… trois fois’ |
Genre du film |
Drame, Western |
Couleur du tarif |
Jaune, rouge |
Montant du tarif |
25 F, 35 F |
Les données recensées lors de l’inventaire peuvent être classées selon 2 catégories :
Généralement, elles ne sont pas enregistrées dans le système d’information sauf quand le calcul repose sur des données élémentaires non stables (c’est à dire, dont la valeur peut varier souvent durant la durée de vie de la base).
Exercice 2 :
Parmi les données recensées dans l’exercice précédent, relevez celles qui sont le résultat d’un calcul (en précisant leur règle de calcul).
Désignation de l’information |
Règle de calcul |
Montant du prêt |
Somme des montants de location d’un film |
Nombre de cassette d’un prêt |
Somme du nombre des cassettes |
Les données élémentaires (et certaines données calculées) sont reportées dans un tableau appelé le dictionnaire de données dans lequel on va préciser les caractéristiques de chaque donnée :
CODE |
LIBELLE |
TYPE A / N /AN/ Log / Date |
EXEMPLES / REMARQUES (exemple de valeur, règle
de calcul) |
… |
… |
… |
… |
Pour être exploitable par l’ordinateur, les données doivent être concises et claires. A cet effet, on les codifie. La codification doit être sans ambiguïté et il faut éviter :
Montant (sous-entendu montant du tarif des films) va devenir MontantTarif
Exercice 3 :
Réalisez le dictionnaire de donnée de l’exercice précédent.
CODE |
LIBELLE |
TYPE |
EXEMPLES / REMARQUES |
NumPrêt |
Numéro de prêt |
N (entier) |
1132, 1127 |
DatePrêt |
Date du prêt |
Date |
25/04/98 |
MtPrêt |
Montant du prêt |
N (réel) |
60,00 F |
NumCli |
Numéro du client |
N (entier) |
48 |
NomCli |
Nom du client |
|
GARNACHE |
PrenomCli |
Prénom du client |
AN (50) |
Isabelle |
AdresseCli |
Adresse du client |
AN (50) |
Rue de la Madonne
59 000 |
TypePI |
Type de pièce d’identité présentée |
A (20) |
Carte d’identité |
NumPI |
N° pièce d’identité présentée |
AN (10) |
FR56783 |
NumCassette |
N° de cassette |
N (entier) |
934, 1123,
500, 501 |
NumFilm |
N° de film |
N (entier) |
9, 10, 5, 4 |
TitreFilm |
Titre du film |
AN (30) |
‘Mourir d’aimer’, ‘Le
train… trois fois’ |
GenreFilm |
Genre du film |
A (30) |
Drame,
Western |
CouleurTarif |
Couleur du tarif |
A (10) |
Jaune, rouge |
MtTarif |
Montant du tarif |
N (entier) |
25 F, 35 F |
Le dictionnaire de données recense les données à mémoriser. Il faut maintenant préciser les relations de dépendance qu’il y a entre les différentes données et les contraintes qui pèsent sur ces données en vue de construire le MCD.
Pour cela, il faut analyser les documents fournis et, à partir des données du dictionnaire de données, déduire les règles de gestion pour exprimer la façon dont le système étudié fonctionne.
On peut présenter les règles de gestion sous la forme d’un
tableau du type suivant :
REGLE N° |
ENONCE DE LA
REGLE |
RG1 |
… |
… |
… |
Exercice 4 :
Soit l'exposé précédent, repris de manière à remplacer les exemples par des informations génériques :
Un
prêt identifié par un certain numéro est enregistré à une certaine date et est
souscrit pour un certain montant par un client identifié chez VIDEOPLUS par un
certain numéro. Un client peut avoir plusieurs prêts en cours.
Un
client est caractérisé par son nom, son prénom, son adresse et doit présenter
une pièce d'identité quelconque caractérisée par son numéro.
Un prêt peut concerner
plusieurs cassettes.
Une cassette est identifiée
par un certain numéro et sur chacune est enregistré un film identifié par un
certain numéro et caractérisé par un titre et un genre.
Un film est proposé à un
certain tarif identifié par une certaine couleur correspondant à un certain
montant de location qui ne peut pas dépasser 50, 00F. Le tarif ne dépend pas du
genre.
Un film peut être enregistré sur plusieurs
cassettes différentes.
On ne mémorise que les prêts en cours.
Précisez les règles de gestion appliquées chez VIDEOPLUS dans le tableau ci-dessous Vous écrirez ces règles sous la forme :
<SUJET> <VERBE>
<COMPLEMENT>
REGLE N° |
ENONCE DE LA REGLE |
RG 1 |
Un prêt
correspond à un numéro |
RG 2 |
Un prêt est enregistré à une date |
RG 3 |
Le montant du
prêt est la somme des tarifs des cassettes empruntés |
RG 4 |
Un client est
désigné par un numéro (NumCli) |
RG 5 |
Le nom du client
correspond à NomCli |
RG 6 |
Le prénom du
client correspond à PrénomCli |
RG 7 |
L’adresse du
client correspond à AdresseCli |
RG 8 |
Le type de Pièce
d’Identité correspond à TypePI |
RG 9 |
Le n° de la P.I.
correspond à NumPI |
RG 10 |
Une cassette
correspond à un numéro (NumCassette) |
RG … |
… |
Voici un exemple du MCD se présentant sous la forme suivante :
|
|
Exemple : Parmi les occurrences suivantes de l’entité PRODUIT, certaines sont incorrectes.
Bonne Fausse Bonne Fausse
Occ 1, pas d’Id. Conflit d’Id entre Occ 1 et Occ 2.
Deux occurrences d’une même entité ne peuvent avoir le même Id.
PASSER : permet de mettre en relation les occurrences de CLIENT avec les occurrences de COMMANDE.
Le client n°56 a passé commande n°C/006.
Une association peut avoir (ou porter) des propriétés : On dit que c’est une association porteuse.
Dans le cas où une donnée du dictionnaire de données dépendrait de plusieurs entités : On ne peut la mettre ni dans l’une ni dans l’autre, on l’a met donc dans une association qui relie les deux entités.
Une association qui relie entre elles :
Pour préciser le nombre de fois qu’une entité est concerné par une association, on précise les cardinalités.
Plus précisément :
o Exclusive (au plus 1) :cardinalité Max = 1.
o Multiple : cardinalité Max = N (N > 1).
· Tableau récapitulatif des types de cardinalité :
Cardinalité |
Signification |
0, 1 |
Au plus un : Chaque occurrence de l’entité n’est pas obligatoirement concernée par l’association et si elle l’est, c’est au plus une seule fois. |
1, 1 |
Un et un seul : Chaque occurrence de l’entité
est concernée par l’association au plus une fois. |
0, N |
Zéro, un ou plusieurs : Chaque occurrence de l’entité n’est pas obligatoirement concernée par l’association et si elle l’est, elle peut l’être plusieurs fois. |
1, N |
Au moins un : Chaque occurrence est concerné par l’association et peut l’être plusieurs fois. |
Exemple :
Ces ont les cardinalités d’une association qui définissent son type.
Modèle :
Modèle :
Une association sert à reliée 2 ou plusieurs entités distinctes en général, cependant, il existe des association relie une entité à elle-même, les association réflexives.
Remarque : On précise sur chacune des branches de l’association le rôle qu’elle joue.
Modèle :
Deux entités distinctes peuvent avoir plusieurs lien de dépendance. Dans ce cas elles vont être reliées par plusieurs associations.
Modèle :
Concevoir un MCD exige de procéder par étape :
1) Faire l’inventaire des données et présenter le dictionnaire des données (ne garder que les informations élémentaires et utiles).
2) Créer les entités en regroupant les propriétés qui portent sur un même objet de gestion et choisir parmi celles-ci, celle qui sera l’identifiant :Si aucune ne convient, en crée une.
3) Relier les entités par les associations en respectant les contraintes de gestion qui apparaissent dans le sujet.
4) Traiter le
cas particulier des données du dictionnaire pas encore casés.
Il peut s’agir :
5) Fixer les cardinalités
6) Valider le MCD
Le MCD ci dessous représente une partie du système de gestion des commandes des clients dans l’entreprise Ordin’Air.
L’entreprise a enregistré dans son Système Informatique les
informations suivantes (sous forme de table Access).
CLIENT |
NumCli |
NomCli |
AdresseCli |
|
1 |
DUPONT |
4 rue Victor Hugo 59 800 Lille |
|
2 |
NEMAR |
78, bis av Faidherbe 59 800 Lille |
|
3 |
TERIEUR |
8 rue Jaurès 59 540 Caudry |
|
4 |
VERSAIRE |
1 rue Colbert 59 800 Lille |
COMMANDE |
NumCde |
DateCde |
MontantCde |
NumCli# |
|
BC 01 |
13/07/98 |
12 000 |
1 |
|
BC 02 |
5/09/98 |
15 000 |
1 |
|
BC 03 |
8/09/98 |
980 |
3 |
|
BC 04 |
04/10/98 |
75 300 |
5 |
|
BC 05 |
05/10/98 |
45 120 |
4 |
|
BC 07 |
10/10/98 |
67 000 |
4 |
|
BC 08 |
15/10/98 |
34 000 |
1 |
|
BC 09 |
17/10/98 |
50 900 |
1 |
|
BC 10 |
19/10/98 |
8 000 |
1 |
|
BC 11 |
20/10/98 |
32 000 |
3 |
1) Quel est le nombre d’occurrence de l’entité client et
l’entité commande ? 4 et 10
2) Lors de la
saisie des informations dans la base de données, 2 erreurs on été faites :
trouver ces erreurs en analysant les valeurs des occurrences et les règles
imposées par le MCD ?
-- BC 04 incorrect car passée par le client 5 qui n’existe pas.
-- Client 2 n’a pas passé de commande or le MCD impose que tout client
enregistré a passé au moins une commande.
LE MR est la traduction du MCD sous forme de relation qui représente la structure des tables à implanter sous un SGBDR quelconque.
Le MR ne se construit pas au hasard, il y a des règles biens précises à respecter.
Afin d’implanter la BD relationnelle à ce MCD, le
responsable informatique de la compagnie a réalisé le MR déduit de ce MCD
suivant :
TYPE APPAREIL (CodeType, NomType)
OPERATION (CodeOpe, LibelléOpe)
REVISION NumRévision, DateRévision, Observation, CodeOpe#)
APPAREIL (Matricule, Date mise en service)
PREVOIR (CodeType#, CodeOpe#, Nbre heure de vol)
COMPORTER (CodeOpe#, NumRévision#)
Exemple : REVISION (………, ………, Matricule#)
APPAREIL (………, ………, CodeType#)
Exemple : PREVOIR (CodeType#, CodeOpe#, nbHvol)
COMPORTER (CodeOpe#, NumRevision#)
Dans cette phase, il s'agit de créer la base de données sous un SGBDR.
Toutes les relations deviennent des tables qui seront reliées entre elles via les clés étrangères et les clés primaires.
Créer pour chaque relation du MR la table correspondante :
Une fois la base de données créée sous ACCESS par exemple (création des tables, mise en relation puis saisie des enregistrements dans chaque table), on va pouvoir l’interroger pour répondre aux questions que l’on se pose par l’intermédiaire de requêtes.
Une requête est constituée d'opérations de base (projection (restriction en colonne), sélection (restriction en ligne), jointure) pouvant être complétées par :
=> en ligne (horizontale) : fonctions arithmétiques comme : + , - , x , /
=> en colonne (verticale) (fonctions somme, moyenne, minimum, maximum, comptage,...).
Pour illustrer les différentes opérations réalisables, on partira de l'exercice suivant :
Exemple 1 :
L'entreprise LASSAUD a informatisé sa gestion de production.
Elle a créé une base de données sous ACCESS nommée GESTPROD.MDB dont voici le
dictionnaire de données simplifié :
Code |
Libellé |
Type |
NumFour |
numéro d'un
fournisseur |
AN(2) |
NomFour |
nom d'un
fournisseur |
A(15) |
RueFour |
n ° et rue
d'un fournisseur |
AN(40) |
CpFour |
code postal
de la commune d'un fournisseur |
N(entier) |
VilleFour |
ville d'un
fournisseur |
A(20) |
NumComp |
numéro d'un
composant |
AN(3) |
DesignComp |
désignation
d'un composant |
A(30) |
PrixAchat |
prix d'achat
unitaire d'un composant |
N(réel) |
Qté |
quantité de
composant entrant dans la composition d'un produit |
N(entier) |
NumProd |
numéro de
produit |
AN(2) |
DesignProd |
désignation
d'un produit |
A(15) |
TpsAssemb |
temps
d'assemblage total pour un produit |
N(entier) |
ChargesDir |
charges
directes imputées au produit |
N(réel) |
Et le MCD représentant le système de gestion de production
de l’entreprise :
1) Ecrire le modèle relationnel relatif à ce MCD :
FOURNISSEUR (NumFour, NomFour, RueFour, CpFour, VilleFour)
COMPOSANT (NumComp, DesignComp, PrixAchat, NumFour#)
PRODUIT (NumProd, DesignProd, TpsAssemb, ChargesDir)
COMPOSER (NumComp#, NumProd#, Qté)
Exemple 1 :
Question 1 : liste des noms et des adresses de tous
les fournisseurs.
Table résultat R
NomFour |
RueFour |
CpFour |
VilleFour |
DEVAIS |
110 rue maine |
75200 |
PARIS |
DUVAL |
7 rue du chêne |
85000 |
LA ROCHE |
GATIEN |
20 rue du parc |
44300 |
NANTES |
PANOU |
5 rue du lac |
53000 |
LAVAL |
R= Projection FOURNISSEUR (NomFour, RueFour, CpFour,
VilleFour)
Question 2 : liste
des composants proposés par le fournisseur n°18.
Table résultat R
NumComp |
DesignComp |
PrixAchat |
NumFour# |
511 |
double pied table |
12,00 F |
18 |
512 |
ailettes acier
mâles |
0,50F |
18 |
513 |
pieds de règlage |
5,0017 |
18 |
534 |
ailettes acier
femelles |
0,40F |
18 |
R= Sélection COMPOSANT (NumFour# = 18)
Question 3 : liste de tous les composants avec les informations
relatives aux fournisseurs qui les proposent.
Table résultat R
NumComp |
DesignComp |
PrixAchat |
NumFour# |
NumFour |
NomFour |
RueFour |
CpFour |
VilleFour |
511 |
double pied table |
12,00 F |
18 |
18 |
GATIEN |
20 rue du parc |
44300 |
NANTES |
512 |
ailettes acier
mâles |
0,50F |
18 |
18 |
GATIEN |
20 rue du parc |
44300 |
NANTES |
513 |
pieds de règlage |
5,00 F |
18 |
18 |
GATIEN |
20 rue du parc |
44300 |
NANTES |
514 |
armature plateau |
6,00 F |
24 |
24 |
PANOU |
5 rue du lac |
53000 |
LAVAL |
515 |
plateau bois
"mer" |
8,00 F |
35 |
35 |
DUVAL |
7 rue du chêne |
85000 |
LA ROCHE |
516 |
plateau bois
"azur" |
20,00 F |
14 |
14 |
DEVAIS |
110 rue maine |
75200 |
PARIS |
534 |
ailettes acier
femelles |
0,40 F |
18 |
18 |
GATIEN |
20 rue du parc |
44300 |
NANTES |
R= Jointure
COMPOSANT, FOURNISSEUR (COMPOSANT.NumFOUR = FOURNITURE.NumFour)
Question
4 : N° et désignation des composants entrant dans la composition
du produit n°28.
Table résultat R
NumComp |
DesignComp |
511 |
double pied table |
512 |
ailettes acier mâles |
515 |
plateau bois "mer" |
534 |
ailettes acier femelles |
R1= Jointure
COMPOSANT, COMPOSER (COMPOSANT.NumComp= COMPOSER.NumComp#)
R2= Sélection
R1 (NumProd# = 28)
R= Projection
R2 (NumComp, DesignComp)
Les calculs horizontaux sont des calculs réalisés en ligne. Ils permettent d'obtenir les valeurs de champs calculés.
Question 5 : Numéro de composant, quantité, prix d'achat unitaire et montant
(Qté x prix d'achat) pour chaque composant entrant dans la composition du
produit n°29.
Table résultat R
NumComp |
Qté |
PrixAchat |
Montant |
511 |
2 |
12,00 F |
24,00 F |
512 |
4 |
0,50F |
2,00 F |
516 |
1 |
20,00F |
20,00F |
R1= Jointure COMPOSANT, COMPOSE (COMPOSANT.NumComp=
COMPOSER.NumComp)
R2= Sélection (NumProd# =29)
R= Projection R2
Les calculs verticaux sont des calculs réalisés en colonne : ils permettent d’obtenir des totaux, des résultats statistique sur un ensemble de lignes.
Question 6 :
Nombre de fournisseurs enregistrés dans la base de donnée.
Table résultat R
Nombre de fournisseurs |
4 |
R= Projection Fournisseur (Nombre (NumFour))
Question 7 :
Montant total des charges directes pour tous les produits.
Table résultat R
Montant total des charges |
65,00 F |
R = Projection Produit (somme (ChargesDir))
Question 8 :
Prix d'achat le plus élevé parmi les composants.
Table résultat R
Prix d’achat le plus élevé |
20,00 F |
R = Projection Composant (maximum (PrixAchat))
Question 9 :
Prix d’achat totaldu produit n°29.
Table résultat R
Prix d’achat total |
46,00 F |
R1 = Jointure Composant, composer (Composant.numcomp =
Composer.numComp)
R2 = Sélection R1 (NumProd# = 29)
R = Projection R2 (somme (Qté x prix d’achat)
Question
10 : Numéro des produits et nombres de composant entrant dans la
composition de chacun d’eux.
Table résultat R
NumProd# |
Nb de NumComp |
28 |
4 |
29 |
3 |
R = Projection Groupée Composer (NumProd#, Nombre (NumComp#)
Remarque : Le calcul (NumComp#) se fait pour chaque groupe NumProd# crée.
Question
11 : Numéro des produits et quantité de composants entrant dans la
composition de chacun d’eux.
Table résultat R
NumProd# |
Somme de Qté |
28 |
11 |
29 |
7 |
R = Projection Groupée Composer (NumProd#, Somme (Qté)
Question 12 : Liste des noms et adresses de tous
les fournisseurs triés par ordre alphabétique.
Table résultat R
NonFour |
RueFour |
CpFour |
VilleFour |
DEVAIS |
110 rue maine |
75 200 |
PARIS |
DUVAL |
7 rue du chêne |
85 000 |
LA ROCHE |
GATIEN |
20 rue du parc |
44 300 |
NANTES |
PANOU |
5 rue du lac |
53 000 |
LAVAL |
R1 = Projection Fournisseur (NomFour, RueFour, CpFour, VilleFour)
R = Tri croissant 21 (NomFour)
Une requête est une question. Pour être comprise par l'ordinateur, elle doit être écrite dans un langage de requêtes tel que SQL (langage standard d’interrogation des BD relationnelles) ou QBE (mode graphique sous ACCESS).
La syntaxe générale d’une requête SQL est la suivante :
SELECT |
colonnes de projection (élémentaires ou calculées) |
FROM |
tables d’où l’on extrait les informations |
WHERE |
conditions de sélection et/ou de jointure |
GROUP BY |
colonnes sur lesquelles on effectue un regroupement |
ORDER BY |
colonnes sur lesquelles on trie (ASC / DESC) |
DISTINCT |
affiche une seule fois |
Une requête SQL n’utilise pas forcément toutes ces opérations mais lors de l’écriture d’une requêtes, on doit respecter l’ordre indiqué.
Algébrique |
SQL |
Nombre |
Count |
Somme |
Sum |
Maximum |
Max |
Minimum |
Min |
Moyenne |
AVG |
Exemple 2 : même données que l’exemple 1.
Question 1 : liste des noms et des adresses de tous
les fournisseurs.
SELECT NomFour, RueFour, CpFour, VilleFour
FROM Fournisseur ;
Question 2 : liste des composants proposés par le fournisseur n°18.
SELECT NumComp, DesignComp, PrixAchat
FROM Composant, Fournisseur
WHERE Composant.NumFour =Fournisseur.NumFour ;
* = tout
Question 3 : liste de tous les composants avec les informations
relatives aux fournisseurs qui les proposent.
SELECT *
FROM Fournisseur, Composant
WHERE Composant.NumFour = Fournisseur.NumFour ;
Question 4 : N° et désignation des composants entrant dans la composition du produit n°28.
SELECT NumComp, DesignComp
FROM Composant, Produit, Composer
WHERE Composant.NumComp= Composer.Numcomp
AND Produit.NumProd= Composer.numProd ;
Question 5 : Numéro de composant,
quantité, prix d'achat unitaire et montant (Qté x prix d'achat) pour chaque
composant entrant dans la composition du produit n°29.
SELECT NumComp, Qté, prix d’achat, Qté*prixd’achat
FROM Composant, Produit, Composer
WHERE Composant.NumComp= Composer.Numcomp
AND Produit.NumProd= Composer.numProd
AND Produit.NumProd= 29 ;
Question 6 :
Nombre de fournisseurs enregistrés dans la base de donnée.
SELECT Count (NumFour)
FROM Fournisseur ;
Question 7 :
Montant total des charges directes pour tous les produits.
SELECT Sum (ChargesDir)
FROM Fournisseur ;
Question 8 :
Prix d'achat le plus élevé parmi les composants.
SELECT Max (PrixAchat)
FROM Composant ;
Question 9 :
Prix d’achat totaldu produit n°29.
SELECT Sum (PrixAchat*Qté)
FROM Composant, Composer, Produit ;
Question 10 : Numéro des produits et nombres de composant entrant dans la composition de chacun d’eux.
SELECT NumProd, Count (NumComp)
FROM Composant, Composer, Produit
WHERE Produit.NumProd=Composer.NumProd
GROUP BY Produit.NumProd
Question 11 : Numéro des produits et quantité de composants entrant dans la composition de chacun d’eux.
SELECT NumProd, Sum (Qté)
FROM Produit, Composer
WHERE Produit.NumProd=Composer.NumProd
GROUP BY Produit.NumProd ;
Question 12 : Liste des noms et adresses de tous les fournisseurs triés par ordre alphabétique.
SELECT NomFour, RueFour, CpFour, VilleFour
FROM Fournisseur
ORDER BY ASC (NomFour)