415-INF240Cours3-2013

Embed Size (px)

Citation preview

  • 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