I- EXPLOITATION DES BASES DE DONNÉES RELATIONNELLES : SQL
III-1- Généralités
Le langage SQL (Structured Query Language) peut être considéré comme le langage d’accès
normalisé aux bases de données. Il est aujourd’hui supporté par la plupart des produits
commerciaux que ce soit par les systèmes de gestion de bases de données micro tel que
Access ou par les produits plus professionnels tels que Oracle ou Sybase.
Il possède 3 parties :
o Un langage de définition de données (DDL : Data Definition
Language) ;
o Un langage de contrôle de données (DCL : Data Control Language) ;
o Un langage de manipulation de données (DML : Data Manipulation
Language) ;
On va s’intéresser principalement à cette partie.
Le DML ou LMD (Langage de manipulation de données) est lui-même divisé en 4 parties :
ajout d’occurrences (INSERT)
modification d’occurrences (UPDATE)
suppression d’occurrences (DELETE)
interrogation de la base de données : les requêtes (SELECT)
III-2- Le langage de requêtes
Nous avons vu que la plupart des SGBD offrent la possibilité d'effectuer des recherches
directement dans les tables. Les possibilités de formuler des critères de recherche sont
cependant souvent assez limitées. Heureusement, la plupart des SGBD nous offrent également
la possibilité de poser pratiquement n'importe quelle "question" à nos tables, sous forme de
requêtes.
Les requêtes servent donc à répondre aux questions basées sur le contenu d'une ou de
plusieurs tables.
Expression générale d’une requête
Présentation d'une requête :
Une requête se présente généralement sous la forme " SELECT ... FROM ... WHERE " :
la clause SELECT exprime le résultat attendu sous la forme d’une liste d’attributs auxquels
il est possible d’appliquer différents opérateurs et fonctions.
la clause FROM liste les relations utilisées pour évaluer les requêtes;
la clause WHERE qui est facultative énonce une condition que doivent respecter les
enregistrements sélectionnés.
Jeu d’essai :
III-3- La projection et la sélection
La projection consiste à choisir certaines colonnes d’une table (la clause WHERE n’est pas
utilisée alors), mais toutes les occurrences de la table sont affichées :
Exemple : SELECT NOM_ELEVE,PRENOM_ELEVE,ADR_VILLE_ELEVE FROM
ELEVE;
La sélection dans une table consiste à choisir certaines de ses occurrences grâce à un critère
de sélection (énoncé dans la clause WHERE).
Exemple : SELECT NOM_ELEVE,PRENOM_ELEVE,ADR_VILLE_ELEVE FROM
ELEVE WHERE ADHESION_MUTUELLE)=0
II- LA CLAUSE SELECT
IV-1- Quelques généralités
L'opérateur * permet d'afficher tous les champs définis dans la table.
Exemple : SELECT * FROM JOUR ;
Les données du type TEXTE sont entourées d'apostrophes (quotes).
Exemple: SELECT * FROM MONITEUR WHERE.NOM_MONITEUR='ALBERT';
Les dates sont entourées du caractère # et indiquées dans le format américain
#Mois/Jour/Année#
Exemple : SELECT * FROM VEHICULE WHERE DATE_MISE_SERV = #6/25/2001#;
Les critères de sélection constituent une expression logique qui peut prendre la valeur
'Vrai' ou 'Faux'.
Comparaison à une valeur donnée.
Voici les opérateurs de comparaison:
= "est égal"
> "strictement supérieur"
< "strictement inférieur"
>= "supérieur ou égal"
<= "inférieur ou égal"
<> "est différent"
Exercice 1 : quels sont les jours pour lesquels le taux de remise est supérieur à 10% ?
CODE_JOUR
LIBELLE_JOUR
TX_REMISE
2
Mardi
10
3
Mercredi
20
5
Vendredi
20
Il existe 3 opérateurs logiques:
1. NOT (Négation logique)
L'opérateur NOT inverse le résultat d'une expression logique.
2. AND (Et logique)
L'opérateur AND nous permet de combiner plusieurs conditions dans une expression
logique. L'expression logique retourne uniquement la valeur 'Vrai' lorsque toutes les
conditions sont remplies.
3. OR (Ou logique)
L'opérateur OR nous permet de combiner plusieurs conditions dans une expression
logique. L'expression logique retourne la valeur 'Vrai' lorsque au moins une des
conditions est remplie.
Priorité des opérateurs logiques
Lorsqu'on combine plusieurs conditions par des opérateurs logiques, le résultat final de
l'expression logique dépend de l'ordre d'exécution des différentes conditions. Cet ordre est
déterminé par la priorité des opérateurs logiques. Voici l'ordre prédéfini en SQL:
1. Déterminer le résultat logique ('Vrai','Faux') des comparaisons (=, <, > etc.)
2. Effectuer les négations (NOT)
3. Effectuer les AND
4. Effectuer les OR
Pour modifier cet ordre d'exécution, nous pouvons utiliser des parenthèses afin de grouper les
différentes conditions logiques.
Exercice 2 : quels sont les élèves nés en 1986 ou en 1987 ?
NOM_ELEVE
PRENOM_ELEVE
DATE_NAIS_ELEVE
Bernardot
Eric
05/03/1986
EPAULE
Pierre
03/06/1987
Exercice 3 : quels sont les élèves nés en 1986 ou en 1987 et n’habitant pas Paris ?
NOM_ELEVE
PRENOM_ELEVE
DATE_NAIS_ELEVE
ADR_VILLE_ELEVE
Bernardot
Eric
05/03/1986
Nanterre
IV-2- La clause DISTINCT
Elle sert juste à omettre les enregistrements qui stockent un doublon dans le (ou les) champs
spécifié(s).
Seules les valeurs uniques des champs listés dans l’instruction SELECT apparaissent dans le
résultat de la requête.
Exemple : quels sont les différents modèles de véhicule ?
SELECT MODELE FROM VEHICULE;
SELECT DISTINCT MODELE FROM VEHICULE;
MODELE
Honda 500 CB
Peugeot 206
Renault Clio
Renault Scenic
Suzuki 600 Bandit
IV-3- La clause BETWEEN
L'opérateur BETWEEN permet de rechercher si une valeur se trouve dans un intervalle
donné, quel que soit le type des valeurs de référence spécifiées (alpha, numérique, date…)
Exercice 4 : quels sont les véhicules mis en service entre le 1er janvier 2001 et le 15 juillet
2002 ?
NUM_IMMAC
DATE_MISE_SERV
1258NPA75
25/06/2001
1520NPE75
14/07/2001
4507NPE75
16/07/2001
1 / 12 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !