Upload
soukaina
View
213
Download
0
Embed Size (px)
Citation preview
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 1/79
Cours de Bases deDonnées
Hamid HRIMECHEST de Berrechid
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 2/79
2
Les trois dimensions d'une application
Interface
Données
SGBD
Bases de Données
Langages de programmation /
manipulation de données
Stations de travail
Traitements
1 – Introduction aux BD et aux SGBD
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 3/79
3
Classification des commandes du langage SQL
SQL
interactif intégré dynamique
LDD (DDL)
DfinitionLMD (DML)
ManipulationLCD (DCL)
Contr!le
"CRE#TE
"DR$%" #LTER
"I&SERT
"DELETE"%D#TE
Interrogation"SELECT
"(R#&T
"RE)$*E"C$&&ECT"C$MMIT"R$LLB#C*"SET
"DECL#RE
"CRS$R"+ETCH
"%RE%#RE
"DESCRIBE"E,ECTE
L= langage (language) D= Donnée (Data)
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 4/79
%rincipales commandes du SQL
Slection de champs-lignes SELECT .+R$M ./HERE .0
Suppression de lignes DELETE+R$M ./HERE .0
Mise 1 2our de donnes %D#TE .
SET ./HERE .0
Insertion de lignes I&SERTI&T$ .
)#LES 3330
Cration de ta4le CRE#TE . 5. 60
Suppression de ta4le DR$% . 0
Modification de structure #LTER .3 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 5/79
!
E7emple de ta4le 8 etud
num nom prenom date& note dep licence
9 Martin )ra :;<9=<>9 9>3; ?? @
@ Martin #nnie :;<9@<>9 9;3; ?; 9
> Dupont SAlie :><=@<=> 9;3= ?? @
Martin #nnie :><9=<@@ =;3? > 9
; Dupond Laurent @ @
LefFre Laurent 993; >
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 6/79
"
SAnta7e du SQL
Sparateur d'instructions 8 point irgule
Sparateur de mots<cls 8 espaceG ta4G fin de ligne Mots<cls du SQL non sensi4les 1 la casse
< Conention 8 mots<cls en ma2uscules &oms d'o42ets 5ta4leG champ.6 sensi4les 1 la casse
Eiter les mots rsers pour les noms d'o42ets 8< actionG asG dateG fromG isG sectionG sessionG ta4leG unionG orJG Kone.
Entourer de '.' ou . les noms d'o42ets comportant un espacee7 8 'moAenne des tudiants'
)aleurs de chanes et date entre ' ' ou dans les e7pressions
Des commentaires sont possi4les sous plusieurs formes 8-N commentaire sur plusieurs lignes N-<< espace puis commentaire sur une ligneO commentaire sur une ligne
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 7/79
#
Cration de ta4le aec CRE#TE
E7emple
CRE#TE T#BLE etud 5num I&T &SI(&ED &$T &LL %RIM#RP *EPG
nom )#RCH#R5>=6 &$T &LLG
prenom )#RCH#R5@;6 &$T &LLG
date& D#TEGnote DECIM#L5>G96 &SI(&ED ER$+ILLGdep CH#R5@6Glicence TI&PI&T596
6 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 8/79
$
Suppression de ta4le aec DR$%
SAnta7e gnrale
DR$% T#BLE nom_table 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 9/79
%
Suppression d'enregistrements 8 DELETE
SAnta7e gnrale
DELETE +R$M nom_table /HERE condition 0
Suppression de toutes les lignes de la ta4le 5< ta4le ide6
DELETE +R$M etud 0
Suppression des lignes d'tudiants de licence >DELETE +R$M etud
/HERE licence> 0 Suppression des lignes d'tudiants nomms ean Dupont
DELETE +R$M etud/HERE nom'Dupont' #&D prenom'ean' 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 10/79
&'
Insertion d'enregistrements 8 I&SERT
SAnta7e gnrale nU9
I&SERT I&T$ nomVta4le)#LES 5al9G [email protected]?6 0
E7emple de sAnta7e nU9
I&SERT I&T$ etud
)#LES 5?G'Martin'G')ra' G'9::<=9<=9'G9>3;G?;G96 0 SAnta7e gnrale nU@
I&SERT I&T$ nomVta4le 5champ>G champ@Gchamp?6
)#LES 5al>G al@G al?6 0 E7emple de sAnta7e nU@
I&SERT I&T$ etud 5licenceG nomG prenom 6
)#LES 59G 'Martin'G ')ra'6 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 11/79
&&
Mise 1 2our 8 %D#TE. SET
Changer une note 8
%D#TE etud SET note9:
/HERE num0 Changer le prnom 8
%D#TE etud SET prenom')ro'/HERE nom'Martin' #&D prenom')ra' 0 Changer le prnom et le dpartement 8
%D#TE etud SET prenom')ro'G dep&LL
/HERE num 0 #ugmenter toutes les notes de @ 8
%D#TE etud SET notenoteW@ 0
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 12/79
&2
Interroger une 4ase de donnes 8 SELECT
SELECT permet d'interroger une 4ase de donnes Le rsultat est une nouelle ta4le 5temporaire6 Slection de colonnes 5pro2ection6 dans l'ordre indiXu Slection de lignes 5restriction - slection6
Des clauses supplmentaires permettent de 8< faire des calculs sur des regroupements de lignes< trier les lignes< afficher un certain nom4re de lignes de rsultats
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 13/79
&3
QuelXues e7emples simples de SELECT
SELECT N +R$M ta4le90
$n o4tient toute la ta4le SELECT champ> +R$M ta4le90
$n o4tient uniXuement le champ> de la ta4le
SELECT champG champ>G champ9 +R$M ta4le90champ9 champ@ champ> champ champ;
.
champ champ> champ9.
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 14/79
&
SAnta7e du SELECT
SAnta7e minimale
SELECT . +R$M ta4le0 SAnta7e complFte 5respecter l'ordre des clauses6
SELECT
YDISTI&CT Z #LL [ \N Z champ YY #S[ alias[G 333 ]+R$M ta4le YY #S[ alias[G 333Y/HERE \ condition Z sous condition] [Y(R$% BP champ G 333[
YH#)I&( condition[Y$RDER BP \champ Z num]\ #SC Z DESC]G 333[
YLIMIT Yde4G[ n4[0
&
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 15/79
&!
Slection de plusieurs colonnes
&oteG nom et prnom de tous les tudiants
SELECT noteG nomG prenom
+R$M etud0 note nom prenom
9>3; Martin )ra
9;3; Martin #nnie9;3= Dupont SAlie
=;3? Martin #nnie
Dupond Laurent
993; LefFre Laurent
&"
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 16/79
&"
$prateur N 8 toutes les colonnes
Liste de toutes les colonnes de la ta4le
SELECT N +R$M etud0 IdentiXue 1 8
SELECT numG nomG prenomG dateVnG noteG depG licence +R$M etud0
num nom prenom date& note dep licence
9 Martin )ra :;<9=<>9
9>3; ?? @
@ Martin #nnie :;<9@<>9
9;3; ?; 9
> Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
; Dupond Laurent @ @
LefFre Laurent 993; >
&#
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 17/79
&#
#lias de noms de colonnes
En utilisant #S
SELECT prenom #S %rnomGnom #S '&om de famille'
+R$M etud0 Sans utiliser #S 5facultatif6
SELECT prenom %rnomGnom '&om de famille'
+R$M etud0
%rnom &om de famille
333 333
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 19/79
&%
SELECT DISTI&CT depGlicence +R$M etud0
SELECT #LL depGlicence +R$M etud0
(rer les dou4lons 8 DISTI&CT s'appliXue par ligne
dep licence
> @
?; 9
?; @?? 9
?; >
?; @
null >> @
> @
dep licence
> @
?; 9
?; @
?? 9
?; >
?; @
null >
> @
> @
2'
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 20/79
2'
Tri par ordre croissant 5ascendant6
SELECT N +R$M etud $RDER BP note0 SELECT N +R$M etud $RDER BP note #SC0
num nom prenom date& note dep licence
; Dupond Laurent @ @
Martin #nnie :><9=<@@
=;3? > 9
LefFre Laurent 993; >
9 Martin )ra :;<9=<>9
9>3; ?? @
> Dupont SAlie :><=@<=>
9;3= ?? @
@ Martin #nnie :;<9@<>9
9;3; ?; 9
2&
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 21/79
2&
Tri par ordre dcroissant
SELECT N +R$M etud $RDER BP note DESC0
num nom prenom date& note dep licence
@ Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=> 9;3= ?? @
9 Martin )ra :;<9=<>9
9>3; ?? @
LefFre Laurent 993; >
Martin #nnie :><9=<@@
=;3? > 9
; Dupond Laurent @ @
22
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 22/79
22
Tri sur colonnes multiples
SELECT N +R$M etud
$RDER BP nomG prenomG date& DESC0num nom prenom date& note dep licence
; Dupond Laurent @ @
> Dupont SAlie :><=@<=> 9;3= ?? @
LefFre Laurent 993; >
@ Martin #nnie :;<9@<>9 9;3; ?; 9
Martin #nnie :><9=<@@ =;3? > 9
9 Martin )ra :;<9=<>9 9>3; ?? @
23
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 23/79
23
Tri des lignes 8 $RDER BP
Tri numriXueG alpha4tiXue ou chronologiXue
^ SELECT N +R$M t9 $RDER BP note0
^ SELECT N +R$M t9 $RDER BP note #SC0
^ SELECT N +R$M t9 $RDER BP note DESC0
^ SELECT N +R$M t9 $RDER BP nomG prenomGnote0 ^ SELECT N +R$M t9 $RDER BP 9G @G 0
^ SELECT N +R$M t9 $RDER BP note DESCG nom0
^ SELECT nomG noteG dep +R$M t9 $RDER BP >G 90
<=>
2
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 24/79
2
Limiter le nom4re d'enregistrements affichs
SELECT N +R$M etud $RDER BP note DESC LIMIT @0
Xuialent 1 8 SELECT N +R$M etud $RDER BP note DESC LIMIT =G@ 0
nom prenom date& note dep licence
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin )ra :;<9=<>9 9>3; ?? @
LefFre Laurent 993; >
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
2!
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 25/79
2!
%rleer n ligne5s6 1 partir de la ligne i W 9
SELECT N +R$M etud LIMIT iGn 0 SELECT N +R$M etud $RDER BP note DESC LIMIT >G@ 0 Les lignes sont notes 1 partir de i= et non de i9
9
@
>
;
nom prenom date& note dep licence
Martin #nnie :;<9@<
>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin )ra :;<9=<>9
9>3; ?? @
LefFre Laurent 993; >
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
=
9
@
3
;
2
enregistrements
i rang
2"
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 26/79
2"
SELECT .3 +R$M .3/HERE .3
SELECT < slection de colonnes 5pro2ection6 /HERE < slection de lignes 5slection restriction6 E7emples 8
^ SELECT N +R$M t9 /HERE nom'Martin'0
^ SELECT N +R$M t9 /HERE note 9=0 ^ SELECT N +R$M t9 /HERE note 9= #&D dep??0
champ9 champ@ champ> champ champ;
2#
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 27/79
2#
Slection aec comparaison de aleurs
Quels sont les tudiants dont le nom est Martin _
SELECT N +R$M etud /HERE nom'Martin' 0
nom prenom date& note dep licence
Martin )ra :;<9=<
>9
9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
2$
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 28/79
2$
E7pression des aleurs constantes
Chane 8 aleur entre guillemets simples ' ' ou dou4les
Date 8 aleur entre guillemets en prsence de sparateur <sans sparateur 8 guillemets facultatifs
Echappement de l'apostrophe dans la aleur E7emples 8
&om4re333 num>333 note9>3;333 num'>'333 note'9>3;'
Chane
333 nom'Martin'333 nom'Martin'333 nomMartin333 nom'L''Hote'333 nom'L`'Hote'333 nomL'Hote
Date aec sparateur
5comme une chane6333 dateVn'9:=<9@<>9'333 dateVn'9:=-9@->9'Date sans sparateur 333 dateVn'9:=9@>9'
333 dateVn9:=9@>9
2%
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 29/79
2%
Slection aec connecteur logiXue #&D
Liste des tudiants de licence @ dont le nom est Martin
SELECT N +R$M etud/HERE nom'Martin' #&D licence @ 0
nom prenom date& note dep licence
Martin )ra :;<9=<>9 9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<
=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
3'
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 30/79
3'
Slection aec connecteur logiXue $R
Liste des tudiants de nom Dupont ou Dupond
SELECT N +R$M etud/HERE nom'Dupont' $R nom'Dupond' 0
nom prenom date& note dep licence
Martin )ra :;<9=<
>9
9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<
=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
3&
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 31/79
3&
nom prenom date& note dep licence
Martin )ra :;<9=<>9
9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<
@@
=;3? > 9
SELECT N +R$M etud
/HERE 5licence@ $R licence96 #&D 5note 9= $R note IS &LL6 0 SELECT N +R$M etud
/HERE licence@ $R licence9 #&D note 9= $R note IS &LL 0
#2out de parenthFses si 4esoin
< enregistrements
< @ enregistrements
B
B
()
32
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 32/79
Slection et aleur &ull
SELECT N +R$M etud
/HERE note 9= $R note 9= 0< Les lignes de aleurs &LL ne sont pas comptes
SELECT N +R$M etud/HERE note 9= $R note 9= $R note IS &LL 0
< pour retrouer toutes les aleursG A compris &LL
nom prenom date& note dep licence
Martin )ra :;<9=<>9 9>3; ?? @
Martin #nnie :;<9@<>9 9;3; ?; 9Dupont SAlie :><=@<=> 9;3= ?? @
Martin #nnie :><9=<@@ =;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
33
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 33/79
Ta4les de rit 1 > aleurs 5dont &LL6
E9 E@ #&D
) ) )
) + +
+ + +
) & &
+ & +
& & &
E &$T
) +
+ )
& &
E9 E@ $R
) ) )) + )
+ + +
) & )
+ & && & &
E Calcul sur E 8 W < N -& &
$prations alg4riXues aec &LL
3
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 34/79
Slection aec comparaison de colonnes Quels tudiants ont des rsultats identiXues en maths et en 4io _
SELECT N +R$M etud9
/HERE noteVm noteV4 0
nom prenom date& notem note
Martin )ra :;<9=<>9 &3*! &!*'
Martin #nnie :;<9@<>9 &!*! &'*'
Dupont SAlie :><=@<=> &!*' &!*'
Martin #nnie :><9=<@@
Dupond Laurent '2*'
LefFre Laurent &&*!
3!
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 35/79
Slection aec opration sur les colonnes Quels tudiants ont des rsultats meilleurs en maths 5W @ pts6 Xu'en 4io _
SELECT N +R$M etud9
/HERE noteVm 5noteV4 W @6 0
nom prenom date& notem note
Martin )ra :;<9=<>9 &3*! &!*'
Martin #nnie :;<9@<>9 &!*! &'*'
Dupont SAlie :><=@<=> &!*' &!*'
Martin #nnie :><9=<@@
Dupond Laurent '2*'
LefFre Laurent &&*!
3"
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 36/79
Liste de aleurs aec I&
SELECT N +R$M etud
/HERE dep I& 5??G@G>60 Xuialent 1 8 SELECT N +R$M etud
/HERE dep ?? $R dep @ $R dep >0
nom prenom date& note dep licenceMartin )ra :;<9=<
>99>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
%our les chanes de caractFresG
5'al9'G'al@'G'al>'6
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 38/79
Interalle aec BET/EE& 5nom4re6
SELECT N +R$M etud
/HERE note BET/EE& 993; #&D 9; 0 Xuialent 1 8 SELECT N +R$M etud
/HERE note 993; #&D note 9; 0
Respecter l'ordre des 4ornes 5infrieure puis suprieure6
nom prenom date& note dep licence
Martin )ra :;<9=<>9
&3*! ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
&!*' ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent &&*! >
3%
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 39/79
Interalle aec BET/EE& 5chane6
SELECT N +R$M etud
/HERE nom BET/EE& 'D' #&D 'M' 0
nom prenom date& note dep licence
Martin )ra :;<9=<
>9
&3*! ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
&!*' ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent &&*! >
'
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 40/79
Interalle aec BET/EE& 5date6
SELECT N +R$M etud
/HERE dateVn BET/EE& ':><=@<=9' #&D ':><=@<9;' 0 &e pas ou4lier les '333'
nom prenom date& note dep licence
Martin )ra :;<9=<
>9
&3*! ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
&!*' ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent &&*! >
&
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 41/79
CaractFre V pour un caractFre et un seul
+ttention L,-.
au lieu de = SELECT N +R$M etud
/HERE nom LI*E 'DuponV' 0nom prenom date& note dep licence
Martin )ra :;<9=<>9
9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
Dupontel #nne
Mattel Laurenc
2
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 42/79
CaractFre b pour =G 9 ou n caractFre5s6
+ttention L,-.
au lieu de =
SELECT N +R$M etud
/HERE nom LI*E 'Duponb' 0
nom prenom date& note dep licence
Martin )ra :;<9=<>9
9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<=>
9;3= ?? @
Martin #nnie :><9=<@@ =;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
Dupontel #nne
Mattel Laurenc
3
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 43/79
E7emples de filtres aec LI*E
./HERE prenom LI*E '#nnV' 0 < #nneG #nna mais pas #nnieG #nnette
. /HERE prenom LI*E 'Laure V V V' 0 < LaurenceG Laurette mais pas LaurentG Laure
. /HERE prenom LI*E '#nnb' 0 < #nnG #nneG #nnieG #nnette.
. /HERE prenom LI*E 'be' 0 < LaurenceG SAlieG #nneG #nnieG.
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 44/79
CaractFres oJer et aleur &ull
SELECT N +R$M etud /HERE dep LI*E 'b' 0< Les &LL ne sont pas slectionns< Les aleurs ides sont affiches
SELECT N +R$M etud /HERE dep &$T LI*E 'b' 0< Les &LL ne sont pas slectionns< Les aleurs ides ne sont pas slectionns
SELECT N +R$M etud /HERE dep IS &LL 0< Les &LL sont slectionns< Les aleurs ides ne sont pas slectionns
Ta4le de rit du &LL
&$T &LL < &LL
!
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 45/79
$prateurs
/0érateurs arit1métiques W < N - b 5M$D6
/0érateurs de com0araison
galit - non galit
supriorit - infriorit
appartenance 1 une liste de aleurs I& 5'al9'G'al@'G'al>'6
interalle de aleurs BET/EE& al9 #&D al@motif de chane LI*E b V
aleur &ull IS &LL IS &$T &LL
/0érateurs logiques
et non ou ou e7clusif ZZ ,$R
Connecteurs logiques #&D $R &$T
(estion de la priorit 5 6
CaractFre d'chappement 5aant ' b6 `
"
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 46/79
$rdre de priorit des oprateurs
&$T
< 5ngatif6
N - b M$D
W <
IS LI*E RE(E,% I&BET/EE&
#&D
$R ZZ
#
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 47/79
Concatnation 8 C$&C#T5e7p9G e7p@G e7p>6
SELECT nomG prenomG C$&C#T5nomG' 'G prenom6
+R$M etud 0
nom prenom C$&C#T5nomG' 'Gprenom6
Martin )ra Martin )ra
Martin #nnie Martin #nnieDupont SAlie Dupont SAlie
Martin #nnie Martin #nnie
Dupond Laurent Dupond Laurent
LefFre Laurent LefFre Laurent
$
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 48/79
+onction de concatnation et alias
SELECT nomG prnomG
C$&C#T5nomG ' 'G prenom6 as '&om complet'+R$M etud 0
nom prenom &om complet
Martin )ra Martin )raMartin #nnie Martin #nnie
Dupont SAlie Dupont SAlie
Martin #nnie Martin #nnie
Dupond Laurent DupondLaurent
LefFre Laurent LefFre Laurent
%
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 49/79
mise enma2uscule
E7emples aec fonction et calcul
SELECT upper5nom6G prenomG noteG noteN@ +R$M etud0
#utres e7emples de champs calculs 8 ^ SELECT salaire W prime .
^ SELECT pri7 N 93 - 9==
^ SELECT pri7 < remise
pour o4tenir unenote sur =
upper5nom6 prenom note noteN@
M#RTI& )ra 9>3; @?3=
M#RTI& #nnie 9;3; >93=
D%$&T SAlie 9;3= >=3=
M#RTI& #nnie =;3? 993
D%$&D Laurent
LE+)RE Laurent 993; @>3=
!'
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 50/79
+onctions de groupe 5d'agrgat ou d'ensem4le6
C$&T nom4re d'enregistrements
^ nom4re d'tudiants total ^ nom4re d'tudiants dont la note est connue
SM somme
^ somme des pri7 dans une facture
M#, ma7imum ^ liste des tudiants Xui ont la meilleure note MI& minimum
^ liste des tudiants Xui ont la note la plus 4asse #)( moAenne 5aerage6 pour des nom4res
^ moAenne des notes de licence 9
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 52/79
#lias pour les noms de champs 8 #S
SELECT C$&T5N6
+R$M etud 0 SELECT C$&T5N6 #S '&4 d`'tudiants'
+R$M etud 0
< s'il A a des espacesG entourer de '.' ou . SELECT dep #S DpartementG
nom #S &omGprenom #S %rnom
+R$M etud0 #S est facultatif 5selon les implmentations6
SELECT dep DpartementG
nom &omGprenom %rnom
+R$M etud0
C$&T5N6
&4 d'tudiants
Dpartement &om %rnom. . .3
!3
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 53/79
SELECT #)(5note6 +R$M etud 0
^ MoAenne des notes 5non &LL6 SELECT MI&5note6G #)(5note6G M#,5note6 +R$M etud 0
Incorrect 8 SELECT nomG MI&5note6 +R$M etud 0
^ nomG note des tudiants aAant la note la plus 4asse
^ pas de mlange entre #grgat et Champ
Erreur d'utilisation des fonctions d'agrgation
#)(5note6
9@3@
MI&5note6 #)(5note6 M#,5note6
;3? 9@3@ 9;3;
!
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 54/79
(roupements de donnes 8 (R$% BP
SELECT depG count5N6 +R$M etud(R$% BP dep 0
dep count5N6
null 9
?; 9
?? @
@ 9> 9
%our la lisi4ilit de la rponse
nom prenom dateVn note dep licence
LefFre Laurent 993; >Martin #nnie :;<9@<
>99;3; ?; 9
Martin )ra :;<9=<>9
9>3; ?? @
Dupont SAlie :><=@<=>
9;3= ?? @
Dupond Laurent @ @
Martin #nnie :><9=<
@@
=;3? > 9
nom prenom dateVn note dep licence
Martin )ra :;<9=<>9 9>3; ?? @
Martin #nnie :;<9@<>9
9;3; ?; 9
Dupont SAlie :><=@<
=>
9;3= ?? @
Martin #nnie :><9=<@@
=;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
!!
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 55/79
(roupements de donnes 8 e7ercices
%ar anne de licenceG prsenter par moAenne croissanteG
le nom4re d'tudiants inscritsG la moAenneG le minG le ma73 SELECT licenceGC$&T5N6 #S &4G
#)(5note6 #S MoAenneG MI&5note6 #S MinG
M#,5note6 #S Ma7+R$M etud (R$% BP licence $RDER BP MoAenne 0
licence &4 MoAenne Min Ma7
9 @ 9=3==== =;3? 9;3;
> 9 993;==== 993; 993;@ > 93@;=== 9>3; 9;3=
notsG
@
C$&T5note6
!"
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 56/79
Erreur d'utilisation du (R$% BP
SELECT nomG prenom +R$M etud (R$% BP dep0 SELECT +R$M etud (R$% BP dep0
nom prenom dateVn note dep licence
Martin )ra :;<9=<>9 9>3; ?? @
Martin #nnie :;<9@<>9 9;3; ?; 9
Dupont SAlie :><=@<=> 9;3= ?? @
Martin #nnie :><9=<@@ =;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
!#
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 57/79
Condition sur le regroupement 8 H#)I&(
Ressem4le au /HERE mais appliXu au regroupement Dpartements o rsident plus de @= tudiants SELECT depG count5num6
+R$M etud(R$% BP dep
H#)I&( count5num6 @=
S'il A a une clause /HEREG elle sera appliXue aant lecalcul d'agrgat3
dep count5num6
?; ;==
? 9=?? 9@
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 59/79
QuelXues fonctions
R$&D5n4Gn6 < arrondi 1 n dcimales
^ R$&D5@39G 96 @3@ ^ R$&D5@39G =6 R$&D5@396 @
R#&D5n46 < n4 alatoire de = 1 9 5plafonn 1 =Gn6 %%ER5col6 C#SE5col6 < chane en ma2uscule L$/ER5col6 LC#SE5col6 < chane en minuscule C$&C#[email protected] < concatnation LE&(TH5col6 < &4 de caractFres
SBSTRI&(5colGnGp 6 < sous<chane 5du nFmeG Lgp6
"&
R ti d d t -t
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 60/79
Rcupration de date-temps
CRRE&TVD#TE CRRE&TVD#TE56 CRD#TE56 < ####<MM<
CRRE&TVTIME CRRE&TVTIME56 CRTIME56 < HH<MM<SS &$/56 < ####<MM< HH<MM<SS PE#R5date6 < anne 5 chiffres6 M$&TH5date6 < mois 5chiffre6 D#P$+M$&TH56 < @ 5nFme 2our du mois6
D#P$+PE#R56 < >9= 5nFme 2our de l'anne6 E,TR#CT5e7p +R$M date6 < e7pmonthG Aear. D#TEV+$RM#T5dateG format6 < date aec formatage demand T$VD#PS5date6 < n4 2ours couls entre date et an = +R$MVD#PS5n46 < inerse de ToVD#PS56G retourne la date
&I,VTIMEST#M%5date6 < n4 2ours couls entre date et 9?=<=9<=9
"2
M tif d f t D#TE +$RM#T5d t 'f t'6
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 61/79
Motifs de format pour D#TEV+$RM#T5dateG'format'6
bA an 5@ chiffres6 8 ? bP an 5 chiffres6 8 9?
bm mois 5=9 1 9@6 8 =b4 mois 5court6 8 #pr bM mois 5long6 8 #pril
bd 2our 5=9 1 >96 8 =: be 2our 59 1 >96 8 : ba 2our 5court6 8 Sat b/ 2our 5long6 8 SaturdaA
b 2our de semaine 5Di=G Lu6 b2 &U 2our 59 1 >;6 b semaine de l'anne 5d4utdi6 bu idem 5d4utlu6 br heure 59@h6 8 998;8>= %M bT heure 5@h6 8 @>8;8>= bI heure 59@h6 8 99 bH heure 5@h6 8 @>
bp #M ou %M bi minutes 5@ chiffres6 8 ;9 bS secondes 5@ chiffres6 8 ;>
"3
Copie totale-partielle de ta4le aec CRE#TE
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 62/79
Copie totale-partielle de ta4le aec CRE#TE
SAnta7e gnrale
CRE#TE T#BLE ta4le@ #S reXute 0
Copie de la ta4le des tudiants de licence
CRE#TE T#BLE etudVcopie #S SELECT N +R$M etud 0
Copie partielle de ta4le 8 uniXuement les tudiants de licence 9
CRE#TE T#BLE etudVlic9
#S SELECT nomG prenomG dateVnG note +R$M etud/HERE licence9 0
"
& t ti i t d h
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 63/79
&otation pointe des champs
Les champs peuent tre prfi7s pour le nom de la ta4le ou de son alias
^ SELECT etud3nom +R$M etud /HERE etud3note9= 0 ^ SELECT e3nom +R$M etud e /HERE e3note9= 0
&otation o4ligatoire Xuand les noms sont identiXues
^ dans les champ de 2ointure
SELECT N +R$M etudG departement/HERE etud3depdepartement3dep 0
^ dans les champs 1 afficher
SELECT nomG etud3dep +R$M etudG departement/HERE etud3depdepartement3dep 0
^dans une auto<2ointureSELECT N +R$M etud e9G etud e@
/HERE e93nume@34inome 0
"!
E l d BD 1 t 4l lti l
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 64/79
E7emple de BD 1 ta4les multiples
etud
departement
depVnum depVnom
=9 #in
. 333
?; %aris. .
?? Seine<et<Marne
@ Hauts<de<Seine
> Seine<Saint<Denis
nom prenom dateVn note dep licence
Martin )ra :;<9=<>9 9>3; ?? @
Martin #nnie :;<9@<>9 9;3; ?; 9
Dupont SAlie :><=@<=> 9;3= ?? @
Martin #nnie :><9=<@@ =;3? > 9
Dupond Laurent @ @
LefFre Laurent 993; >
""
i t d t 4l /HERE 5SQL96
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 65/79
ointure de ta4le aec /HERE 5SQL96
SELECT N +R$M etudG departement/HERE depdepVnum 0
SELECT N +R$M etudG departement/HERE etud3depdepartement3depVnum 0
SELECT N +R$M etud eG departement d/HERE e3depd3depVnum 0
nom prenom date& note dep licence depVnum depVnomMartin )ra :;<9=<>9 9>3; ?? @ ?? Seine<et<Marne
Martin #nnie :;<9@<>9 9;3; ?; 9 ?; %aris
Dupont SAlie :><=@<=> 9;3= ?? @ ?? Seine<et<Marne
Martin #nnie :><9=<@@ =;3? > 9 > Seine<Saint<Denis
Dupond Laurent @ @ @ Hauts<de<Seine
LefFre Laurent null 993; null > null null
null null null null null null =9 #in
etud departement
&e pas ou4lier la clause /HERE
#ttention au7&LL
"#
% d it t i d t 4l 4 i t t
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 66/79
%roduit cartsien de ta4le
SELECT N +R$M etudG departement 0
nom prenom date& note dep licence depVnum depVnomMartin )ra :;<9=<>9 9>3; ?? @ =9 #in
Martin #nnie :;<9@<>9 9;3; ?; 9 =9 #in
Dupont SAlie :><=@<=> 9;3= ?? @ =9 #in
Martin #nnie :><9=<@@ =;3? > 9 =9 #in
Dupond Laurent @ @ =9 #inLefFre Laurent 993; > =9 #in
3333 3333 333 333 33 333 333 333
Martin )ra :;<9=<>9 9>3; ?? @ ?? Seine<et<Marne
Martin #nnie :;<9@<>9 9;3; ?; 9 ?? Seine<et<Marne
Dupont SAlie :><=@<=> 9;3= ?? @ ?? Seine<et<Marne
Martin #nnie :><9=<@@ =;3? > 9 ?? Seine<et<Marne
Dupond Laurent @ @ ?? Seine<et<Marne
LefFre Laurent 993; > ?? Seine<et<Marne
3333 3333 333 333 33 333 333 333
n4 enregistrements tudiants 7
n dpartements
"$
oint re a ec $I& 5SQL@6
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 67/79
ointure aec $I& 5SQL@6
%roduit cartsien ^ SELECT N +R$M etudG departement 0 ^ SELECT N +R$M etud CR$SS $I& departement 0 ^ SELECT N +R$M etud $I& departement 0
ointure ^ SELECT N
+R$M etudG departement/HERE depdepVnum 0
^ SELECT N+R$M etud$I& departement$& depdepVnum 0
ointure aec restriction ^ SELECT N +R$M etudG departement
/HERE depdepVnum #&D note 9= 0
^ SELECT N +R$M etud $I& departement$& depdepVnum/HERE note 9= 0
< SELECT N +R$M t9G t@G t> /HERE t93at@3a #&D
t@34t>340< SELECT N +R$M t9
$I& t@$& t93at@3a
$I& t>$& t@34t>340
"%
ointure de ta4le et slection d'enregistrement
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 68/79
ointure de ta4le et slection d'enregistrement
SELECT N +R$M etudG departement/HERE depdepVnum
#&D 5dep?? or dep?;6 #&D licence@ 0
nom prenom date& note dep licence depVnum depVnom
Martin )ra :;<9=<>9 9>3; ?? @ ?? Seine<et<Marne
Martin #nnie :;<9@<>9 9;3; ?; 9 ?; %aris
Dupont SAlie :><=@<=> 9;3= ?? @ ?? Seine<et<Marne
Martin #nnie :><9=<@@ =;3? > 9 > Seine<Saint<Denis
Dupond Laurent @ @ @ Hauts<de<Seine
LefFre Laurent 993; >
&e pas ou4lier laclause /HERE
de 2ointure
etud departement
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 69/79
#&
ointure e7terne 5+LL Z LE+T Z RI(HT $TER $I& $& 6
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 70/79
ointure e7terne 5+LL Z LE+T Z RI(HT $TER $I& .$&.6
SELECT N +R$M etud LE+T $TER $I& departement$& depdepVnum 0
par dfautG une 2ointure est une 2ointure interne 5I&&ER $I&6
nom prenom date& note dep licence depVnum depVnom
Martin )ra :;<9=<>9 9>3; ?? @ ?? Seine<et<Marne
Martin #nnie :;<9@<>9 9;3; ?; 9 ?; %aris
Dupont SAlie :><=@<=> 9;3= ?? @ ?? Seine<et<Marne
Martin #nnie :><9=<@@ =;3? > 9 > Seine<Saint<Denis
Dupond Laurent null null @ @ @ Hauts<de<Seine
LefFre Laurent null 993; null > null null
null null null null null null =9 #rdFche
etud departement
#2
ointure e7terne droite 5RI(HT $TER $I& $& 6
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 71/79
ointure e7terne droite 5RI(HT $TER $I& .$&.6
SELECT N +R$M etud RI(HT $TER $I& departement$& depdepVnum 0
nom prenom date& note dep licence
depVnum depVnom
Martin )ra :;<9=<>9 9>3; ?? @ ?? Seine<et<Marne
Martin #nnie :;<9@<>9 9;3; ?; 9 ?; %aris
Dupont SAlie :><=@<=> 9;3= ?? @ ?? Seine<et<Marne
Martin #nnie :><9=<@@ =;3? > 9 > Seine<Saint<Denis
Dupond Laurent null null @ @ @ Hauts<de<Seine
null null null null null null =? #in
null null null null null null =? #rdFche
LefFre Laurent null 993; null > null null
etud departement
#3
ointure e7terne et fonction d'agrgat
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 72/79
ointure e7terne et fonction d agrgat
SELECT depVnumG count5nom6
+R$M etudRI(HT $TER $I& departement$& depdepVnum(R$% BP depVnum 0
SELECT depVnumG count5nom6+R$M etudG departement
/HERE depdepVnum(R$% BP depVnum 0
dep count5N6
=9 =
=? =
?; 9
?? @
@ 9
> 9
dep count5N6
=9 =
=? =
?; 9?? @
@ 9
> 9
#
#uto 2ointure de ta4le
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 73/79
#uto<2ointure de ta4le
ointure de la ta4le sur elle<mme tilisation de @ alias pour la mme ta4le SELECT N +R$M etud e9G etud e@
/HERE e93nume@34inome 0
num nom prenom 4inome
9 Martin )ra @
@ Martin #nnie 9
> Dupont SAlie
Martin #nnie >
; Dupond Laurent
LefFre Laurent ;
num nom prenom 4inome
@ Martin #nnie 9
9 Martin )ra @
Martin #nnie >
> Dupont SAlie
LefFre Laurent ;
; Dupond Laurent
e9 e@
#!
#uto 2ointure de ta4le
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 74/79
#uto<2ointure de ta4le
Etudiants dont la note est infrieure 1 la note de l'tudiant nU SELECT e93N
+R$M etud e9G etud e@/HERE e93note e@3note #&D e@3num 0
num nom prenom &ote
9 Martin )ra 9>3;
@ Martin #nnie 9;3;
> Dupont SAlie 9;3=
Martin #nnie =;3?
; Dupond Laurent null
LefFre Laurent 9>3;
num nom prenom 4inome
@ Martin #nnie 9;3;
9 Martin )ra 9>3;
> Dupont SAlie 9;3=
Martin #nnie =;3?
; Dupond Laurent null
LefFre Laurent 9>3;
e9 e@
#"
EXui 2ointure et thta 2ointure
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 75/79
EXui<2ointure et thta<2ointure
EXui<2ointure
Thta<2ointure
SELECT N +R$M salarie s $I& responsa4le r
$& s3salaire r3salaire
#$
Commande #LTER 8 modification de structure
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 76/79
Commande #LTER 8 modification de structure
#LTER T#BLE mata4le
DR$% nomchamp90 #LTER T#BLE mata4le
#DD nomchamp9 )#RCH#R59=6 #LTER T#BLE mata4le9
#DD +$REI(& *EP 5nomchamp96 RE+ERE&CESmata4le@ 5nomchamp@60
#LTER T#BLE mata4le9M$DI+P nomchamp )#RCH#R5@=6
#LTER T#BLE mata4le9CH#&(E oldnomchamp nenomchamp )#RCH#R5@=6
$!
Les contraintes
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 77/79
Les contraintes
%rsence de aleur 8 &$T &LL
Contrainte de aleur 8 %RIM#RP *EP %rsence de aleur 8 %RIM#RP *EP nicit de aleur 8 &IQE Contrainte de aleur 8 CHEC* BET/EE& = #&D @= Intgrit rfrentielle 8 +$REI(& *EP . RE+ERE&CES .
$"
Les contraintes
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 78/79
Les contraintes
)aleur o4ligatoire 8 &$T &LL
nicit de aleur 8 &IQE Cl primaire 5unicit W not null6 8 %RIM#RP *EP %rsence de aleur 8 %RIM#RP *EP Contrainte de domaine 8 CHEC* 5note 4eteen = #&D @=6 Intgrit rfrentielle 8 +$REI(& *EP . RE+ERE&CES .
Les triggers 5dclencheursG gachettes6$& DELETE$& %D#TE
aec leurs actions 8C#SC#DESET DE+#LTSET &LLRESTRICT
$#
Les contraintes 8 e7emple de SQL
8/18/2019 BDD 1 HRIMACH-SQL.ppt
http://slidepdf.com/reader/full/bdd-1-hrimach-sqlppt 79/79
Les contraintes 8 e7emple de SQL
Mthode 9CRE#TE T#BLE etudiant 5
num I&T %RIM#RP *EPGlogin )#RCH#R59;6 &IQEGnom )#RCH#R59;6 &$T &LLGcodeDep CH#R5>6Gnote I&T CHEC* 5note BET/EE& = #&D @=6G
+$REI(& *EP codeDep RE+ERE&CES departement5numDep6$& %D#TE C#SC#DE 60
Mthode @CRE#TE T#BLE etudiant 5
num I&TG
.G%RIM#RP *EP 5num60
Mthode > 8 on peut a2outer la contrainte en la nommantC$&STR#I&T chJV&ote CHEC* 5note 4eteen = #&D @=6