SQL

41
SQL

Transcript of SQL

Page 1: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 1/41

SQL

Page 2: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 2/41

CNAM Versailles 2

• SQL est dérivé de l'algèbre relationnelle etde SEQUEL du prototype de S!"relationnel S#S$EM%& ()*(+, 

• -l a été intégré . SQL%"S/ "!2/ puis0&ACLE/ -N&ES/ 1

• -l eiste trois versions nor3alisées -S0,/ dusi3ple au 4o3plee 5

 – SQL6 7+ version 3ini3ale – SQL6 78 addendu3 intégrité,

 – SQL2 82, langage 4o3plet . 9 niveau

 – SQL9 875 les évolutions ob:ets

Le langage SQL

Page 3: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 3/41

CNAM Versailles 9

• 0pérations de base – re4;er4;e/ insertion/ 3ise . :our/

suppression

 

Manipulation de données au <or3atrelationnel LM",

• Un langage de 3anipulation – non pro4édural

 – e3prunté . l'algèbre relationnelle et au4al4ul relationnel de tuples

• ob:ets 3anipulables 5identi=4ateurs/ tables/ 4olonnes>

Le langage SQL

Page 4: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 4/41

CNAM Versailles )

•  SQL est un langage . di3ension triple 5 – le DDL "ata "e=nition Language, 5 4o33andes de

SQL per3ettant de 4réer/ 3odi=er ou e?a4er ladé=nition s4;é3a, d'une !" ou d'une table>

 – le DML "ata Manipulation Language, 5interrogation et 3odi=4ation de l'in<or3ation4ontenue dans les tables

 – le DCL "ata Control Language, 5 sé4urité et

4on=dentialité de la !"> 

• 3ais il per3et aussi – La spé4i=4ation de 3odules appelables @ro4édures,

 – L'intégration au langages de progra33ationCurseurs,

Le langage SQL

Page 5: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 5/41

CNAM Versailles

• Langage de "é=nitions de "onnées "ata "e=nitionLanguage, – C&EA$E $A!LE

 – C&EA$E V-EB

•  Langage de Manipulation de "onnées "ataManipulation Language, – SELEC$/ -NSE&$/ U@"A$E/ "ELE$E/ 0@EN/ E$CD/ CL0SE

• Langage de 4ontrle de données "ata ControlLanguage, – &AN$ et &EV0FE

 – !E-N et EN" $&ANSAC$-0N

 – C0MM-$ et &0LL!ACF 

Le langage SQL

Page 6: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 6/41

CNAM Versailles +

• Les 4ontraintes d'intégrité – Sur les 4olonnes 5

• N0$ NULL 5 <or4e la saisie de la 4olonne

• "EAUL$ 5 pré4ise une valeur par dé<aut

• UN-QUE 5 véri=e Gue toutes les valeurs sont di?érentes• CDECF 5 véri=e la 4ondition pré4isée

• C0NS$&A-N$ 5 per3et de no33er une 4ontrainte

 – Sur la table globale3ent 5• C0NS$&A-N$ no3H4ontrainte

• @&-MA&# FE# 4ol6/14oln,• 0&E-N FE# l4ol6/14oln, &EE&ENCES table4ol6/1>4oln,

4lé étrangère IJ intégrité ré<érentielle

Langage de Défnition de Données

Page 7: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 7/41

