• Aucun résultat trouvé

Cours Informatique Appliquée (Partie 2)

N/A
N/A
Protected

Academic year: 2022

Partager "Cours Informatique Appliquée (Partie 2)"

Copied!
92
0
0

Texte intégral

(1)

Université Hassan II - Casablanca

Faculté des sciences juridiques, économiques et sociales

Mohammedia

Cours Informatique Appliquée (Partie 2)

Introduction aux Base de données avec ACCESS

Semestre 6

(2)

Introduction aux Bases de données

Systèmes de Gestion de Base de Données ACCESS

 Les données ne servent pas seulement à contrôler la gestion et le fonctionnement d'une entreprise au jour le jour. Elles sont aussi souvent utilisées pour soutenir des décisions tactiques et stratégiques…

 Pouvoir conserver les données sous une forme structurée, cohérente, non redondante et facilement accessible.

(3)

Plan

1. Définition d’une base données

2. Principales fonctions d’une base de données 3. Bases de données relationnelles

4. Système de Gestion de Base des données

5. Création d’une base de données sur le SGBD Microsoft Access

6. Table, Champs, Enregistrement et Clés 7. Types de relations

8. Requêtes (QBE et SQL)

3

(4)

Définition

Base de Données (BD) est un ensemble de données

structurées, sécurisées, et inter-corrélées, enregistrées

dans des fichiers avec le minimum de redondance et

traitées par une ou plusieurs applications, d’une manière

optimale.

(5)

 Une base de données est un outil qui permet de :

• Collecter des informations.

• Stocker ces informations.

• Traiter ces informations.

• Fournir à la demande ces informations

Fonctions principales d’une BD

(6)

Données structurées : Les informations contenues dans une base de données sont réparties en enregistrements, chaque enregistrement ayant une structure bien définie.

Données non redondantes : Une même information ne sera pas répétée plusieurs fois dans la base de données.

Données cohérentes : Il ne doit pas être permis d’enregistrer dans une base des informations incohérentes entre elles.

Caractéristiques d’une BD

(7)

7

Données accessibles directement selon de multiples critères.

Indépendance des programmes et des données : La base de données est indépendante des programmes qui y ont accès, on peut utiliser plusieurs programmes pour traiter différemment ces données.

Sécurité des données stockées : La base de données doit permettre un système de sécurité permettant de gérer les droits d’accès aux informations par les utilisateurs.

(8)

Avantages d’utilisation d’une BD

• Accès rapide et facile à l'information

• Toute l'information se retrouve à une seule place dans la base de données

• Regroupement de l'information qui provient de plusieurs sources

• Recherche facile

• Meilleur suivi de l'information et gestion des données

• Meilleure analyse des données et prise de décision

• Automatisation de tâches répétitives

• Sécurité des données

(9)

Bases de données relationnelles

Une BD relationnelle est composée d’un ensemble de tables.

• Chaque table a un nom

• Une table est composée de Lignes qu’on appelle enregistrements (ou N-uplet) et de colonnes représentant chacune un champ (attribut).

L’enregistrement (ligne) : est l’ensemble des données relatif à la même information

Le champ (colonne) : est l’unité d’information dans une table, une table est constituée de différents champs. Chaque champ a un nom et un type de données : Texte, numérique, date, …

9

(10)

Structure d’une BDR

(11)

11

Exemple: Base de données pour la gestion des commandes

(12)

Chaque table d’une BDR a la structure suivante :

Notation : Nom_Table(Champ 1, Champ 2,…, Champ N)

(13)

13

Champs

Enregistrements

Commandes Nu_cmd

Code_Client Date_cmd Cmd_réglée

Nom de la table: Commandes

Ci-dessous un exemple de table d’une BD pour la gestion des commandes d’une entreprise

Commandes(Num_Cmd, Code_Client, Date_Cmd, Cmd_réglée)

(14)

Remarques

 Deux tables d’une même base de données ne peuvent pas avoir le même nom.

 Deux champs de la même table ne peuvent pas avoir le même nom.

 Un même champ peut être présent dans plusieurs

tables.

(15)

Conception d’une Base de Données

La réalisation d’une Base de Données implique trois grandes étapes:

1. La définition d’un cahier des charges incluant les règles de gestion.

2. La modélisation.

3. L’implantation physique dans un système informatique.

15

(16)

Un identifiant c’est un (ou plusieurs) champ d’une table de la BD qui permet:

• d’identifier chaque enregistrement de façon distincte.

• de créer les relations (liaisons) entre les tables Exemples: CNE, CIN, Code d’Appogée, N° de facture,

immatricule

Identifiant, clé primaire et clé étrangère

(17)

Exemple

17

Identifiants

(18)

Clé primaire

Une table peut posséder plusieurs identifiants. On choisit l'un d'eux, qu'on déclare clé primaire. Les autres sont dès lors des identifiants secondaires.

Une clé primaire est donc une combinaison minimale de propriétés qui permet d’identifier d’une manière unique un enregistrement.

Une clé peut être simple (un seul champ) ou composée (plusieurs champs), et ne peut être jamais nulle ou répétée

Clé étrangère

Un champ (ou ensemble de champs) est clé étrangère dans une table

(19)

Identifiant, clé primaire et clé étrangère

19

Clé primaire

Clé étrangère

(20)

Un Système de Gestion de Bases de Données (S.G.B.D.) est une collection de logiciels (un programme)

Il permet de décrire, traiter, interroger les ensembles de données formant la base.

Il doit également assurer la sécurité et la confidentialité des données dans un environnement où de nombreux utilisateurs ayant des besoins variés peuvent interagir simultanément sur ces données.

Système de Gestion de Base de Données

Exemple de SGBDR :

ACCESS pour gérer des petites bases de données.

ORACLE, très performant pour les grandes BD mais coute très cher SQLSERVER, outils de Microsoft concurrent de oracle (coute cher)

(21)

21

Création de tables d’une base de données

Exemple de base de données pour la gestion des produits

Règles de gestion

 Chaque produit est fourni par un seul fournisseur, et un fournisseur peut fournir plusieurs produits.

 Un fournisseur est défini par un code, un nom, l’adresse et le téléphone.

 Chaque produit est défini par une référence, une désignation, le prix unitaire , la disponibilité et la quantité en stock.

(22)

Tables de la base de données

(23)

23

Démarrer Microsoft Access

Système de Gestion de Base de Données - Access

(24)

1

2

3

Création d’une base de données

(25)

25

Les Composantes du SGBDR ACCESS

(26)

1. Les tables: pour stocker les données ;  

2. Les formulaires: pour saisir les données ou les visualiser à l'écran ;   3. Les états: pour imprimer les données ;  

4.  Les requêtes: pour retrouver les données ; Autres composantes:

5. Les macros, pour automatiser des opérations répétitives effectuées sur la base ; 

6. Les pages, pour communiquer avec la BDD via un navigateur; 

7. Les modules, pour rajouter des fonctionnalités grâce à de la programmation en VBA (Visual Basic for Applications).

Les Composantes du SGBD ACCESS

(27)

27

Création d’une table

(28)

La liste des champs

(ajouter les champs) Types de chaque champ (définir les types)

Commentaire sur le champ (ajouter les commentaire)

(29)

29

Définir les types des données

Ajouter le champ CNE

Choisir le type du champ CNE

(30)

Ajouter une clé primaire

Sélectionner le champ & Définir CNE Clé primaire

(31)

31

Type de données d’un champ

Texte : Concerne les valeurs alphanumériques (suite de caractères ou combinaison de caractères et de chiffres).

Numérique : Concerne les valeurs numériques (entiers ou réels

…etc.).

Date et heure : Concerne les valeurs de type date telles que date d’une commande, date de livraison, date d’intervention, date d’embauche, date d’inscription…, ou les valeurs concernant les heures comme heure de départ, heure d’arrivée, heure d’une transaction….

(32)

Monétaire : Concerne les valeurs numériques contenant des symboles des unités monétaires comme $, €, DH…etc. Tous les traitements de calcul qu’on peut faire sur les données numériques sont valables pour les données monétaires.

Oui/Non : Concerne les données qui ne peuvent avoir que deux valeurs possibles telles que : Oui/Non, Vrai/Faux, Activé/Désactivé.

Objet OLE : Concerne les données qui peuvent être des documents Microsoft Word, des feuilles de calcul Microsoft Excel, des images, des sons, des vidéos ou d’autres données binaires.

LienHypertexte : pour un champ destiné à contenir un lien cliquable.

(33)

33

Propriétés

Taille du champ : définit le nombre de caractères ; 

Format : définit la manière dont les informations s'affichent.  

Masque de saisie : guide la saisie des données en déterminant la manière dont les données doivent être saisies.

(34)

Passage de mode Création en mode Feuille de données pour saisir les données

(35)

35

Mode de création

Mode d’affichage

(36)

Livres Nom Auteur

Prénom Auteur

Date de naissance de l’auteur Nationalité auteur

Titre

Nbre pages Année d’édition Éditeur

Prenons l’exemple de la gestion d’une collection de livres dans une bibliothèque

Relations entre les tables d’une BD

(37)

37

Auteurs Nom Auteur Prénom Auteur Date de naissance Nationalité

Livres Nom Auteur Prénom Auteur Date de naissance Nationalité

Titre

Nbre pages Éditeur

Année d’édition

Il est plus judicieux de créer ici deux tables, il faut toujours regrouper dans une même table toutes les informations relatives au même « sujet »

Livres Titre

Nbre pages Éditeur

Année d’édition

(38)

Trouver un moyen pour savoir exactement à quel auteur correspond chaque livre.

ajouter dans la table Auteurs un champ qui va identifier de façon unique chaque enregistrement Clé Primaire

Auteurs N° Auteur Nom Auteur Prénom Auteur Date de naissance Nationalité

Associer un livre à un auteur-

ajouter un champ dans la table Livres, ce champ contient le n° de l’auteur de livre

Livres N° Auteur Titre

Nbre pages Éditeur

Année d’édition

N° Auteur clé primaire dans la table Auteurs Et clé étrangère dans la table Livres

(39)

39

Définitions

 Une relation est un lien entre deux tables, associant des données de la première (table source) avec celles de la deuxième (table destination).

Relation : la relation entre deux tables est basée sur un champ commun aux deux tables. Elle est matérialisée par une ligne appelée « ligne de jointure ».

 Une relation a pour principe la correspondance des données des champs clés de deux tables :

– Ces champs sont la clé primaire et la clé étrangère.

(40)

Relation un-à-un

Dans une relation de type un-à-un:

– Chaque enregistrement de la table 1 ne peut correspondre qu'à un (seul) enregistrement de la table 2, – Et inversement, chaque enregistrement de la table 2 ne peut correspondre qu'à un (seul) enregistrement de la table 1.

Cette relation est représentée par un trait reliant la clé primaire de la table 1 avec la clé primaire de la table 2

(41)

41 Table 1

Enregistrement 1 Enregistrement 2 Enregistrement 3 Enregistrement 4 Enregistrement 5

Table 2 Enregistrement 1 Enregistrement 2 Enregistrement 3 Enregistrement 4 Enregistrement 5

Personne Num_permis Nom

Prénom Ville

Exemple

Voiture Immatricule Marque Couleur Puissance

Possède

 Une personne possède une seule voiture

 Chaque voiture n’appartient qu’à une seule personne

1 1

(42)

Table 2 Enregistrement 1 Enregistrement 2 Enregistrement 3 Enregistrement 4 Enregistrement 5 Enregistrement 2

Enregistrement 1 Table 1

Relation un à plusieurs (1 à n)

Un enregistrement de la table 1 est en relation avec plusieurs enregistrements de la table 2, et un enregistrement de la table 2 est en relation avec un seul enregistrement de la table 2 .

Cette relation est représentée par un trait reliant la clé primaire de la table 1 avec la clé étrangère de la table 2

(43)

43 Livres

N° Auteur Titre Nbre pages Éditeur

Année d’édition Auteurs

N° Auteur Nom Auteur Prénom Auteur Date de naissance Nationalité

1

Clé primaire

n

Clé secondaire

Exemple 1

Un auteur a un ou plusieurs livres

Chaque livre ne correspond qu’un seul auteur

(44)

Exemple 2

Un Fournisseur peut fournir un ou plusieurs produits.

Chaque produit est fourni qu’avec un seul fournisseur.

(45)

45

Un enregistrement de la table 1 est en relation avec un ou plusieurs enregistrements de la table 2, et un enregistrement de la table 2 est en relation avec un ou plusieurs enregistrements de la table 2 .

Relation Plusieurs à Plusieurs (n - m)

