Doc Stg
Rapports de Stage : Doc Stg. Rechercher de 53 000+ Dissertation Gratuites et Mémoiresrface propre à chaque outil, contribue à l'acquisition progressive de la capacité de passer de l’expression d’un besoin en langage naturel à sa définition dans un langage formel.
L'étude est volontairement limitée à l'ordre SELECT en utilisant les clauses d'identification des sources de données sur une ou plusieurs tables (FROM), de restriction et de jointure (WHERE) et de tri (ORDER BY). Les fonctions usuelles d'agrégat et de traitement des chaînes de caractères, des nombres et des dates sont abordées en fonction des besoins. L'utilisation d'un « requêteur » graphique, pour autant qu'elle permette de mettre en œuvre une logique de construction structurée,peut faciliter la visualisation et la compréhension des requêtes exprimées en langage SQL.
SOMMAIRE
2.3- La base de données 1
I- Les requêtes SQL 2
A) Les requêtes simples 2
1- les principaux mots 2
2- Les opérations 2
B) Les requêtes imbriquées 7
1- La requête ne renvoie qu’une seule valeur. 7
2- La sous-requête renvoie plusieurs valeurs 7
II- La manipulation des données 8
A) La commande INSERT 8
B) La commande UPDATE 8
C) La commande DELETE 9
Rque : Le point I – B est hors programme STG. Il est présenté à titre d'information.
SQL
L'algèbre relationnelle est la base du développement du langage SQL (Structured Query Langage). Ce langage textuel permet de communiquer avec une base de données relationnelle. Il a été réalisé par IBM puis est devenu un standard ANSI (American National Standards Institute) approuvé par l'ISO (International Standards Organization) en 1987. SQL/92 est la norme très répandue. Le dernier standard validé est SQL3 appelé bien souvent SQL/99. Toutefois, pour avoir un langage plus complet, les concepteurs de SGBD/R ajoutent certaines fonctionnalités au SQL standard.
Parmi les différentes fonctionnalités SQL, il est possible de retrouver les catégories de commandes suivantes :
- DDL (Data Définition Language) qui permet de définir et de modifier le schéma d'une base de données relationnelle.
- DML (Data Manipulation Language) qui permet la modification d'une base de données relationnelle.
- DQL (Data Query Language) qui permet l'interrogation de la base de données relationnelle.
- DCL (Data Contrôle Language) pour contrôler la sécurité et l'intégrité de la base de données relationnelle.
Seules l'interrogation et la manipulation des données seront abordées.
I- Les requêtes SQL
A) Les requêtes simples
Toutes les requêtes réalisées à l'aide d'un requêteur graphique (QBE) peuvent être réalisées à l'aide d'ordres SQL et donc être directement utilisables sur ordinateur. Les ordres sont non procéduraux c.a.d que pour obtenir un résultat, il suffit d'indiquer ce que l'on désire obtenir. Il n'est pas nécessaire d'indiquer la manière d'y parvenir comme dans un langage procédural.
1- les principaux mots
|Mots |Arguments |
|SELECT |Attribut(s) |
|FROM |Table(s) |
|WHERE |Condition(s) sur une ligne |
|GROUP BY |Attribut(s) de partitionnement |
|HAVING |Condition(s) de sélection sur un groupe de lignes |
|ORDER BY |Attribut(s) de tri |
Les mots clés ne sont pas sensibles à la casse contrairement aux données.
Sous Access, il est possible de réaliser des requêtes SQL.
Pour cela, il est possible d'utiliser la méthode suivante :
- sélectionner l’objet Requête,
- fermer la fenêtre proposant d’ajouter les tables
Dans les menus apparaît avec en haut à gauche l’outil SQL. Il reste à taper le code
2- Les opérations
a) La projection
Rappel : Une projection permet d'extraire des colonnes spécifiées d'une table.
Une projection s'exprime à l'aide de SQL par la commande :
SELECT [ALL | DISTINCT] [colonne1 , colonne2 .....]
FROM nomtable ;
Par défaut, SQL n'élimine pas les doubles à moins que cela soit explicitement demandé par le mot clé DISTINCT
Exemple : Pour obtenir la liste des noms des candidats avec leur date de naissance de la table CANDIDAT il sera nécessaire d'écrire :
SELECT NomCandidat, DateNaissance
FROM candidat ;
Si l'on souhaite éliminer les doubles, il faudrait noter :
SELECT DISTINCT NomCandidat, DateNaissance
FROM candidat ;
b) La sélection
On parle également à ce niveau de restriction.
Une sélection s'exprime à l'aide de SQL par la commande :
SELECT *
FROM nomtable
WHERE condition ;
Le symbole * signifie que l'on affiche toutes les colonnes d'une table. La combinaison avec une projection s'effectue en remplaçant * par la liste des colonnes à projeter.
Exemple 1 : On désire connaître les caractéristiques du ou des candidats dont le nom est FAURE.
SELECT *
FROM CANDIDAT
WHERE NomCandidat IN('Faure') ;
La même requête avec l'affichage du NumCandidat et de la date de naissance s'écrit :
SELECT NumCandidat, DateNaissance
FROM CANDIDAT
WHERE NomCandidat IN('Faure') ;
De manière plus générale, la condition suivant la commande WHERE peut inclure
différents opérateurs de comparaison et différents opérateurs booléens :
* les opérateurs de comparaison
|SYMBOLE |SIGNIFICATION |
|= |Égal |
| |Différent |
|=! | |
|< |Inférieur |
|> |Supérieur |
|= |Supérieur ou égal |
Avec l'opérateur Like, il est possible d'utiliser des caractères "joker" comme % et _ . Sous Access, le % est remplacé par * et _ par ?.
Le "joker" % remplace de 0 à n caractères quelconques. Exemple : Si l'on écrit après la commande WHERE attribut Like'F%', la condition portera sur toutes les valeurs de l’attribut dont la première lettre commence par F.
Le "joker" _ remplace un caractère quelconque et un seul. Exemple : Si l'on écrit après la commande WHERE attribut Like'F_ _ , la condition portera sur toutes les valeurs de l’attribut dont la première lettre commence par F et ayant ensuite seulement 2 autres caractères.
* les opérateurs logiques
|SYMBOLE |SIGNIFICATION |
|Between...AND...
...