Intro : Les opérateurs de requêtes se classent en trois catégories : – Les opérateurs relationnels (« algèbre relationnel ») qui font l’objet de ce chapitre – Les opérateurs ensemblistes (issus de la théorie des ensembles) (pas d’étude théorique) – Les opérateurs de calcul Tous les exemples et exercices figurant sur ce document sont a exécuter avec la base de données « GESNOTES. MDB » Schéma relationnel d EPREUVE(C0deépreu • ZONE(C0dezone, libe CANDIDAT(Num can s notes » (Cf chap 4) deEtab) ETA3LlSSEMENT(C0de tab, Nometab, #C0dezone)
NOTATION(#Codeépreuve+#NumCandidat, note) Les opérateurs relationnels sont au nombre de trois – la projection – la sélection – la jointure l. La projection Elle consiste à choisir un ou plusieurs champs (attributs – colonnes) et d’afficher toutes les enregistrements. Notation en langage algébrique R2-PROJECTlON(R1, attribut 1, attribut RI RELATION RESULTAT EPREUVE projection RI (Désignépreuve,coeff) – En QBE (A faire avec ACCESS) : le nom de la requête sera RI – En SQL : Pour créer une requête en langage SQL dans Access, près avoir ouvert une requête vierge en mode creation, cliquez sur le menu Affichage – Mode SQL.
Vous pouvez alors saisir la requête. ATTENTION : si le nom du champ comporte un espace il faut le mettre
Pour n’avoir qu’une seule fois les codes produits, on doit utiliser ci une clause SQL supplémentaire : DISTINCT par tableau OPERATEURS CONDITION WHERE critère Le critère se pose par rapport à un champ et utilise des opérateurs de comparaison Opérateur de comparaison En Français (Q3E) En anglais (SQL) Exemple Codeart>5 Moyeleve>Moyclasse (comparaison entre 2 champs) Entre Et. Between And PIJHT Entre 60 Et 100 (fixe un intervalle de valeur) Revient à : ET Comme LIKE Nomcli Comme (Tous les clients dont le nom commence par les lettres A à C quelque soit le reste du nom) Dans(valeurl , valeur2,… IN(valeur1 odeclasse Dans CICGOV, ‘l CGOZ, ‘TSTf4’) (toutes les lignes pour lesquelles CodeClasse est 1 CGOI , Combinaison de critères Si une requête contient plusieurs critères, on utilise : – le ET logique (pour « multiplier » les critères) le OU logique pour « ajouter » les critères Dans Access : champs) Résultat à obtenir : Nom Candidat Code étab FABER 230 CREATIX Formulation de la requête par tableau CANDIDAT SELECTION PROJECTION codeétab=230 R31 (Nom Candidat) En SQL SELECT Nomcandidat FROM CANDIDAT WHERE codeétab=230; Application 3-2 Combinaison de critères
On veut connaître le code des candidats ainsi que leur note ayant obtenu entre 8 et 14 à l’épreuve 6 Résultat à obtenir . Num candidat Code épreuve PAGF la zone critère : Lors de l’exécution de la requête : Application 3-4 : Critère de tri dans une requête SQL En SQL le tri se traduit par la clause ORDER BY nomduchamp ASC/DESC ajoutée à la fin Pour un tri croissant, l’instruction se termine par ASC (Ascending) (facultatif) Pour un tri décroissant, l’instruction se termine par DESC (Descending) Si plusieurs champs sont à trier, il faut les séparer par des irgules : ORDER BY NomChamp1 ASC ou DESC, NomChamp2 ASC ou DESC..
On veut obtenir la liste des codes élèves et des notes obtenues à l’épreuve d’économie (code épreuve = 6). Cette liste doit être classée de manière à établir un classement de la meilleure note ? la moins bonne. SELECT * FROM NOTATION WHERE Codeépreuve=6 ORDER BY Note DESC NOTATION WHERE candidat. numcandidat-NOTAT10N. Numcandidat Remarque : comme la sélection, la jointure est généralement suivie d’une projection Reprise de l’exemple précédent •
Application 4 : On veut connaître le nom des candidats ayant passé une épreuve ainsi que le nom de leur établissement d’origine Par tableau : Jointure Projection CANDIDAT. Numcandidat=NOTATION. Numcandidat R35(NomCandidat, Codeéétab) R35 ETABLISSEMEN R35. codeétab-ETABLlSSEMENT. C0deétab R36(NomCandidat, Nométab) En SQL : SELECT NomCandidat, Nométab FROM CANDIDAT, ETABLISSEMENT, NOTATION WHERE CANDIDAT. Nurncandidat=NOTATION. Numcandidat AND CANDIDAT. Codeétab=ETABLISSEMENT. Codeétab Application 5 Création d’un Application 5 Création d’un champ calculé