CNAM Versailles (

• Ee3ple 5

CREATE TABLE Station

(nomStation VARCHAR2 (30),

capacite  NUMBER (10) NOT NULL,

lieu  VARCHAR2(30) NOT NULL,

region  VARCHAR2 (30), 

tarif NUMBER (10,2) DEFAULT 0,

CONSTRAINT cle_station PRIMARY KEY (nomStation),

CONSTRAINT cle_lieu_region UNIQUE (lieu, region),

CONSTRAINT nom_region

CHECK  (region IN ('Océan Indien', 'Antilles', 'Europe',

'Amériques', 'Etr!me Orient')) )"

Langage de Défnition deDonnées

Page 8: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 8/41

CNAM Versailles 7

• CREATE TABLE #ole

(Id#ole  VARCHAR2 ($),

%om_role  VARCHAR2(30),

Id&ilm  VARCHAR2 ($),PRIMARY KEY (Idrole),

FOREIGN KEY (Id&ilm) REFERENCES &ilm)"

•  Suppression d ’une table – DROP TABLE nom de la tale

Langage de Défnition de Données

Page 9: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 9/41

CNAM Versailles 8

•  Modi=4ation d'une table – A:out d'une ou plusieurs 4olonnes 5

ALTER TABLE no3Htable

ADDno3H4ol6 $#@E6/

no3H4ol2 $#@E2/>>>,K

option 5 BEFORE no3H4olHbe<ore

• Ee3ple 5 0n ai3erait 4onnatre le télép;onedes étudiants

ALTER TABLE Etudiant

ADD$élép;one NUM!E&6O/O,

BEFORE N"ep,K 

Langage de Défnition deDonnées

Page 10: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 10/41

CNAM Versailles 6O

• Suppression d'une 4olonne 5ALTER TABLE no3Htable

DROP no3H4olK• Attention au problè3es d'intégrité P

•Modi=4ation dune table 5

 

ALTER TABLE no3Htable

MODIFY no3H4ol6 $#@E6/

no3H4ol2 $#@E2/

>>>,K

• Ee3ple 5 Un no3 peut dépasser 2O 4ara4tèresALTER TABLE Etudiant

MODIFY No3 C;ar2,,K

Langage de Défnition deDonnées

Page 11: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 11/41

CNAM Versailles 66

• Les vues  – Une vue est une dé=nition logiGue/ sans sto4Ragede données> Seule la dé=nition est sto4Rée>

 – La 4réation de vue i3plante le 4on4ept de vue

eterne V-EB, par rapport au s4;é3a 4on4eptuelles $A!LEs, 5• CREATE VIEW nomvue !"nom#o$%& nom#o$'&(()* 

A+ +ELECT (((, !-it. #.e#/ o0tion* 

 – Usage 5 la vue est une table virtuelle  – "estru4tion 5 "&0@ V-EB no3Hvue

 – -nsertion % Modi=4ation % Suppression 5 pastou:ours possible

Langage de Défnition deDonnées

Page 12: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 12/41

CNAM Versailles 62

• 1estion des d2oits• E3PRE++IO4 DE+ DROIT+ E4 +5L 

• Attribution des droits

• &évo4ation des droits "+5L') 

• $rans3ission des droits• "roits gérés par SQL

 – droits de 3anipulation des relations de base et desvues

 – 1RA4T "&0-$ O4 no3Htable T no3Hvue TO no3Hutilisateur WIT6 1RA4T OPTIO4 K

 – REVO7E PRIVILE1E O4 no3Htable T no3Hvue FROM no3Hutilisateur,

• Les droits a44ordés sont sele4t/ update/ insert 1 X

Langage de Défnition deDonnées

Page 13: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 13/41

CNAM Versailles 69

Langage de Mani0u$ation deDonnées

+ELECT Yliste de pro:e4tionJ

FROM Yliste de tablesJ

W6ERE Y4ritère de :ointureJ AN" Y4ritère derestri4tionJ

1RO8P BY  Yattributs de partitionne3entJ

6AVI41 Y4ritère de restri4tionJ

!ORDER BY Yliste attributs Al9* 

&estri4tion 5

:& ;:& <& 9& <:& 9:&

BETWEE4& I4& LI7E& I+ !4OT* 48LL eto0é2ateu2s $ogi=ues A4D& OR 

• @ossibilité de blo4s i3briGués par 5

 I4& E3I+T+& 4OT E3I+T+& ALL& +OME& A4Y 

Page 14: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 14/41

CNAM Versailles 6)

• Les >ointu2es  – Une :ointure s'epri3e générale3ent en SQL en epri3ant

dans la 4lause &0M l'ense3ble des relations Gue l'on veut3anipuler et dans la 4lause BDE&E l'epression 4ondition,de :ointure>

• Auto?>ointu2e • Une auto*:ointure est une :ointure d une relation ave4

elle 3Z3e>

• né4essite l'utilisation de synony3es pour les relations

• Les sous?inte22ogations • Les blo4s SELEC$ i3briGués

0![EC$- 5 Epression des :ointures de 3anièrepro4édurale

Langage de Mani0u$ation deDonnées

Page 15: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 15/41

CNAM Versailles 6

• La :ointure eterne

 – notée \, – Se pla4e dans la 4lause BDE&E – LorsGue lattribut risGue dZtre non

valué dans lune des tables

 – A44olé . lattribut dans la table o] desvaleurs risGuent de 3anGuer

Langage de Mani0u$ation deDonnées

Page 16: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 16/41

CNAM Versailles 6+

• La sous interrogation

 – La partie droite dun prédi4at peut Ztrere3pla4ée par le résultat dun ordreSELEC$/

 –  . 4ondition Gue le résultat du sous*

SELEC$ soit 4o3patible en no3bre eten type ave4 lopérateur utilisé>

Langage de Mani0u$ation de

Données

Page 17: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 17/41

CNAM Versailles 6(

• Les opérateurs ense3blistes• 0pérateurs binaires ave4 deu relations de

3Z3e s4;é3a en entrée

• UN-0N nor3e SQL6, ave4 éli3inationauto3atiGue des doublons

• -N$E&SEC$ nor3e SQL2 P,

• E^CE@$ nor3e SQL2 P,

Langage de Mani0u$ation deDonnées

Page 18: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 18/41

CNAM Versailles 67

• Les opérateurs ense3blistes• 0pérateurs binaires ave4 deu relations de

3Z3e s4;é3a en entrée

• UN-0N nor3e SQL6, ave4 éli3inationauto3atiGue des doublons

• -N$E&SEC$ nor3e SQL2 P,

• E^CE@$ nor3e SQL2 P,

Langage de Mani0u$ation deDonnées

Page 19: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 19/41

CNAM Versailles 68

• PARTITIO44EME4T D@84E RELATIO4 "ou1RO8PEME4T) 

 – 1RO8P BY  • partitionne3ent ;ori_ontal d'une relation/ selon les valeurs d'un attribut

ou d'un groupe d'attributs Gui est spé4i=é dans la 4lause &0U@ !# >Larelation est logiGue3ent, <rag3entée en groupes de tuples/ o] tous lestuples de 4;aGue groupe ont la 3Z3e valeur pour l'attribut ou legroupe d'attributs, de partitionne3ent> Attention . ne pas 3élanger

dans un SELEC$ un agrégat ave4 un attribut 4lassiGue> Un agrégatrenvoie un résultat uniGue alors Gu'un attribut renvoie un ense3ble derésultat> Le seul 4as possible d'utilisation d'un tel 3élange est lorsGu'il ya une 4lause &0U@ !#

• FO4CTIO4+ +8R LE+ 1RO8PE+ appli4ation possible de <on4tions . 4;aGue groupe

• RE+TRICTIO4 +8R LE+ 1RO8PE+ appli4ation possible d'un 4ritère de restri4tion sur les groupesobtenus

 – C$ause 6AVI41 • CLA8+E W6ERE restri4tion sur les tuples d'une relation

CLA8+E 6AVI41 restri4tion sur les groupes d'une relation obtenus parla 4lause 1RO8P BY 

angage e an 0u a on eDonnées

angage e an 0 at on e

Page 20: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 20/41

CNAM Versailles 2O

• Nu3éro et no3 du ou des, buveur ayant <ait la plus grosse4o33ande

SELEC$ !>N!/ !>N0M&0M !UVEU&S !

BDE&E !>Q$E JI ALL SELEC$ Q$E &0M C0MMAN"ES ,

ou

  !>Q$E JI SELEC$ MA^Q$E, &0M C0MMAN"ES ,

• AN# 5 teste si la valeur d'un attribut satis<ait un 4ritère de

4o3paraison ave4 au 3oins un résultat d'une sous*Guestion• Nu3éro et no3 du ou des, buveur ayant <ait une

4o33ande Gui n est pas la plus petite>

SELEC$ !>N!/ !>N0M

&0M !UVEU&S !

BDE&E !>Q$E J AN# SELEC$ Q$E &0M C0MMAN"ES ,

0u

!>Q$E J SELEC$ M-NQ$E, &0M C0MMAN"ES ,

angage e an 0u at on eDonnées

Page 21: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 21/41

CNAM Versailles 26

I4+ERT I4TO Yrelation na3eJ attribute/attribute 1 ,

  VAL8E+ Yvalue spe4>J / Yvalue spe4>J 1

T YGuery spe4i=4ationJ• Ee3ples

I4+ERT I4TO V-NS NV/ C&U/ M-LLES-ME,

VAL8E+ 662/ `[UL-ENAS`/ NULL

I4+ERT I4TO !UVEU&S N!/N0M/@&EN0M,

+ELECT  NV$/ N0M/ @&EN0M

FROM V-$-CUL$EU&S

W6ERE V-LLE LI7E '"-[0N'

Langage de Mani0u$ation deDonnées

L d M i $ ti d

Page 22: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 22/41

CNAM Versailles 22

8PDATE  Yrelation na3eJ

+ET Yattribute I value epression T NULL

  YattributeJ I value epression T NULL 1

  W6ERE Ysear4; 4onditionJ

• E^EM@LEU@"A$E @&0"U-$

SE$ @&-^ I Q$E 6>6

BDE&E NV -N

SELEC$ NV

  &0M V-NS

  BDE&E C&U I 'V0LNA#' AN" M-LLES-ME I 688O

Langage de Mani0u$ation deDonnées

Page 23: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 23/41

CNAM Versailles 29

• DELETE FROM  Yrelation na3eJ

  W6ERE Ysear4; 4onditionJ

• E^EM@LEDELETE FROM CL-EN$

W6ERE NV I4 

+ELECT NV

  FROM V0-$U&E  W6ERE "A$E J c 68%O8%7O

Langage de Mani0u$ation deDonnées

Page 24: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 24/41

CNAM Versailles 2)

Ee3ples de Questions 6,

• Q6 5 Crus des vins sans doubles>• Q2 5 No3s des buveurs ayant bus des !eau:olais

7( ou 77>

• Q9 5 No3s et préno3s des buveurs de vins dont

le 4ru 4o33en4e par !/ de degré in4onnu ou4o3pris entre 66 et 69>

• Q) 5 No3s des 4rus bus par au 3oins un buveurs>

• Q 5 Cal4uler le degré 3oyen pour 4;aGue 4ru>

• Q+ 5 Cal4uler le degré 3oyen et le degré 3ini3u3pour tous les 4rus de 8) dont le degré 3ini3u3est supérieur . 62>

Page 25: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 25/41

CNAM Versailles 2

&éponses 6,

• Q6+ELECT DI+TI4CT C&U FROM V-NS

• Q2+ELECT DI+TI4CT N0M

FROM !UVEU&S !/ V-NS V/ A!US

W6ERE !>N! I A!US>N!

A4D A!US>NV I V>NV

A4D C&U L-FE '!EAU[0LA-S'

A4D M-LLES-ME -N 687(/ 6877,

Page 26: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 26/41

CNAM Versailles 2+

• Q9+ELECT N0M/ @&EN0M

FROM !UVEU&S !/ V-NS V/ A!US A

W6ERE !>N! I A>N! A4D A>NV I V>NV

A4D C&U LI7E `!A4D "E&E BETWEE4 66 A4D 69 OR "E&E I+

48LL,

• Q)+ELECT DI+TI4CT C&UFROM V-NS V

W6ERE E3I+T+  +ELECT  FROM !UVEU&S !/ A!USA

  W6ERE !>N! I A>!N! A4D A>NV IV>NV ,

&éponses 2,

Page 27: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 27/41

CNAM Versailles 2(

• Q+ELECT C&U/ AV1"E&E, FROM V-NS 1RO8P BY  C&U

• Q++ELECT C&U/ AV1"E&E,/ MI4"E&E,

FROM V-NS

W6ERE M-LLES-ME I 688)

1RO8P BY  C&U

6AVI41 MI4"E&E, J 62

&éponses 9,

Page 28: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 28/41

CNAM Versailles 27

SQL6 * 78 5 -N$E&-$E

• VALEU&S @A& "EAU$CREATE TABLE V-NS

NV -N$ 84I58E/

  C&U C6AR"%)&

  ANNEE I4T/

  "E&E NUME&-C "&') /

  NV$ I4T/

  @&-^ 48MERIC "&') DEFA8LT G ,

• CO4TRAI4TE+ DE DOMAI4E+SALA-&E -N$ CDECF !E$BEEN +OOO AN" 6OOOOO

Page 29: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 29/41

CNAM Versailles 28

SQL6 * 78 5 -N$E&-$E &EE&EN$-ELLE

• CLE PRIMAIRE ET CO4TRAI4TEREFERE4TIELLECREATE TABLE V-NS

NV I4T PRIMARY 7EY /

C&U C6AR"%)&

ANNEE I4T/

"E&E 48MERIC "&') &

NV$ I4T REFERE4CE+ V-$-CUL$EU&S/

@&-^ DEFA8LT G )

• &EE&ENCE EN @&-NC-@E LA CLE @&-MA-&E

  4elle de V-$-CUL$EU&S

Page 30: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 30/41

CNAM Versailles 9O

• Une solution o?erte par tous les systè3es de gestionde bases de données est la 4réation d'inde/ Guiper3ettra de satis<aire au reGuZtes les plus

<réGuentes ave4 des te3ps de réponse a44eptables> 

 – C.oiH des indeH& en 02io2ité  • les 4lés pri3aires

• Les 4olonnes servant de 4ritère de :ointure

• les 4olonnes servant souvent de 4ritère de re4;er4;e 

 – 4e 0as indeHe2  • les 4olonnes 4ontenant peu de valeurs distin4tes inde

alors peu e4a4e,

• les 4olonnes <réGue33ent 3odi=ées

Les indeH

Page 31: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 31/41

CNAM Versailles 96

• Créer un inde

• Un inde peut Ztre 4réé par la 4o33ande suivante 5CREATE 84I58E I4DE3 no3Hinde

O4 no3Htable no3H4ol6 / no3H4ol2/ >>>,

• 0ption 84I58E 5 interdi4tion Gue deu lignes aient la3Z3e valeur dans la 4olonne indeée>

• Les reGuZtes SQL sont transparentes au <ait Gu'il eiste uninde ou non>

• E?a4e3ent d'un inde 5

 – DROP I4DE3 No3HdeHlinde 

Les indeH

Page 32: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 32/41

CNAM Versailles 92

"é4len4;eur $rigger,

• A4tion base de données dé4len4;ée suite .l'apparition d'un événe3ent parti4ulier

• or3e 5

 – !E0&E T A$E& Yévéne3entJ $DENYa4tionJ

 – Un événe3ent peut Ztre 5• une opération sur une table début ou =n,

• un événe3ent eterne ;eure/ appel/et4>,

 – Une a4tion peut Ztre 5• une reGuZte !" 3ise . :our,

• un abort de transa4tion

• l'appel . une pro4édure 4ataloguée

Page 33: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 33/41

CNAM Versailles 99

"é4len4;eur $rigger,• Syntae de 4reation

C&EA$E $&-E& no3Yévéne3entJ 0N Yno3 de la tableJ

BDEN 4ondition,

instru4tion

0& EACD &0B T S$A$EMEN$

• or3e 5

 – !E0&E T A$E& Yévéne3entJ $DEN Ya4tionJ

 – Un événe3ent peut Ztre 5• une opération sur une table début ou =n,

• un événe3ent eterne ;eure/ appel/et4>,

 – Une a4tion peut Ztre 5• une reGuZte !" 3ise . :our,

• un abort de transa4tion

• l'appel . une pro4édure 4ataloguée

Page 34: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 34/41

CNAM Versailles 9)

"é4len4;eur ave4 4ondition &ègle,

• -l est possible d'a:outer une 4ondition a=n de

dé4len4;er l'a4tion seule3ent Guand la 4ondition estvéri=ée – Une 4ondition est une Guali=4ation portant sur la base> – Ee3ple5

 – Sur le s4;é3a 5

• 4o33ande nume2o#ommande & a2ti#$e / Guantite ,• livraison nume2o$iv2aison & nu3eroH4o33ande / arti4le / GuantiteHlivree ,

C&EA$E $&-E& MA[HQuantiteH4o33andeeHlivree

A$E& -NSE&$ 0N livraison

U@"A$E 4o33ande

SE$ Guantite I SELEC$ SUM GuantiteHlivree,

  &0M livraison

BDE&E livraison>nu3eroH4o33andeI4o33ande>nu3eroH4o33ande

AN" livraison>arti4leI4o33ande>arti4le,

Page 35: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 35/41

CNAM Versailles 9

• Les éta0es du T2aitement d@uneRe=ute – La 3étabase

• C est le di4tionnaire des données organisésous <or3e de base de données

• Le di4tionnaire est ali3enté par les4o33andes de dé=nition de s4;é3a et de

vues• Elle <ait appel . l analyseur et .

l opti3iseur

 $raite3ent d une reGuZte SQL

Page 36: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 36/41

CNAM Versailles 9+

Analyseur

ContrôleurOptimiseur

BD

Métabase

A2#.ite#tu2e Jon#tionne$$e de2éJé2en#e

Exécuteur

Traitement d ’une requête SQL

Page 37: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 37/41

CNAM Versailles 9(

 –L ’Analyseur

•Syntaxique –Présence des attributs, etc.

•Sémantique –Détermination de la validité des questions, –Recherche de questions équivalentes

 $raite3ent d une reGuZte SQL

Page 38: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 38/41

CNAM Versailles 97

 –Le contrôleur 

•Vérification des contraintes d’intégrité,réécriture de la requête.

•Vérification des autorisations

 $raite3ent d une reGuZte SQL

Page 39: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 39/41

CNAM Versailles 98

 –L ’optimiseur

•Génération d'un plan d'exécution optimisé,

ordonnancement par restructurationsalgébriques : –choix d'ordonnancement entre les jointures, –choix entre différentes techniques

 $raite3ent d une reGuZte SQL

Page 40: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 40/41

CNAM Versailles )O

 –L ’exécuteur 

•Utilisation des méthodes d'accès,Sélections - Projections - Élimination des

doubles et jointures•Gestion des accès concurrents

 $raite3ent d une reGuZte SQL

Page 41: SQL

7/21/2019 SQL

http://slidepdf.com/reader/full/sql56d6bee11a28ab301693f60d 41/41

ill

C0NCLUS-0N• Un ense3ble de 4on4epts bien 4o3pris et bien

<or3alisé

• Un 3odèle uniGue/ de plus en plus ri4;e etnor3alisé – intégration des !" ob:ets – évolution vers un L) standardisé

• Un <or3alis3e Gui s'étend plutt bien – algèbre d'ob:ets

• Un langage asso4ié dé=ni . plusieursniveau 5 – SQL6/ 2/ 9