7 décembre 2004 ALSI
Page 1/7
SQL SEANCE 1
SAVOIR FAIRE
COMPETENCES
C24 Représenter la répartition des
données entre sites et acteurs d’un
système d’information
La structure d’une organisation
Le schéma global des données à
répartir
Des scénarios de répartition des
données
Assisté, seul ou en équipe
Exactitude et complétude des
schémas de données réparties et
des contraintes d’intégrité associées
C25 Concevoir et représenter
schématiquement la décomposition
fonctionnelle d’une application
informatique et/ou les structures de
données qui lui sont associées
La description des fonctionnalités
d’une
application informatique
En autonomie, seul
Pertinence et validité du diagramme
fonctionnel et/ou des structures de
données
C27 Évaluer le contenu d’un
dossier de spécifications
Un dossier de spécifications qui peut
comprendre :
- des schémas représentant la
réalité d’un
système d’information,
de données qui lui sont associées,
En autonomie, seul
Clarté du rapport d’évaluation
Sagacité dans le relevé des
incohérences
Pertinence des remèdes proposés
C35 Développer tout ou partie
d’une application autour d’une base
de données relationnelle,
centralisée ou répartie, en intégrant
au besoin le langage de requête du
système de gestion de la base de
données et le langage de
développement
Le cahier des charges d’une
application à développer
Le schéma de la base de données
Les scénarios de répartition
Les lexiques des instructions des
langages à utiliser
Les bibliothèques de fonctions et de
procédures prédéfinies
En autonomie, seul ou en équipe
Fiabilité et lisibilité des programmes
Cohérence et performance des
requêtes
C46 Gérer une documentation
technique
Un ensemble de documents relatifs
à un domaine informatique
En autonomie, seul
Structuration et qualité du contenu
de la documentation
Facilité et rapidité d'accès
A FAIRE AVANT COURS
- Mettre le fichier ACCESS avec les tables CLASSE, ÉLÈVE et PROFESSEUR sur le SERVEUR.
- Mettre fichiers Exercice EXO SQL 1.PDF sur le SERVEUR.
- Photocopier cours + exercice en 30 exemplaires.
CONTENUS
CAPACITÉS ATTENDUES
COMPÉTENCES
S25 Système de gestion de base de
données relationnel
Langage de manipulation de données
algèbre relationnelle, SQL interactif et QBE
Techniques de répartition des données
Implanter, consulter, interroger, mettre à jour
une base de données relationnelle
Administrer une base de données non répartie
et en assurer la sécurité
C24
S32 Analyse et conception de systèmes
logiciels : méthodes et outils
Niveaux d’abstraction
Méthodes de conception
structures et modèles de référence
démarches et langages
outils supports
Modélisation des données
modèle relationnel
Identifier les différents niveaux de
représentation d'un système d'information
Représenter les communications et les
données d'un système d'information
C27
7 décembre 2004 ALSI
Page 2/7
Objectif : Découvrir SQL et la syntaxe de l’instruction SELECT à travers l’algèbre
relationnelle.
1 Définition et caractéristiques du SQL
Structured Query Language : Langage de requêtes permettant de manipuler les BDR
Il est créé en 1970 par IBM.
- Il est normalisé (L’American National Standards Institute et l’International
Organisation for Standardization décrivent cette norme). Notamment, Access 2002 suit
la norme SQL-92 ANSI, les versions précédentes se conformaient à SQL-89 ANSI.
(Pour des informations sur la normalisation ISO. : http://www.iso.org/iso/fr/)
- Il permet d’appliquer le Modèle Relationnel
- Il est standard donc :
o Il est portable d’un SGBDR à l’autre
o Il est proposé par tous les SGBDR (MS SQL Server, MySQL, ACCESS…etc.)
- Il est non procédural :
o L’utilisateur envoi une requête à un composant du SGBDR, l’OPTIMIZER.
o L’optimizer organise la recherche des données demandées dans la requête
o Nul besoin de créer un programme qui parcoure les enregistrements pour trouver
les bons.
- Il est en langage proche du notre (~ Anglais, compréhensible même par les non
informaticiens)
- Il permet de gérer les données mais aussi les droits des personnes qui les consultent.
BIBLIOGRAPHIE :
- Principes d’informatique de gestion BTS 1, J. BOUTET, R. SANCHEZ, R. GILANTE, OLIVIER
KORN (Nathan Technique)
- SQL ET ALGEBRE RELATIONNELLE, Notions de base, J. GABILLAUD (ENI editions)
7 décembre 2004 ALSI
Page 3/7
2 Description d’une instruction SQL
(Utilisation de QBE pour fabriquer une requête affichant tous les enregistrements et champs de la
table ÉLÈVE)
(Expliquer comment créer, sauvegarder et lancer une requête SQL sous ACCESS)
(Expliquer qu’il faut faire une copie de la base de données depuis le dossier commun jusque sur le
dossier individuel)
Elle est de la forme :
SELECT * FROM ÉLÈVE ;
Peut se traduire par :
« SELECTIONNER tous les enregistrements et tous les champs DE la table ÉLÈVE »
Exercice première requête :
a). Créer une nouvelle requête SQL pour afficher tous les enregistrements et les champs de la table
CLASSE.
b). Enregistrer cette requête sous le nom « req toutes classes »
3 La projection
(Utilisation de QBE pour projeter les champs nomélève et prénomélève )
En algèbre relationnelle :
NOMPRENÉLÈVE = PROJ ÉLÈVE (nomélève , prénomélève )
En SQL :
SELECT ÉLÈVE.nomélève , ÉLÈVE.prénomélève FROM ÉLÈVE ;
Ce qui équivaut à demander :
« SELECTIONNER tous les enregistrements des champs nomélève et prénomélève DE la table
ÉLÈVE »
7 décembre 2004 ALSI
Page 4/7
Exercice projection :
a). Créer une nouvelle requête SQL pour afficher les noms d’élève, leur adresse et leur numéro de
classe.
b). Créer une autre requête SQL pour afficher le nom des professeurs et le numéro de leur classe.
c). Créer une requête SQL pour afficher la liste des numéros de classe attribués à un professeur au
moins. (Activer et regroupement pour éviter les doublons)
4 La restriction (sélection)
(Utilisation de QBE pour sélectionner les élèves nommés FLACASSIER)
En algèbre relationnelle :
ÉLÈVEFLACASSIER = REST (nomélève = ”FLACASSIER”) ÉLÈVE
En SQL :
SELECT *
FROM ÉLÈVE
WHERE ÉLÈVE.nomélève = ”FLACASSIER”;
Ce qui veut dire :
« SELECTIONNER tous les enregistrements et tous les champs
DE la table ÉLÈVE
DANS LESQUELS le champ nomélève est « FLACASSIER » »
Remarque :
ÉLÈVE.nomélève = ”FLACASSIER”
Est une condition composée de :
- un attribut
- un opérateur de comparaison ( = <> < > <= >= BETWEEN … AND …
LIKE « ??*…» IN (« », « » )
- un élément de comparaison « FLACASSIER »
Exercice sélection :
a). A l’aide d’une nouvelle requête SQL, dresser une liste des noms des élèves ( seulement les
noms ) qui sont dans la classe 100.
b). Faire apparaître, grâce à une autre requête SQL, les professeurs dont le nom commence par
« BER » (utiliser l’opérateur de comparaison LIKE)
c). Faire une liste des noms et classe des professeurs dont le numéro de professeur est compris
entre 2 et 5
7 décembre 2004 ALSI
Page 5/7
5 Le tri
(Utilisation de QBE pour trier les élèves par nom et prénom, insertion d’un homonyme et explication
de l’utilité de demander plusieurs clés de tri)
En algèbre relationnelle :
ÉLÈVETRIES = TRI ÉLÈVE (nomélève , prénomélève )
En SQL :
SELECT *
FROM ÉLÈVE
ORDER BY ÉLÈVE.nomélève DESC , ÉLÈVE.prénomélève ASC;
Ce qui signifie:
« SELECTIONNER tous les enregistrements et tous les champs
DE la table ÉLÈVE
TRIES PAR nom d’élève DECROISSANT et prénom d’élève CROISSANT»
Exercice tri :
a). Afficher la liste des professeurs triée par noms
b). Le tri par nom suffit-il pour ordonner tous les enregistrements ?
6 Le regroupement (utilisé avec les fonctions d’agrégat)
(Utilisation de QBE pour calculer le nombre d’élève par classe)
En algèbre relationnelle :
CALCNBÉLÈVE = PROJ ÉLÈVE( nomélève , COUNT(*) )
En SQL :
SELECT ÉLÈVE.numclasse, COUNT(*)
FROM ÉLÈVE
GROUP BY ÉLÈVE.numclasse ;
Signifie :
« AFFICHER le numéro de classe et le NOMBRE d’élèves
DE la table ÉLÈVE
REGROUPES PAR numéro de classe
1 / 7 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 !