CorChap5 2 Op Rateurs Relationnels

CorChap5 2 Op Rateurs Relationnels

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

Désolé, mais les essais complets ne sont disponibles que pour les utilisateurs enregistrés

Choisissez un plan d'adhésion
entre [ ] SELECT Désignépreuve, Coeff FROM EPREUVE Enregistrez la requête SQL sous le nom RI SQL Application 2 : On souhaite obtenir le numéro des candidats ayant passé les épreuves Problème : Si on utilise la même syntaxe que précédemment, Access va afficher plusieurs fois le même numéro de candidat.

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é