Académique Documents
Professionnel Documents
Culture Documents
Objets Manipulés
Le SQL utilise des identificateurs pour désigner les objets qu’il
manipule. Ces objets peuvent être:
1 des tables,
2 des vues,
3 des colonnes,
4 des indexes,
5 des constantes, des variables, etc...
Structure de base
Une requête SQL typique est de la forme:
SELECT A1........An
FROM r1..........rm
WHERE P
Les Ai sont des attributs, les rj sont des noms de relations et P est un
prédicat.
SELECT
La clause SELECT correspond à la projection de l’algèbre.
Ex:
WHERE
La clause WHERE Correspond au prédicat de sélection dans l’algèbre.
Ex:
SELECT Num
FROM compte
WHERE Solde BETWEEN 0 AND 10000
FROM
Elle correspond au produit cartésien de l’algèbre.
Ex:
ORDER BY
Cette clause permet de trier les résultats de requête.
Ex:
SELECT *
FROM programme
WHERE NomCiné="UGC"
ORDER BY Horaire ASC, Titre DESC
GROUP BY
Les attributs apparaissant dans la clause SELECT en dehors des
aggrégats doivent être associés à la clause GROUP BY.
EX:
SELECT NomCiné,
COUNT(DISTINCT Titre) FROM Programme
GROUP BY NomCiné
HAVING COUNT(DISTINCT Titre) > 3
Requêtes imbriquées
SQL fournit un mécanisme qui permet d’imbriquer les requêtes.
Ex:
SELECT Titre
FROM Programme
WHERE NomCiné="UGC"
And Titre NOT IN (SELECT Titre FROM Programme WHERE
NomCiné="Trianon")
SELECT p.Titre
FROM programme p
WHERE UNIQUE (SELECT p1.Titre FROM programme p1
WHERE p.Titre=p1.Titre)
Les Vues
Permettent de définir des relations virtuelles dans le but de cacher
certaines informations à des utilisateurs, de faciliter l’expression de
certaines requêtes, d’améliorer la présentation de certaines données.
Une vue est définie par une expression de la forme :
UPDATE compte
SET Solde = Solde * 1.01
WHERE Solde < 500
Exemple
Une vue est le résultat d’une requête que l’on peut manipuler de la
même façon qu’une table. On peut considérer une vue comme une
table dynamique dont le contenu est recalculé à chaque utilisation. On
utilise les vues pour des raisons de commodité.Il n’est pas nécessaire
que certains utilisateurs voient le modèle complet qui est parfois
complexe ou encore de sécurité/confidentialité en restreignant l’accès
à certaines données. Dans cette optique, les vues viennent en
complément de la gestion des droits d’accès.
exemple:
CREATE VIEW personnebis (NumAch, Nom, Age)
AS
SELECT NumAch, Nom, Age
FROM personne ;
Les commandes SQL qui sont présentées sur cette partie concernent
non plus la gestion de la structure des tables, mais celle des
contenus. On dispose classiquement de trois opérations : l’insertion,
la suppression et la mise à jour, pour gérer les données d’une table.
Exemple:
DELETE FROM voiture
WHERE Couleur=’Rouge’;
MODIFICATION (UPDATE)
Pour cette opération, il faut préciser:
1 la (les) colonne(s) concernée(s) ;
2 la (les) nouvelle(s) valeur(s) ;
3 les enregistrements pour lesquels on modifiera ces valeurs.
De même que précédemment, on identifiera les enregistrements
concernés par une expression de sélection. La valeur modifiée peut
être statique ou calculée à partir des valeurs d’autres colonnes.