Académique Documents
Professionnel Documents
Culture Documents
Plan
Introduction
Bases de données Relationnelles
SQL
Introduction Introduction
Accès à une base de données SQL : Structured Query Language
Applications Supporté par la plupart des SGBD commerciaux.
Select…
Update… Standardisé – beaucoup de nouvelles fonctionnalités
Create Table…
Autres
Logiciels
Drop Index… Interactive via ligne de commande ou GUI, ou
Help… implémenté dans des programmes.
SGBD Delete…
Déclaratif, se base sur l’algèbre relationnel.
Données
Le langage SQL : Str uctur e d Que r y Language 3 Le langage SQL : Str uctur e d Que r y Language 4
1
11/12/2013
SQL création :
create table Etudiant(ID INTEGER, Nom CHAR(20), Moy FLOAT, serieBac CHAR(10), DateNaiss DATE);
create table Candidature(sID INTEGER, eNom CHAR(10), filiere CHAR(10), decision CHAR(3));
Le langage SQL : Str uctur e d Que r y Language 7 Le langage SQL : Str uctur e d Que r y Language 8
2
11/12/2013
Le langage SQL : Str uctur e d Que r y Language 9 Le langage SQL : Str uctur e d Que r y Language 10
SELECT {[ALL | DISTINCT] <colonne et/ou calculs> [AS <alias>]} | * ALL : sans élimination des doublons (mode par défaut)
FROM <table1 [var1], table2 [var2] …> DISTINCT : avec élimination des doublons
3
11/12/2013
calcul : table :
soit expression sur des colonnes avec des opérateurs : • soit un nom de table (une relation),
+, -, *, /, || (concaténation de chaînes de caractères)
soit des fonctions simples sur une valeur ou agrégats sur un ensemble de valeurs • soit un nom de table préfixé du compte du propriétaire
SUM (somme), AVG (moyenne) des valeurs d‘une colonne, var :
COUNT (compte les n-uplets)
• variable (alias) attribuée à table durant la requête
soit la combinaison des expressions, fonctions simples et agrégats
(ex: MIN, MAX d‘une expression sur des colonnes)
alias :
si mentionné, alias est le nom de la colonne dans le résultat de la requête.
Le langage SQL : Str uctur e d Que r y Language 13 Le langage SQL : Str uctur e d Que r y Language 14
Le langage SQL : Str uctur e d Que r y Language 15 Le langage SQL : Str uctur e d Que r y Language 16
4
11/12/2013
Le langage SQL : Str uctur e d Que r y Language 17 Le langage SQL : Str uctur e d Que r y Language 18
5
11/12/2013
Le langage SQL : Str uctur e d Que r y Language 21 Le langage SQL : Str uctur e d Que r y Language 22
INSERT DELETE
Deux méthodes (syntaxes) L’instruction DELETE est utilisée pour retirer des lignes de
la base de données.
Insert Into Table [(A1,A2,…,An)]
Values(V1,V2,…,Vn)
Delete From Table
Insert Into Table [(A1,A2,…,An)] Where Condition
Select-Statement
Le langage SQL : Str uctur e d Que r y Language 23 Le langage SQL : Str uctur e d Que r y Language 24
6
11/12/2013
Le langage SQL : Str uctur e d Que r y Language 25 Le langage SQL : Str uctur e d Que r y Language 26
• [CONSTRAINT contrainte] UNIQUE interdit d’avoir deux lignes ayant la même valeur pour cette
colonne.
• [NOT] NULL | UNIQUE | PRIMARY KEY
PRIMARY KEY spécifie que la colonne est utilisée comme clé primaire. Même
• REFERENCES table [(colonne)] [ON DELETE CASCADE] effet que UNIQUE sauf qu’elle n’accepte pas les valeurs nulles.
|CHECK (condition)
REFERENCES définit une contrainte d’intégrité référentielle par rapport à
une clé primaire ou unique.
Le langage SQL : Str uctur e d Que r y Language 27 Le langage SQL : Str uctur e d Que r y Language 28
7
11/12/2013
Le langage SQL : Str uctur e d Que r y Language 29 Le langage SQL : Str uctur e d Que r y Language 30
Création de table
Exemple :
Création d’une table ligne de commande nommée ligne_com en définissant
les contraintes d’intégrité suivante:
Une clé étrangère sur la colonne idarticle qui se réfère à idarticle de la table article.
Deux contraintes sur la colonne qtecom. La première n’autorise pas la saisie des valeurs
nulles et la seconde contrôle que la valeur saisie doit être supérieure à 0.
Une clé primaire composée des deux colonnes numcom et nuligne.
CREATE TABLE ligne_com (
numcom NUMBER
nuligne NUMBER
idarticle NUMBER REFERENCES article (idarticle),
qtecom NUMBER NOT NULL CHECK (qtecom>0),
PRIMARY KEY (numcom, nuligne)
);
Le langage SQL : Str uctur e d Que r y Language 31