DOSSIER G11 – Interroger une base de données
DOSSIER G11 Problématique
Problématique La base de données Facturation contient tout un ensemble d’informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de boulangerie). Nous allons apprendre à la « faire parler », à exploiter cette mine d’informations pour mieux connaître sa clientèle et ainsi améliorer sans cesse sa politique commerciale. Nous allons voir pourquoi le lourd travail de structuration mené précédemment va maintenant porter ses fruits.
Activité 1 – Une vue d’ensemble de la base de données « Facturation » DOSSIER G11 Activité 1 – Une vue d’ensemble de la base de données « Facturation »
Une vue d’ensemble de la base de données «Facturation » Voici comment se présente, sous Access (logiciel de gestion de base de données relationnels), le schéma relationnel de la base de données étudiée au préalable. Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 01. Que représente chaque table ? Chaque table représente la structure d’une table, on peut distinguer les différents attributs (champs) contenus dans chaque catégorie d’information. Avec le logiciel Access, chaque fenêtre représente le schéma (la structure) d’une table.
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 02. Que représentent les clés primaires ? Ils représentent la donnée qui permet d’identifier un individu par rapport à un autre (parfois la clé primaire peut être composée de plusieurs attributs). Avec le logiciel Access, chaque clé primaire est affichée en gras (la clé primaire peut être formée de deux champs, ou davantage. Chacun d’eux est représenté en gras mais, par définition, il n’y a qu’une clé primaire).
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 03. Donnez la signification de la clé étrangère. Chaque clé étrangère montre le lien entre les tables. Son origine est une clé étrangère et son extrémité est la clé primaire qu’elle doit référencer. Les liens entre les tables symbolisent les liens entre les diverses tables qui partent d’une clé étrangère pour pointer sur une clé primaire.
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 04. Comment interprétez-vous le chiffre 1 et le symbole mathématique de l’infini ∞, qui signifie « plusieurs ». Sous Access, le symbole ∞ est du côté de la clé étrangère et le chiffre 1 (singulier) du côté de la clé primaire.
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 05. Pourquoi la fenêtre qui contient le schéma de la base de données s’appelle « Relations ». Sous Access, le schéma s’appelle « Relations » parce que son principal intérêt est de montrer les liens, les relations entre les tables.
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 06. Chacun des quatre traitements ci-après évoque une opération sur la table CLIENTS. Pourriez-vous lui donner un nom ? Affichage de la liste des clients : Lecture ou Consultation ou Interrogation
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 06. Chacun des quatre traitements ci-après évoque une opération sur la table CLIENTS. Pourriez-vous lui donner un nom ? Écriture ou Enregistrement Enregistrement d’un client :
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 06. Chacun des quatre traitements ci-après évoque une opération sur la table CLIENTS. Pourriez-vous lui donner un nom ? Modification Changer l’adresse d’un client :
Une vue d’ensemble de la base de données «Facturation » Modèle Relationnel des Données Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal 06. Chacun des quatre traitements ci-après évoque une opération sur la table CLIENTS. Pourriez-vous lui donner un nom ? Suppression Retirer toutes les informations d’un client :
DOSSIER G11 Activité 2 – Quelques opérations sur la base de données « Facturation »
Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Adresse Adresse suite Code postal Suivi par le représentant n° Montant des achats BOU 001 Anis & Miel 7 chemin de Cassis 13010 R2 3 584,00 € 002 Les moulins de Pvce 74 bd R. Rolland R4 2 458,00 € EPI Bataille 17 rue des Trois Rois 13006 18 245,00 € HYP Auchan 485 bd des Bartavelles ZI Les Paluds 13400 R1 105 147,00 € Casino 47 route de Cuques La Valentine 13011 250 475,00 € 003 Leclerc 5 route de Cabriès Plan de campagne 13480 85 560,00 € PAT Les Moulins de Pvce 45 av. M. Pagnol R3 5 780,00 € SUP Intermarché 30 rue Pierre 13456 1 854,00 € 145 bd P. Claudel 15 784,00 € Cette opération ne concerne que les colonnes. On affiche les trois premières colonnes et la dernière. 7. Par rapport à la table CLIENTS, cette opération concerne-t-elle les lignes ou les colonnes ? Code postal Nom de la ville 13010 Marseille 13011 13400 Aubagne Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats BOU 001 Anis et Miel 3 584,00 € 002 Les Moulins de Pvce 2 458,00 € EPI Bataille 18 245,00 € HYP Auchan 105 147,00 € Casino 250 475,00 € 003 Leclerc 85 560,00 € PAT 5 780,00 € SUP Intermarché 1 854,00 € 15 784,00 € Voici, sous la forme d’une table, la liste des clients avec leur numéro (Code de la catégorie et N° client dans la catégorie), le nom de l’entreprise et le montant de leurs achats (obtenu par le biais d’une requête).
N° client dans la catégorie N° client dans la catégorie Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats BOU 001 Anis et Miel 3 584,00 € 002 Les Moulins de Pvce 2 458,00 € EPI Bataille 18 245,00 € HYP Auchan 105 147,00 € Casino 250 475,00 € 003 Leclerc 85 560,00 € PAT 5 780,00 € SUP Intermarché 1 854,00 € 15 784,00 € 8. Par rapport à la requête obtenue précédemment, quelle modification a été apportée ci-dessous ? Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats BOU 001 Anis et Miel 3 584,00 € HYP Auchan 105 147,00 € EPI Bataille 18 245,00 € 002 Casino 250 475,00 € SUP 15 784,00 € Intermarché 1 854,00 € 003 Leclerc 85 560,00 € Les Moulins de Pvce 2 458,00 € PAT 5 780,00 € La colonne Nom de l’entreprise a été classée dans l’ordre croissant (alphabétique).
Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Adresse Adresse suite Code postal Suivi par le représentant n° Montant des achats BOU 001 Anis & Miel 7 chemin de Cassis 13010 R2 3 584,00 € 002 Les moulins de Pvce 74 bd R. Rolland R4 2 458,00 € EPI Bataille 17 rue des Trois Rois 13006 18 245,00 € HYP Auchan 485 bd des Bartavelles ZI Les Paluds 13400 R1 105 147,00 € Casino 47 route de Cuques La Valentine 13011 250 475,00 € 003 Leclerc 5 route de Cabriès Plan de campagne 13480 85 560,00 € PAT Les Moulins de Pvce 45 av. M. Pagnol R3 5 780,00 € SUP Intermarché 30 rue Pierre 13456 1 854,00 € 145 bd P. Claudel 15 784,00 € Code postal Nom de la ville 13010 Marseille Centre 13011 Marseille Est 13400 Aubagne Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats Nom de la ville BOU 001 Anis et Miel 3 584,00 € Marseille Centre SUP 002 Casino 15 784,00 € PAT Les Moulins de Pvce 5 780,00 € Voici, sous la forme d’une table, une deuxième requête. 9. Pourquoi tous les clients ne sont-ils pas présents ? L’opération n’affiche que les clients qui résident sur Marseille Centre.
Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Adresse Adresse suite Code postal Suivi par le représentant n° Montant des achats BOU 001 Anis & Miel 7 chemin de Cassis 13010 R2 3 584,00 € 002 Les moulins de Pvce 74 bd R. Rolland R4 2 458,00 € EPI Bataille 17 rue des Trois Rois 13006 18 245,00 € HYP Auchan 485 bd des Bartavelles ZI Les Paluds 13400 R1 105 147,00 € Casino 47 route de Cuques La Valentine 13011 250 475,00 € 003 Leclerc 5 route de Cabriès Plan de campagne 13480 85 560,00 € PAT Les Moulins de Pvce 45 av. M. Pagnol R3 5 780,00 € SUP Intermarché 30 rue Pierre 13456 1 854,00 € 145 bd P. Claudel 15 784,00 € Code postal Nom de la ville 13010 Marseille Centre 13011 Marseille Est 13400 Aubagne Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats Nom de la ville BOU 001 Anis et Miel 3 584,00 € Marseille Centre SUP 002 Casino 15 784,00 € PAT Les Moulins de Pvce 5 780,00 € Voici, sous la forme d’une table, une deuxième requête. 10. Quelle est donc cette nouvelle opération ? En quoi consiste-t-elle ? Cette nouvelle opération s’attache principalement aux lignes (aux enregistrements) à afficher en fonction d’un critère, ici la ville, dont une valeur est donnée.
Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Adresse Adresse suite Code postal Suivi par le représentant n° Montant des achats BOU 001 Anis & Miel 7 chemin de Cassis 13010 R2 3 584,00 € 002 Les moulins de Pvce 74 bd R. Rolland R4 2 458,00 € EPI Bataille 17 rue des Trois Rois 13006 18 245,00 € HYP Auchan 485 bd des Bartavelles ZI Les Paluds 13400 R1 105 147,00 € Casino 47 route de Cuques La Valentine 13011 250 475,00 € 003 Leclerc 5 route de Cabriès Plan de campagne 13480 85 560,00 € PAT Les Moulins de Pvce 45 av. M. Pagnol R3 5 780,00 € SUP Intermarché 30 rue Pierre 13456 1 854,00 € 145 bd P. Claudel 15 784,00 € Code postal Nom de la ville 13010 Marseille Centre 13011 Marseille Est 13400 Aubagne Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats Nom de la ville BOU 001 Anis et Miel 3 584,00 € Marseille Centre SUP 002 Casino 15 784,00 € PAT Les Moulins de Pvce 5 780,00 € Voici, sous la forme d’une table, une deuxième requête. 11. Quelles tables ont été consultées pour obtenir cette requête ? On doit consulter les tables CLIENTS et VILLES, puisque le Nom de la ville est dans VILLES et toutes les autres informations dans CLIENTS.
Quelques opérations sur la base de données « Facturation » Code de la catégorie N° client dans la catégorie Nom de l’entreprise Adresse Adresse suite Code postal Suivi par le représentant n° Montant des achats BOU 001 Anis & Miel 7 chemin de Cassis 13010 R2 3 584,00 € 002 Les moulins de Pvce 74 bd R. Rolland R4 2 458,00 € EPI Bataille 17 rue des Trois Rois 13006 18 245,00 € HYP Auchan 485 bd des Bartavelles ZI Les Paluds 13400 R1 105 147,00 € Casino 47 route de Cuques La Valentine 13011 250 475,00 € 003 Leclerc 5 route de Cabriès Plan de campagne 13480 85 560,00 € PAT Les Moulins de Pvce 45 av. M. Pagnol R3 5 780,00 € SUP Intermarché 30 rue Pierre 13456 1 854,00 € 145 bd P. Claudel 15 784,00 € Code postal Nom de la ville 13010 Marseille Centre 13011 Marseille Est 13400 Aubagne Code de la catégorie N° client dans la catégorie Nom de l’entreprise Montant des achats Code postal BOU 001 Anis et Miel 3 584,00 € 13010 SUP 002 Casino 15 784,00 € PAT Les Moulins de Pvce 5 780,00 € Voici, sous la forme d’une table, une deuxième requête. 12. Comment faites-vous le lien (la relation) entre elles ? Le lien se fait grâce à la clé étrangère Code postal, qui, dans CLIENTS, référence le Code postal de la table VILLES et permet ainsi de trouver le nom de la ville.
Activité 3 – Parlons un peu SQL DOSSIER G11 Activité 3 – Parlons un peu SQL
Parlons un peu SQL Sur la norme du langage SQL, on vous communique les informations suivantes : Select traduit la projection et indique, à sa suite, les champs qui doivent être affichés ; From indique à quelle table appartiennent les champs ; Les champs sont séparés par une virgule ; Pour éviter toute erreur lors de l’exécution de la requête par le SGBDR, lorsque le nom d’un champ comprend des espaces, on doit l’encadrer par des crochets. Requête SQL : SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS; Voici, la même requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Requête SQL : 13. Que fait cette requête ? SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS; 13. Que fait cette requête ? Cette requête permet d’afficher la liste des clients, en projetant (sélectionnant) certains champs de la table (Code de la catégorie, N° client dans la catégorie, Nom de l’entreprise et Montant des achats). Voici, le résultat de la requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Requête SQL : SELECT DISTINCT CLIENTS.[Code de la catégorie] FROM CLIENTS; 14. Que fait cette requête, sachant que le mot « Distinct » élimine les répétitions d’une même valeur (les doublons) ? Cette requête affiche tous les codes de la catégorie directement à partir de la table CLIENTS. Remarque : SELECT CATEGORIE.[Code de la catégorie] FROM CATEGORIE donne le même résultat. Voici, le résultat de la requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Sur la norme du langage SQL, il est possible de trier les données, dans l’ordre croissant (alphabétique) ou non. Requête SQL : SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS ORDER BY CLIENTS.[Nom de l’entreprise] ASC; Voici, la même requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Requête SQL : SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS ORDER BY CLIENTS.[Nom de l’entreprise] ASC; 15. Quelle est la clause qui permet de trier les données ? La clause ORDER BY … ASC classe dans l’ordre croissant un champ particulier, ici le nom de l’entreprise. Remarque : Pour effectuer un tri décroissant il faut utiliser la clause ORDER BY … DESC. Voici, le résultat de la requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Sur la norme du langage SQL, il est possible d’extraire certaines données en fonction d’un critère de sélection bien précis. Requête SQL : SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS WHERE CLIENTS.[Code de la catégorie] = « BOU » ORDER BY CLIENTS.[Nom de l’entreprise] ASC; Voici, la même requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Requête SQL : SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° client dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats] FROM CLIENTS WHERE CLIENTS.[Code de la catégorie] = « BOU » ORDER BY CLIENTS.[Nom de l’entreprise] ASC; 16. Quelle est la clause qui permet d’extraire certaines données ? La clause WHERE permet d’extraire certaines données à partir d’un critère bien précis. Remarque : On peut utiliser différents opérateurs de comparaison (=, >, <, >=, <=, …) Voici, le résultat de la requête exprimée par le biais du logiciel ACCESS.
Parlons un peu SQL Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). 17. Quelle est la table concernée par cette requête ? La table CLIENTS est nécessaire pour réaliser cette requête.
Parlons un peu SQL Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). Code de la catégorie N° client catégorie Nom de l’entreprise Montant des achats 18. Quels sont les champs nécessaires pour cette requête ? Les champs nécessaires sont : Code de la catégorie, N° dans la catégorie, Nom de l’entreprise, Montant des achats.
Parlons un peu SQL Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). Croissant 19. Quel champ peut être concerné pour trier les clients dans l’ordre alphabétique ? Le champ Nom de l’entreprise va permettre de trier la liste des clients par ordre alphabétique.
Parlons un peu SQL Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). < 20 000 20. Sur quel champ le critère de restriction va-t-il être posé ? Le champ Montant des achats va contenir le critère de restriction afin d’obtenir uniquement la liste des clients pour lequel le montant des achats est inférieur à 20 000 €.
Parlons un peu SQL 21 Écrivez cette requête sous la forme SQL. CLIENTS.[Nom de l’entreprise] SELECT CLIENTS.[Code de la catégorie] CLIENTS.[N° dans la catégorie] CLIENTS.[Nom de l’entreprise] CLIENTS.[Montant des achats] CLIENTS.[Montant des achats] CLIENTS FROM 21 Écrivez cette requête sous la forme SQL. WHERE ORDER BY ; , <20000 , , ASC
Parlons un peu SQL Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats], FROM CLIENTS WHERE CLIENTS .[Montant des achats]<20000 ORDER BY CLIENTS.[Nom de l’entreprise] ASC; 22. Quel est le critère qui détermine la fin d’une requête ? Le « ; » permet de mettre fin à l’expression d’une requête.
Activité 4 – Le lien entre les différentes tables DOSSIER G11 Activité 4 – Le lien entre les différentes tables
Les liens entre les différentes tables Il vous est demandé de présenter la liste des clients avec leur identité, le montant des achats et leur taux de remise, dans l’ordre alphabétique du nom de l’entreprise du client. 23. Quelles sont les tables concernées par cette requête ? La table CLIENTS est nécessaire pour réaliser cette requête. Mais également la table CATEGORIE est nécessaire pour connaître le taux de remise.
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients (par ordre alphabétique) qui ont acheté pour moins de 20 000 € (leur identifiant, leur nom et le montant des achats correspondant). SELECT CLIENTS.[Code de la catégorie], CLIENTS.[N° dans la catégorie], CLIENTS.[Nom de l’entreprise], CLIENTS.[Montant des achats], CATEGORIE.[Taux de remise] FROM CLIENTS, CATEGORIE WHERE CLIENTS.[Code de la catégorie]=CATEGORIE.[Code de la catégorie] ORDER BY CLIENTS.[Nom de l’entreprise] ASC; 24. Quel est le critère qui permet de relier (jointure) les deux tables nécessaires à cette requête ? Dans la clause WHERE on retrouve le lien qui permet de relier la clé étrangère (de la table CLIENTS) vers sa clé primaire (de la table CATEGORIE). De plus on retrouve le nom de la table CATEGORIE dans la clause FROM.
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients, par ordre alphabétique (afficher le nom des clients et leur adresse complète). 25. Quelles sont les tables concernées par cette requête ? La table CLIENTS est nécessaire pour réaliser cette requête. Mais également la table VILLES est nécessaire pour Extraire uniquement les clients de la ville d’Aubagne.
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients, par ordre alphabétique (afficher le nom des clients et leur adresse complète). Nom de l’entreprise Nom de la ville Adresse Suite Code postal 26. Quels sont les champs nécessaires pour cette requête ? Les champs nécessaires sont : Nom de l’entreprise, Adresse, Suite, Code postal, et Nom de la ville.
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients, par ordre alphabétique (afficher le nom des clients et leur adresse complète). Croissant 27. Quel champ peut être concerné pour trier les clients dans l’ordre alphabétique ? Le champ Nom de l’entreprise va permettre de trier la liste des clients par ordre alphabétique.
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients, par ordre alphabétique (afficher le nom des clients et leur adresse complète). 28. Quel est le champ qui permet de relier (jointure) les deux tables ? Le champ Code postal permet de relier la table CLIENTS à la table VILLES.
Les liens entre les différentes tables VILLES.[Code postal] CLIENTS.[Code postal] CLIENTS.[Nom de l’entreprise] SELECT CLIENTS.[Nom de l’entreprise] CLIENTS.[Adresse] CLIENTS.[Suite] CLIENTS.[Code postal] VILLES.[Nom de la ville] CLIENTS VILLES FROM 29 Écrivez cette requête sous la forme SQL. WHERE ORDER BY ; , = , , , , ASC
Les liens entre les différentes tables Application : Il vous est demandé d’établir la liste des clients, par ordre alphabétique (afficher le nom des clients et leur adresse complète). SELECT CLIENTS.[Nom de l’entreprise], CLIENTS.[Adresse], CLIENTS.[Suite], CLIENTS.[Code postal], VILLES.[Nom de la ville] FROM CLIENTS, VILLES WHERE CLIENTS.[Code postal]=VILLES.[Code postal] ORDER BY CLIENTS.[Nom de l’entreprise] ASC; Voici le résultat de la requête
Activité 5 – La réalisation de calculs et l’utilisation des fonctions DOSSIER G11 Activité 5 – La réalisation de calculs et l’utilisation des fonctions
La réalisation de calculs Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal Référence du produit Désignation du produit Prix unitaire du produit F001 Farine de blé 2,40 L001 Levure de bière 21,50 L002 Levain naturel 11,45 S001 Sucre glace 11,00 S002 Sucre vanillé 8,30 Net_commercial 2,28 20,42 10,88 10,45 7,88 Les calculs en SQL SELECT PRODUITS.[Prix unitaire du produit]*0,95 AS Net_commercial FROM PRODUITS ; Remarque : le mot-clé « AS » permet de renommer le champ qui contient le résultat. Ou SELECT PRODUITS.[Prix unitaire du produit] - PRODUITS.Net_commercial FROM PRODUITS ; 30. Quels types de calcul peut-on réaliser avec le SQL ? Il est possible d’utiliser les quatre opérateurs arithmétiques (+, -, /, *) en combinant des noms de champ et/ou des chiffres. Retour vers les liens
L’utilisation des fonctions Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal Référence du produit N° facture Quantite F001 1 100 3 125 5 250 L001 10 2 75 74 L002 50 S001 150 44 S002 30 Quantite_totale 275 Les fonctions en SQL SELECT SUM(FACTURES.Quantite) AS Quantite_totale FROM FACTURES WHERE FACTURES.Num_facture=«2» ; Remarque : le mot-clé « AS » permet de renommer le champ qui contient le résultat. 31. Expliquer le résultat obtenu. La requête affiche la quantité totale des produits vendus dans la facture n° 2. 32. En déduire la fonction SUM. La fonction SUM permet de réaliser une addition (une somme) des valeurs contenues dans le champ spécifié. Cette fonction doit s’appliquer sur un champ au format numérique. Retour vers les liens
L’utilisation des fonctions Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal Référence du produit N° facture Quantite F001 1 100 3 125 5 250 L001 10 2 75 74 L002 50 S001 150 44 S002 30 Nombre-de_ligne 3 Les fonctions en SQL SELECT COUNT(FACTURES.Quantite) AS Nombre_de_ligne FROM FACTURES WHERE FACTURES.Num_facture=«2» ; Remarque : le mot-clé « AS » permet de renommer le champ qui contient le résultat. 33. Expliquer le résultat obtenu. La requête affiche le nombre des produits vendus dans la facture n° 2. 34. En déduire la fonction COUNT. La fonction COUNT compte le nombre d’enregistrements d’une table. Elle est utilisable sur n’importe quel type de champ (texte, numérique…). Retour vers les liens
L’utilisation des fonctions Table 1 : PRODUITS (Reference du produit, Designation du produit, Prix unitaire du produit) Clé primaire : Reference du produit Clé étrangère : Table 2 : LIGNE_FACTURES (Reference du produit, N°_facture, Quantite) Clé primaire : Reference du produit, N°_facture Clé étrangère : Reference du produit en référence à Reference du produit de PRODUITS N°_facture en référence à N°_facture de FACTURES Table 3 : FACTURES (N°_facture, Date de la facture, Payée, Code de la categorie, N° client dans la categorie) Clé primaire : N°_facture Clé étrangère : Code de la categorie + N° client dans la categorie en référence à Code de la categorie + N° client dans la categorie de CLIENTS Table 4 : CLIENTS (Code de la categorie, N°_client dans la categorie, Nom de l’entreprise, Adresse, Adresse Suite, Code postal, Montant des achats, Suivi par le représentant n°, Téléphone, E-mail) Clé primaire : Code de la categorie + N° client dans la categorie Clé étrangère : Code postal en référence à Code postal de VILLES Table 5 : VILLES (Code postal, Nom de la ville) Clé primaire : Code postal SELECT TABLE.Nom_champ Nom de la fonction Les fonctions en SQL SELECT COUNT(FACTURES.Quantite) AS Nombre_de_ligne FROM FACTURES WHERE FACTURES.Num_facture=«2» ; Nombre_de_ligne 3 ( ) Remarque : le mot-clé « AS » permet de renommer le champ qui contient le résultat. 35. Quelle est la syntaxe permettant d’utiliser une fonction. Le mot clé « AS » est facultatif. Il permet de renommer le champ qui contient le résultat. Il existe d’autres fonctions. Le minimum : MIN Le maximum : MAX AS La moyenne : AVG Retour vers les liens Titre_du_champ
DOSSIER G11 Schéma conceptuel
Schéma conceptuel SELECT AND ORDER BY Désigne les tables nécessaires Réalise une jointure entre deux tables ou une sélection sur les valeurs d’un champ AND ORDER BY
Diaporama adapté et automatisé par M. Grard (enseignant) Première STG Gestion Diaporama adapté et automatisé par M. Grard (enseignant) Sources : Éditions Nathan Technique Collection : Equilibre Editions Hachette technique Retour vers les liens