79
Cours de Bases de Données Hamid HRIMECH EST de Berrechid

BDD 1 HRIMACH-SQL.ppt

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 18/79

&%

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 37/79

3$

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 51/79

!2

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 58/79

!%

Q f

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