Exemple

 Un client achète un ou plusieurs produits

 Un produit peut être vendu à un ou plusieurs clients, Autrement dit, un produit peut être présent sur plusieurs ventes

(46)

46

Solution

Il est impossible de lier directement 2 tables par une relation de Plusieurs à Plusieurs. Il faut systématiquement passer par une troisième table.

On suppose que nous avons déjà 2 tables construites correctement (notamment avec une clé primaire chacune). Dans ce cas :

1. Créez une troisième table, qu'on appellera "table de jonction".

2. Dans cette table, reprenez la clé primaire des tables 1 et 2.

3. La clef primaire de la table 3 sera au minimum la combinaison des 2 autres clés.

4. Dans la fenêtre Relations, tracez maintenant une relation classique "1 à Plusieurs" entre les tables 1 et 3, et faites de même

Comment définir une relation Plusieurs à Plusieurs dans

Access ?

(47)

Dans cet exemple, la table Ventes est la table de jonction.

On peut désigner la clé primaire : le champ Num_Vente et pas le couple composé de (Num_produit, Code_Client).

(48)

Pour établir ces relations sur Access:

1. Fermez tous les objets, ne gardez que la fenêtre « Base de données » et cliquez sur Relations

dans l’onglet Outils de base de données.

2. Activez la commande « Afficher la table » dans le menu

« Relations », sélectionnez ensuite la table et cliquez sur

«Ajouter».

3. Faites glisser le champ comportant la clé primaire sur le champ homologue de l’autre table

(49)

49

Exemple

Table Auteur

Table Livre

(50)

Outils de base de données  Relations

Cliquer sur relations

(51)

51

Afficher la table  Ajouter Auteur + Ajouter Livre  Fermer

(52)

Glisser N°auteur (table auteur) vers N°auteur (table Livre)

(53)

Cette relation signifie qu’un auteur peut être associé à plusieurs livres et un livre est associé à un seul auteur.

(54)

L’intégrité référentielle

Un ensemble de règles suivies par Access pour gérer les relations entre tables et éviter des incohérences dans une base de données.

Elle empêche de supprimer accidentellement des enregistrements dans une table mère quand il existe des enregistrements correspondants dans la table Fille.

(55)

55

Prenons l'exemple de gestion Fournisseurs/Produits : un fournisseur fournit plusieurs produits.

Lorsque vous définissez la relation entre la table Fournisseurs et la table Produits, vous devez activer l'intégrité référentielle. De cette façon, Access interdira la création d'un produit si le fournisseur n'existe pas au préalable. 

D'une manière générale, l'intégrité référentielle implique de renseigner la table du côté "1" avant la table du côté "Plusieurs".

Les deux tables doivent appartenir à la même base de données.

(56)

Mises à jour et suppressions en cascade

Mettre à jour en cascade

Si cette option est cochée et que vous changez le code du fournisseur (dans la table Fournisseurs), tous les produits correspondants verront aussi leur Code modifié. Inversement, si la case n'est pas cochée, il sera impossible de modifier un Code_Fournisseur si des produits lui sont attribuées.

Effacer en cascade

Si cette option est cochée et que vous supprimez un fournisseur, tous ses produits seront automatiquement détruites.

Inversement, si la case n'est pas cochée, il sera impossible de supprimer un fournisseur tant que tous ses produits n'ont pas été

(57)

Un service financier réalise un audit de données bancaires. Le schéma relationnel de ces données est le suivant :

Client (IdClient, Nom, Prénom, Ville, Tél)

Compte (IdCompte, IdClient, DateCréation, Solde)Action (IdAction, IdCompte, DateAction, Montant)

1. Quelles sont les clés primaires et les clés secondaires de chaque table? Justifiez votre réponse.

2. Créer la BD sous Access. Ajouter les relations entre les tables en activant l’intégrité référentielle.

57

Application 1

(58)

3. Parmi les enregistrements suivants lesquels seront rejetés par le SGBD et pourquoi ?

Table : Client

IdClient Nom Prenom Ville Tél

1 Amine Casablanca 0663562773

Salim Rajae Tanger 0662152435

3 Amine Jamal Agadir 0661661610

4 Nasri Reda Tanger 0670263560

Table : Compte

IdCompte IdClient DateCréation Solde

123 1 1/3/2012 350200

124 3 2/1/2013 16K890

125 2 10/4/2013 680000

124 4 2/1/2014 25000

(59)

59

Le responsable du complexe cinématographique a mis en place cette base de données afin de gérer les projections des films dans les différentes salles de cinéma :

Acteur (Num_acteur, Nom, Prénom) Jouer (Num_acteur, Num_Film, Rôle) Film (Num_Film, Titre, Genre, Année) Projection (Num_Ciné, Num_Film, Date) Cinéma (Num_Ciné, Nom, Adresse)

1. Quelles sont les clés primaires et les clés secondaires de chaque table ? Justifiez votre réponse.

2. Tracez les relations entre les tables de cette base de donnée.

Application 2

(60)

Application 3: Base de données

« Gestion de Commandes »

La BD « Gestion de commandes », qui sera utilisée pour le reste du cours, contient les quatre tables suivantes : Clients, Commandes, Produits et Détails_Commande, dont le schéma relationnel est :

(61)

61

Les requêtes

La requête est une action qui porte sur plusieurs enregistrements. Elle sert à exploiter les données contenues dans les tables.

Elle permet de:

 Trier des données

 Extraire des données par critères

 Produire des calculs

 Créer, Modifier des tables

Le SGBD Access permet de créer des requêtes en utilisant soit une interface graphique QBE, soit le langage SQL

(62)

La requête sélection : Elle permet de sélectionner des enregistrements qui répondent aux critères demandés, de faire des calculs et des regroupements. Elles ressemblent beaucoup aux filtres, mais permettent, en plus, de travailler sur plusieurs tables simultanément.

La requête d'Analyse croisée : Cette requête présente ses résultats sous forme de tableau (de type Excel). On l'utilisera pour comparer des valeurs, dégager des tendances.

La requête de Création de table : Cette requête crée une table à partir des données qu'elle a extraites dans une ou plusieurs autres tables.

La requête Mise à Jour : Elle modifie le contenu d'un ou plusieurs champs d'une ou plusieurs tables. C'est le moyen le plus efficace pour mettre à jour un grand nombre d'enregistrements en une seule opération.

La requête Ajout : Cette requête ajoute les données qu'elle a extraites à la fin d'une table déjà existante.

La requête Suppression : Cette requête supprime un ou plusieurs enregistrements dans une ou plusieurs tables.

Types de requêtes

(63)

63

Requête sélection

Création et exécution d’une requête de sélection en mode QBE

Dans la suite on utilisera la Base de données « Gestion de commandes »

Pour créer une requête de sélection :

 Fermer toutes les tables ouvertes de la BD ;

 Dans de l’onglet « Créer » aller dans le groupe « Requêtes » et cliquer sur l’élément « Création de requête ».

 La fenêtre « Afficher la table » s’ouvre.

(64)

Ajouter, à partir de la fenêtre « Afficher la table », la ou les tables concernées par la requête. Ajouter par exemple la table Clients et refermer la fenêtre.

(65)

65

On obtient ensuite l’interface suivante:

Pour basculer entre le mode création et mode

exécution

Pour exécuter une requête

Les types de requêtes action

Pour afficher la ou les tables concernées par la

requête

Remarque

:

Une requête qui exploite une seule table est dite requête monotable ou simple

(66)

Structure et paramétrage d’une requête de sélection

Requête1 est le nom par défaut de la requête. On peut le changer

Nom de la requête

paramètres Les de la requête

Liste des champs

(67)

67

La ligne "Champ" indique les champs à ajouter. Pour ajouter un champ, soit double-cliquer sur le champ, soit le sélectionner dans la table et l'amener avec la souris, soit on clique sur la ligne "Champ", la liste de tous les champs s'affiche alors et on en sélectionne un. Un des champs proposés s’appelle '*', ce champ signifie "tous les champs de la table".

Pour le paramétrage d’une requête, on sélectionne les

champs : soit que l’on souhaite afficher dans notre résultat

de requête soit dont on a besoin en critères pour exécuter

la requête.

(68)

La ligne "Table" sert à sélectionner la table contenant le champ sélectionné.

La colonne "Tri" indique de quel ordre vont être triés les champs dans le résultat de la requête.

La colonne "Afficher" indique si le champ doit être affiché ou non.

La ligne "Critères" indiquera le ou les critères de

sélection pour la requête.

(69)

69

