Post on 26-Feb-2018
7/25/2019 415-INF240Cours3-2013
1/43
DUT SRC IUT de Marne-la-Valle
24/04/2013
INF240 Bases de donnes
Cours 3
Le langage SQL
P!l!""e #a$%e&&e
7/25/2019 415-INF240Cours3-2013
2/43
' Co(rs de Ton) #randa$e * l+IUT de Marne-la-Valle en 2010-2011
' Co(rs de Ma&!e( Man,eo& IUT de Sa.o!e
&&"//!%!!(n!.-sa.o!er/$an,eo&/Co(rs/BasesDeDonnees"d
' Co(rs de Fa%r!5e Me(6ere& IUT de Tro)es
&&"//1789312988/$e(6ere&/.ra5/
' :!.re de :a(ren& ;(d!%er& Bases de donnes - de la modlisation au SQL
Vers!on "ar&!elle s(r
&&"//la(ren&-a(d!%er&de.elo""e65o$/Co(rs-BD/&$l/!nde
7/25/2019 415-INF240Cours3-2013
3/43
' Rs($ des "!sodes "r5den&s
' In&rod(5&!on a( lan,a,e S=:
' :an,a,e de d!n!&!on des donnes
' In&er$>de s(r P?P
' :an,a,e de $an!"(la&!on des donnes
' S=: a.an5 les o!n&(res
' S=: a.an5 les ,ro("e$en&s
' S=: a.an5 les &ransa5&!ons
Plan du cours 3 Le langage SQL
D%(& des TP @
7/25/2019 415-INF240Cours3-2013
4/43
' Rs($ des "!sodes "r5den&s
' In&rod(5&!on a( lan,a,e S=:
' :an,a,e de d!n!&!on des donnes
' In&er$>de s(r P?P
' :an,a,e de $an!"(la&!on des donnes
' S=: a.an5 les o!n&(res
' S=: a.an5 les ,ro("e$en&s
' S=: a.an5 les &ransa5&!ons
Plan
7/25/2019 415-INF240Cours3-2013
5/43
Modle physique des donnes
Mod>le ")s!A(e des donnes
Mod>le lo,!A(e des donnes
Mod>le en&!&-asso5!a&!on$od>le 5on5e"&(el des donnes
7/25/2019 415-INF240Cours3-2013
6/43
Transformation vers le modle logique des donnes
Modle entit association
Transor$a&!on a(&o$a&!A(e e
7/25/2019 415-INF240Cours3-2013
7/43
Transformation vers le modle logique des donnes
Modle entit association
Transor$a&!on a(&o$a&!A(e e
7/25/2019 415-INF240Cours3-2013
8/43
' Rs($ des "!sodes "r5den&s
' In&rod(5&!on a( lan,a,e S=:
' :an,a,e de d!n!&!on des donnes
' In&er$>de s(r P?P
' :an,a,e de $an!"(la&!on des donnes
' S=: a.an5 les o!n&(res
' S=: a.an5 les ,ro("e$en&s
' S=: a.an5 les &ransa5&!ons
Plan
7/25/2019 415-INF240Cours3-2013
9/43
SQL
S&r(5&(red =(er) :an,(a,e
:an,a,e s&andard!s "o(r ee5&(er des o"ra&!ons s(r des %ases de donnes
L langage de dfinition de donnes "o(r ,rer les s&r(5&(res de la %ase
LM langage de manipulation de donnes"o(r !n&era,!r a.e5 les donnes
;&&en&!on 5er&a!nes s)n&a$e de %ase dedonnes (&!l!s
!ntroduction au langage SQL
&&"//de.$)sAl5o$/do5/re$an/80/r/
7/25/2019 415-INF240Cours3-2013
10/43
SQL
S&r(5&(red =(er) :an,(a,e A(er)J K reA(L&eJ
:an,a,e s&andard!s "o(r ee5&(er des o"ra&!ons s(r des %ases de donnes
L langage de dfinition de donnes "o(r ,rer les s&r(5&(res de la %ase
LM langage de manipulation de donnes"o(r !n&era,!r a.e5 les donnes
;&&en&!on 5er&a!nes s)n&a$e de %ase dedonnes (&!l!s
requ"te !ns&r(5&!on de$andan& (ne a5&!on s(r la %ase de donnes
Alternative au langage SQL : clic-clic-pot-pot avec PhpMyAdmin
!ntroduction au langage SQL
&&"//de.$)sAl5o$/do5/re$an/80/r/
7/25/2019 415-INF240Cours3-2013
11/43
' Rs($ des "!sodes "r5den&s
' In&rod(5&!on a( lan,a,e S=:
' :an,a,e de d!n!&!on des donnes
' In&er$>de s(r P?P
' :an,a,e de $an!"(la&!on des donnes
' S=: a.an5 les o!n&(res
' S=: a.an5 les ,ro("e$en&s
' S=: a.an5 les &ransa5&!ons
Plan
7/25/2019 415-INF240Cours3-2013
12/43
#ases
Une %ase re,ro("e &o(&es les donnes n5essa!res "o(r (n %eso!n on5&!onnel"r5!s une application$une %ase de donnes
Poss!%le de 5rer a(&an& de %ases de donnes A(e n5essa!res !n&era5&!onen&re les %ases de donnes "oss!%le $a!s alo(rd!& la s)n&a
7/25/2019 415-INF240Cours3-2013
13/43
#ases
Une %ase re,ro("e &o(&es les donnes n5essa!res "o(r (n %eso!n on5&!onnel"r5!s une application$une %ase de donnes
Poss!%le de 5rer a(&an& de %ases de donnes A(e n5essa!res !n&era5&!onen&re les %ases de donnes "oss!%le $a!s alo(rd!& la s)n&a
7/25/2019 415-INF240Cours3-2013
14/43
#ases
Une %ase re,ro("e &o(&es les donnes n5essa!res "o(r (n %eso!n on5&!onnel"r5!s une application$une %ase de donnes
Poss!%le de 5rer a(&an& de %ases de donnes A(e n5essa!res !n&era5&!onen&re les %ases de donnes "oss!%le $a!s alo(rd!& la s)n&a
7/25/2019 415-INF240Cours3-2013
15/43
Ta%les
Ra""el Une &a%le 5orres"ond * (ne en&!&
Une %ase de donnes 5on&!en& (ne o( "l(s!e(rs &a%les
&ration d'une ta%le (
CREATE [TE+(ORAR,] TAB!E [IF NOT EXISTS] tb#_name[-create_definition)***.] [tab#e_options]
1 create_definitionre"rsen&e la l!s&e des 5a$"s a.e5 le(r &)"e e&le(rs .en&(elles o"&!ons
2 tab#e_option"er$e& de "r5!ser no&a$$en& le s)s&>$e d+en5oda,edes 5ara5&>res e& le $o&e(r de la &a%le EN/INE
Langage de dfinition des donnes
7/25/2019 415-INF240Cours3-2013
16/43
SQL
S&r(5&(red =(er) :an,(a,e A(er)J K reA(L&eJ
:an,a,e s&andard!s "o(r ee5&(er des o"ra&!ons s(r des %ases de donnes
L langage de dfinition de donnes "o(r ,rer les s&r(5&(res de la %ase
LM langage de manipulation de donnes"o(r !n&era,!r a.e5 les donnes
;&&en&!on 5er&a!nes s)n&a$e de %ase dedonnes (&!l!s
requ"te !ns&r(5&!on de$andan& (ne a5&!on s(r la %ase de donnes
Alternative au langage SQL : clic-clic-pot-pot avec PhpMyAdmin
!ntroduction au langage SQL
&&"//de.$)sAl5o$/do5/re$an/80/r/
7/25/2019 415-INF240Cours3-2013
17/43
&ration d'une ta%le avec PhpMy)dmin
&&"//de.$)sAl5o$/do5/re$an/80/r/
7/25/2019 415-INF240Cours3-2013
18/43
&ration d'une ta%le avec PhpMy)dmin
&&"//de.$)sAl5o$/do5/re$an/80/r/
7/25/2019 415-INF240Cours3-2013
19/43
&ration d'une ta%le avec PhpMy)dmin
&&"//de.$)sAl5o$/do5/re$an/80/r/
d df d d
7/25/2019 415-INF240Cours3-2013
20/43
Ta%les
Ra""el Une &a%le 5orres"ond * (ne en&!&
Une %ase de donnes 5on&!en& (ne o( "l(s!e(rs &a%les
&ration d'une ta%le (
1 :a l!s&e des 5a$"s do!& L&re "r5!se co#_name t0pe [NOT N!! 1 N!!] [DEFA!Tdefa2#t_3a#2e] [ATO_INCRE+ENT] [[(RI+AR,] 4E,][reference_definition]
Se(ls le no$ es& le &)"e son& o%l!,a&o!res
Par da(& (n 5a$" es& d!n! en N!!
:es 5a$"s son& s"ars "ar des .!r,(les
Langage de dfinition des donnes
d dfi i i d d
7/25/2019 415-INF240Cours3-2013
21/43
Ta%les
Ra""el Une &a%le 5orres"ond * (ne en&!&
Une %ase de donnes 5on&!en& (ne o( "l(s!e(rs &a%les
&ration d'une ta%le (
1 :+o"&!on ATO_INCRE+ENT"er$e& de 5on!er la ,es&!on d( 5a$" "ar le$o&e(r de %ase de donnes
; 5aA(e !nser&!on dans la &a%le la .ale(r d( 5a$" sera a(&o$a&!A(e$en&!n5r$en&e
Ce&&e o"&!on n+es& "oss!%le A(e s(r des 5a$"s de &)"e en&!er
:e &)"e SERIA!es& (n ra55o(r5! "o(r d!n!r (n 5a$"s NSI/NEDBI/INT ATO_INCRE+ENT NI5E
Langage de dfinition des donnes
L d dfi i i d d
7/25/2019 415-INF240Cours3-2013
22/43
Ta%les
Ra""el Une &a%le 5orres"ond * (ne en&!&
Une %ase de donnes 5on&!en& (ne o( "l(s!e(rs &a%les
&ration d'une ta%le (
2 :es o"&!ons a5(l&a&!.es de la &a%les "er$e&&en& de "r5!ser en o(&re
le $o&e(r de la &a%le
- M)Isa$ "ar da(&
- InnoD% ,>re les &ransa5&!ons
- Me$or) 5ar,e en $$o!re
:e s)s&>$e d+en5oda,e de 5ara5&>res "ar da(& #atin$_s%edis&_ci5orres"ondan& * IS-9987
Langage de dfinition des donnes
L d dfi i i d d
7/25/2019 415-INF240Cours3-2013
23/43
Ta%les
Ra""el Une &a%le 5orres"ond * (ne en&!&
Une %ase de donnes 5on&!en& (ne o( "l(s!e(rs &a%les
*+emples de cration d'une ta%le
CREATE TAB!E IF NOT EXISTS Coord -Id int-$$. NOT N!!a2to_increment) Name 3arc&ar-677. co##ate#atin$_8enera#_ci NOT N!!) T0pe 3arc&ar-677. co##ate#atin$_8enera#_ci NOT N!!) Coord 3arc&ar-677.co##ate #atin$_8enera#_ci NOT N!!) r# 3arc&ar-677.co##ate #atin$_8enera#_ci NOT N!!) (RI+AR, 4E,
-Id.. EN/INE9+0ISA+ DEFA!T C"ARSET9#atin$CO!!ATE9#atin$_8enera#_ci ATO_INCRE+ENT96:$ '
Langage de dfinition des donnes
L d dfi iti d d
7/25/2019 415-INF240Cours3-2013
24/43
!nde+
Un !nde< "er$e& a( $o&e(r d+accder rapidement , la donne recherche
S! .o(s re5er5e6 (n 5a$" a)an& (ne .ale(r donne e& A(+!l n+) a "as d+!nde