Manipulation des critères

 Si vous avez deux conditions regroupées par ou, la deuxième condition est spécifiée dans la ligne OU.

 Si les conditions sont regroupées par l’opérateur ET alors elles sont spécifiées dans la même ligne CRITERES.

 Une donnée de type texte doit être écrite entre guillemets ("...").

 Les nombres sont écrits tels quels.

 La date et / ou l'heure doivent être placées entre dièses (#), avec séparation de jours, mois et année par la barre oblique (/) ou un trait d'union (-), heure avec séparation de minute et seconde par deux points (:).

(70)

Access met à notre disposition en plus des opérateurs (=, <>, <, >, <=,

>=), les opérateurs suivants:

Opérateur Signification Exemple

Entre Pas Entre

Sélectionne les enregistrements pour lesquels la valeur d'un champ est

comprise dans un intervalle de valeurs

Entre "A" et « D"

Pas Entre 20 et 30 Entre #01/01/18# et

#31/12/18#

In Pas In

Sélectionne les enregistrements pour lesquels la valeur d'un champ est

comprise dans une liste.

In ("Rabat "; "Fès") Pas In (1;3;5)

Est NULL Est pas

NULL

Sélectionne les enregistrements pour

lesquels un champ est vide ou non Est NULL Est pas NULL

Comme Sélectionne les enregistrements

contenant une donnée approximative. Comme « ma*"

Pas Sélectionne les enregistrements ne

correspondant pas au critère Pas Entre "A" et "D"

(71)

Exemple de requête de sélection avec des critères

Dans notre BD « Gestions de Commandes », on souhaite afficher, le code, le nom, le prénom et la ville des clients habitants Casablanca ou Rabat. Le résultat doit être trié par Nom en ordre croissant.

Pour ce faire, nous allons double-cliquer sur tous les champs nécessaires à savoir : CodeClient, Nom, Prenom, Ville.

On se place sur la ligne de critères du champ Ville et on saisit soit :

"Casablanca" Ou "Rabat" soit : In("Casablanca";"Rabat").

(72)

Autre possibilité : La requête peut aussi être formulée de la façon suivante :

Avec cette méthode, on peut saisir autant de critères pour un même champ qu’on le souhaite en les saisissant les uns en dessous

(73)

73

Cliquer ensuite sur le bouton Exécuter. Vous aurez bien les enregistrements comportant les clients habitants Casablanca et Rabat.

(74)

Afficher le code, le nom et le prénom des clients dont le nom ne commence ni par « A » ni par « S » et qui sont de Casablanca ou Mohammedia.

Cette requête sert à voir les caractères spéciaux tel que " * " et "?".

Le caractère "?" est utile pour remplacer un caractère dans la requête. Par exemple, une recherche sur b?lle pourrait donner les résultats suivants: balle, belle, bille, bulle.

Le caractère "*" sert à remplacer une série indéterminée de caractères. On connaît le début mais pas la fin. Par exemple, une recherche en utilisant bal* pourrait donner le résultat suivant:

balade, balai, balance, balcon, baleine, balise, balle, ballerine, ...

Exemple 2

(75)

75

Pour le critère du champ "Nom", écrire seulement Pas A* et Pas S*. Access se chargera d’ajouter Comme et les guillemets pour indiquer que les enregistrements recherchés ne commencent ni par « A » ni par « S ».

(76)

Création d’une requête simple de sélection en mode SQL

1. La construction d'une requête commence par l'identification des informations à afficher (Clause SELECT)

2. On détermine ensuite les restrictions nécessaires à l'obtention du résultat (clause WHERE)

3. On repère ensuite dans le modèle relationnel la ou les tables concernées par l'ensemble des champs mis en ouvre dans les points 1 et 2 : on en déduit les tables nécessaires à la clause FROM

4. On triera enfin grâce à la clause ORDER BY éventuelle.

(77)

77

Une requête sélection SQL commence toujours par la clause SELECT et se termine par un point virgule.

Syntaxe exemple :

Select champ1, champ2, … From tableSource

WHERE « Conditions sur les champs » Order by [champ i] ASC/DESC ;

Champ1, champ2 sont les champs à afficher en résultat.

tableSource : indique la table d’où viennent les champs utilisés dans la requête.

Les critères sont ajoutés après la clause Where (On utilise les opérateurs de critères en anglais).

La dernière ligne indique que le résultat sera trié par le [champ i] en ordre croissant (ASC) ou décroissant (DESC).

(78)

CLAUSE Explication

SELECT Liste les champs ou calculs à afficher ou

restituer

FROM Liste les tables nécessaires à

l'interrogation

WHERE Liste des conditions limitant la

recherche d'information. N'apparaît qu'une fois

AND Précise que les conditions se cumulent

OR Précise des conditions alternatives

NOT Exprime le contraire d'une condition

ORDER BY Effectue un tri croissant (ASC) ou

décroissant (DESC) sur certains champs

GROUP BY Effectue un tri puis réalise des calculs

par sous catégories.

Inclut donc la notion d'ORDER BY.

HAVING Précise des conditions sur les résultats

des calculs

(79)

79

Pour créer une requête de sélection SQL on procède de la même manière que la création en mode QBE :

 Fermer toutes les tables ouvertes de la BD.

 Aller à l’onglet « Créer » puis dans le groupe « Requêtes » cliquer sur l’élément « Création de requête ».

 Fermer la fenêtre « Afficher la table », On obtient l’affichage suivant:

Cliquer ici pour basculer en mode SQL

(80)

Exemples

On reprend les exemples précédents en mode SQL

Exemple 1 : Dans la BD « Gestions de Commandes », on souhaite afficher, le code, le nom, le prénom et la ville des clients habitants Casablanca ou Rabat. Le résultat doit être trié par Nom en ordre croissant.

SELECT CodeClient, Nom, Prenom, Ville FROM Clients

WHERE Ville In ("Casablanca","Mohammedia") ORDER BY Nom;

(81)

81

SELECT CodeClient, Nom, Prenom, Ville FROM Clients

WHERE Ville = "Casablanca"  Or Ville = "Mohammedia"

ORDER BY Nom;

Ou bien :

Exemple 2 : Afficher le code, le nom et le prénom des clients dont le nom ne commence ni par « A » ni par « S » et qui sont de Casablanca ou Mohammedia.

SELECT CodeClient, Nom, Prenom, Ville FROM Clients

WHERE Nom Not Like "A*" And Nom Not Like "S*" AND Ville In ("Casablanca","Mohammedia")

ORDER BY Nom;

(82)

Requête de sélection avec des champs calculés

Il est possible de créer dans une requête des champs calculés qui donnent le résultat d'une formule utilisant le contenu des champs de l'enregistrement. 

Pour ce faire, aller dans la ligne des champs et ajouter le nom du nouveau champ calculé (ALIAS) suivi des deux points « : » suivi de la formule ou l’expression utilisée pour le calcul.

(83)

83

Exemple

 : Dans la BD « Gestion des commandes », on souhaite afficher le numéro des commandes contenant le produit de référence « Pdt01 », la quantité commandée et le prix total hors taxes

Alias

(84)

Requête de sélection avec les fonctions de traitement des dates

Quelques fonctions de traitement des dates:

Fonction Signification

Jour(Date) Affiche le jour de la date en paramètre Mois(Date) Affiche le mois de la date en

paramètre

Année(Date) Affiche l’année de la date en paramètre

Date() Affiche la date d’aujourd’hui (du

système) Diffdate("format"; date1;

date2)

Affiche la différence en nombre d’années, de jours, de mois, de

trimestres,… entre la date « date1 » et la date « date2 ».

Format(Date; "format") Affiche le mois/jour de la date en

(85)

85

Remarque :

Le premier paramètre de la fonction « Diffdate» peut avoir les valeurs suivantes : "t" (différence en nombre de trimestres); "m"

(de mois); "e" (de semaines); "j" (de jours); "h" (d’heures); "n" (de minutes); "s" (de secondes).

Les formats utilisés dans la fonction « Format » pour les types de données date/heure sont : « aaaa », « mmmm », « jjjj », « t », ….

Format(Date ;"mmmmm") affiche les mois en lettres ("jjjj" pour les jours). « mmm » affiche les mois abrégés, « mm » affiche les mois par deux chiffres, « m » affiche les mois en chiffre.

Format(Date ;"t") affiche le trimestre en chiffres.

(86)

Exemple :

Dans la BD « Gestion des Commandes », on souhaite afficher le numéro et la date des commandes passées entre le 30 novembre 2018 et le 31 janvier 2019.

(87)

87

Exemple :

Dans la BD « Gestion des commandes », on souhaite afficher le code du client, le numéro et la date de leurs commandes faites au cours du premier trimestre de l’année 2019 :

Ou

Alias

(88)

Requête de sélection avec les fonctions de traitement des dates en SQL

Fonctions de traitement des dates :

Fonction Signification

Day(Date) Affiche le jour de la date en paramètre Month(Date) Affiche le mois de la date en

paramètre

Year(Date) Affiche l’année de la date en paramètre

Date() Affiche la date d’aujourd’hui (du

système) Datediff("format", date1,

date2)

Affiche la différence en nombre d’années, de jours, de mois, de

trimestres,… entre la date « date1 » et la date « date2 ».

Format(Date, "format") Affiche le mois/jour de la date en

(89)

89

Remarque :

Le premier paramètre de la fonction « Datediff» peut avoir les valeurs suivantes : "q" (différence en nombre de trimestres); "m"

(de mois); "w" (de semaines); "d" (de jours); "h" (d’heures); "n" (de minutes); "s" (de secondes).

Les formats utilisés dans la fonction « Format » pour les types de données date/heure sont : « yyyy », « mmmm », « dddd », « q », ….

Format(Date ;"mmmmm") affiche les mois en lettres ("dddd" pour les jours). « mmm » affiche les mois abrégés, « mm » affiche les mois par deux chiffres, « m » affiche les mois en chiffre.

Format(Date ;"q") affiche le trimestre en chiffres.

(90)

Exemple 1: Dans la BD « Gestion des Commandes », on souhaite afficher le numéro et la date des commandes passées entre le 30 novembre 2018 et le 31 janvier 2019.

SELECT NumCmd, DateCmd FROM Commandes

WHERE DateCmd Between #11/30/2018# And #1/31/2019#;

SELECT NumCmd, DateCmd FROM Commandes

WHERE DateCmd >=#11/30/2018# And DateCmd <=#1/31/2019#;

Ou bien :

Exemples de requêtes en SQL :

(91)

91

Exemple 2: Dans la BD « Gestion des commandes », on souhaite afficher le code du client, le numéro, l’année et la date de leurs commandes faites au cours du premier trimestre de l’année 2019

Remarque

: AnnéeCmd est un champ calculé. Pour ajouter un champ calculé en SQL on commence par la formule ou l’expression (comme Year(DateCmd) en exemple) suivi de AS suivi de nom du nouveau champ (Alias).

SELECT NumCmd, DateCmd, Year(DateCmd) AS AnnéeCmd FROM Commandes

WHERE Year(DateCmd)=2019 AND Mois(datecmd) Between 1 And 3;

(92)

SELECT NumCmd, DateCmd, Year(DateCmd) AS AnnéeCmd FROM Commandes

WHERE Year(DateCmd)=2019 AND Format(datecmd,"mmmm") Between "Janvier" And "Mars";

Ou

Alias

Remarque : En SQL il n’y a qu’un seul point virgule. Toutes les

expressions en QBE qui contiennent des points virgules se changent en virgules en passant à SQL

Références

Documents relatifs

Š Dans la fenêtre album : Base de données choisir l’objet For- mulaires puis Créer un formulaire en mode Création. Une nouvelle fenêtre apparaît avec un

L’éminente dignité de l’imitation, selon Quintilien, ou de l’« innutrition », pour reprendre le mot de Du Bellay, a un nom, c’est la voie royale du pastiche qui

Sur un mot fantôme dans Artus de Bretagne: le plus maistre du jour.. Glaliceur, Groupe de recherche sur la langue et la littérature françaises du centre et

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

Ainsi les mécanismes de déformation considérés comme prépondérants pour la mise en forme d’un empilement HiTape sont la flexion hors-plan, le cisaillement plan (à vérifier) et

Load-Aware Shedding (LAS) is based on a simple, yet effective, idea: if we assume to know the execution duration w(t) of each tuple t in the operator, then we can foresee queuing

Pour définir la notion de détail de taille ε , on choisit des configurations de points successifs de base : - avec 2 sommets, le segment, il n’y a pas de variations, donc pas

Il est possible de créer les champs dans les 2 modes d'affichage mais il est préférable de les créer en mode Création. En mode Création, on voit un tableau à 3 colonnes correspond