Vous êtes sur la page 1sur 173

Bases de Donnes

Prsent par Abdoul Aziz Ciss Docteur en Cryptologie, Consultant ITSec LACGAA/FST/ CAD !"ail# ale$ciss%g"ail&co" 'eb# (((&ale$ciss&co" Tel# )) *+, -. -+

Contenu
Prsentation gnrale
Introduction Dfinitions

Modles et langages
Modle Entit-Association Modle relationnel Algbre relationnelle Langage SQL D endances fonctionnelles et nor!alisation

As ects s"st!es
#e rise a rs anne $estion de la concurrence

Conce ts a%ancs
Scurit & ti!isation
2 Dr. CISS-Bases de Donnes

Prsentation gnrale

Introduction
L'ob(ectif de ce cours est d'tudier les rinci es des bases de donnes) des bases de donnes relationnelles lus rcis!ent) et la !ise en rati*ue de ces rinci es. A la fin de ce cours) l'tudiant doit +tre en !esure de dcrire et de !ettre en rati*ue les notions essentielles lies au, bases de donnes) de conce%oir et de !ani uler ces dernires.

Dr. CISS-Bases de Donnes

Dfinitions
Dfinition -. une base de donnes est un ense!ble d'infor!ations /fic0iers1 artag ar lusieurs utilisateurs. Dfinition 2. une base de donnes est un ense!ble structur de donnes /a1 enregistres sur des su orts accessibles ar l'ordinateur /b1 our satisfaire lusieurs utilisateurs si!ultan!ent/c1 de !anire slecti%e /d1 en un te! s o ortun /e1. /a1 organisation et descri tion des donnes /b1 stoc3age sur dis*ue /c1 artage des donnes /d1 confidentialit des donnes de c0a*ue utilisateur /e1 erfor!ance) efficacit
5 Dr. CISS-Bases de Donnes

Utilisation directe des fichiers


&n eut re!ar*uer *u'une organisation consistant en un /ou lusieurs1 fic0ier/s1 stoc3s sur !!oire secondaire est confor!e 4 cette dfinition. L'utilisation directe des fic0iers soul%e de trs gros robl!es Lourdeur d'accs au, donnes. en rati*ue) our c0a*ue accs) !+!e le lus si! le) il faut crire un rogra!!e) il faut donc +tre un e, ert en rogra!!ation C0e!in d'accs au, fic0iers. le rogra!!eur doit connaitre le c0e!in d'accs au, fic0iers) la structure 0"si*ue des enregistre!ents) le !ode d'accs 4 ces fic0iers Man*ue de scurit. si tout utilisateur eut accder directe!ent au, fic0iers) il est i! ossible de garantir la scurit et l'intgrit des donnes Pas de contr5le de concurrence. dans un en%ironne!ent o6 lusieurs utilisateurs accdent au, !+!es fic0iers) il est *uasi i! ossible de grer les accs concurrents.
6 Dr. CISS-Bases de Donnes

Utilisation directe des fichiers


#ecours 4 un logiciel c0arg de grer les fic0iers constituant une base de donnes) de rendre en c0arge les fonctionnalits de rotection et de scurit) et de fournir les diffrents t" es d'interfaces ncessaires 4 l'accs au, donnes. Ce logiciel est a el s"st!e de gestion de bases de donnes /S$BD1. 7ne des t8c0es rinci ales d'un S$BD est de !as*uer 4 l'utilisateur les dtails trs co! le,es et fastidieu, lis 4 la gestion des fic0iers
7 Dr. CISS-Bases de Donnes

SGBD
Dfinition. un s"st!e de gestion de bases de donnes /S$BD1 est un logiciel de 0aut ni%eau *ui er!et de !ani uler les infor!ations stoc3es dans une base de donnes. 7n S$BD er!et de crer et de !aintenir une base de donnes Dfinition d'une base de donnes /!odlisation) s cification des donnes 4 stoc3er1 Construction de la base de donnes /stoc3age effectif des donnes1 Mani ulation des donnes /a(outer) su ri!er) rec0erc0er1 E,e! les. &racle) IBM DB2) M"SQL) PostgreSQL) Microsoft SQL Ser%er) Access) etc.
8 Dr. CISS-Bases de Donnes

onctions d!un SGBD


Dfinir des contraintes d'intgrit sur une BD.
contraintes de do!aines contraintes d'e,istence

Dfinir des rotections d'accs.


attribution de !ots de asse autorisations d'accs

#soudre les robl!es d'accs !ulti les


blocages inter blocages

#e rise en cas de annes


sau%egarde des donnes (ournau,
" Dr. CISS-Bases de Donnes

onctions d!un SGBD

#$

Dr. CISS-Bases de Donnes

Utilisateurs d!une BD
7ne BD est accessible ar lusieurs utilisateurs ) c0acun a%ec des ob(ectifs bien rcis et selon des interfaces dfinies ar le S$BD Il " a trois t" e d'utilisateurs our une BD l'ad!inistrateur de la BD l'utilisateur final le rogra!!eur /d%elo eur d'a lications1 L'ad!inistrateur de la base de donnes se c0arge de l'i! l!entation de celle-ci) assigne ou su ri!e des ni%eau, d'accs au, autres utilisateurs de la BD
## Dr. CISS-Bases de Donnes

Utilisateurs d!une BD
L'utilisateur final de la BD est la ersonne *ui interagit directe!ent a%ec le s"st!e. Il eut +tre un client) un o rateur) etc. Le d%elo eur d'a lications accde 4 une BD %ia des rogra!!es crits dans des langages de 0aut ni%eau tels *ue 9a%a) C::) P;P) etc. E,e! les d'a lications $estion des salaires $estion des co! tes bancaires $estion des rende<-%ous
#2 Dr. CISS-Bases de Donnes

%&ercice
Indi*uer *uel t" e d'utilisateur doit e,cuter les fonctions sui%antes our un s"st!e de aie d'une grande entre rise Ecrire un rogra!!e d'a lication our gnrer et i! ri!er les c0*ues 2. C0anger dans la BD l'adresse d'un e! lo" *ui a d!nag =. Crer un co! te d'utilisateur our un e! lo" nou%elle!ent e!bauc0
-.

#'

Dr. CISS-Bases de Donnes

(od)les de donnes
7n !odle de donnes est un !o"en our dcrire la for!e logi*ue des donnes. E,e! le >ic0iers lats. accs s*uentiel Modle 0irarc0i*ue. !odle en arborescence Modle rseau. e,tension du !odle 0irarc0i*ue /liens) arborescence1 Modle relationnel. !odle en tables ou relations Modle ob(et. bas sur les ob(ets
#4 Dr. CISS-Bases de Donnes

Chronologie des SGBD


Network fin-1960 Fichiers plats Hirarchique mi-1960
#5 Dr. CISS-Bases de Donnes

Orient objet 1990

Relationnel 1974-77

(od)le hirarchi*ue
7n S$BD 0irarc0i*ue rsente les donnes sous for!e d'un arbre /structure arborescente1. E,e! le

Cours

Mat0s

P0"si*ue

C0i!ie

$auss
#6

?e@ton

Bo0r

?e@ton

Monge

Dr. CISS-Bases de Donnes

(od)le hirarchi*ue
Incon%nients #edondance des donnes Mani ulation difficile de donnes 0trognes AML. une a lication actuelle des S$BD 0irarc0i*ues APat0. langage de na%igation dans un docu!ent AML A*uer". langage d'interrogation d'un docu!ent AML IMS /Infor!ation Manage!ent S"ste!1. S$BD 0irarc0i*ue le lus connu

#7

Dr. CISS-Bases de Donnes

(od)le rseau
7n S$BD rseau rsente les donnes sous for!e de structures a%ec des liens. E,e! le

Les cours Mat0s P0"si*ue

Les rofs $auss ?e@ton Bo0r

C0i!ie
#8 Dr. CISS-Bases de Donnes

Monge

(od)le rseau
7n a%antage ar ra ort au !odle 0irarc0i*ue est la non redondance des donnes. Incon%nients Le sc0!a de la BD de%ient %ite co! le,e *uand la *uantit de donnes est tro i! ortante /co!bien de liens faudra t-il grerB1 Modle trs rigide our une e, loitation future E,e! le. S&C#ACE /S"st!e &ffrant 4 la Clientle des rser%ations d'Affaires et de Couris!e en Euro e1
#" Dr. CISS-Bases de Donnes

%&ercice
le !odle de donnes sui%ant est il 0irarc0i*ue ou rseauB

Plante

Instructions de la lantation Lu!inosit ncessaire


2$ Dr. CISS-Bases de Donnes

Conditions Conditions de sol

CoDt

+rchitecture d!un SGBD


Les BD re osent sur la s aration effecti%e des donnes et des rogra!!es *ui les e, loitent 7n S$BD doit fournir un langage de dfinition des donnes /LDD1 et un langage de !ani ulation des donnes /LMD1. 7n LDD er!et 4 l'utilisateur de dfinir l'organisation des donnes au ni%eau logi*ue /conce tuel) abstrait1. L'organisation 0"si*ue des donnes est rise en c0arge ar le S$BD.

2#

Dr. CISS-Bases de Donnes

+rchitecture d!un SGBD


7n LMD er!et 4 l'utilisateur de saisir) de rcu rer et de !ettre 4 (ours les infor!ations d'une base de donnes. La !a(orit des S$BD utilisent SQL co!!e LMD Certains s"st!es dis osent d'interfaces gra 0i*ues %isuelles our fa%oriser une bonne co!!unication entre l'utilisateur et la BD 7n sc0!a de BD dcrit l'organisation abstraite du future s"st!e de BD. Il est dfinit ar le conce teur de la BD au !o"en du LDD
22 Dr. CISS-Bases de Donnes

%&ercice
L'utilisateur doit-il faire a el au LDD ou LMD our acco! lir c0acune des t8c0es sui%antes C0anger l'adresse d'un client 2. Dfinir une table d'in%entaire =. Entrer les infor!ations d'un nou%el e! lo"
-.

2'

Dr. CISS-Bases de Donnes

+rchitecture , trois ni-eau&


Cette arc0itecture a t i! ose co!!e standard /A?SIESPA#C1 Elle est base sur trois ni%eau, ?i%eau interne. concerne le stoc3age 0"si*ue des donnes sur les !!oires de !asse. Le S$BD rend en c0arge ce ni%eau ?i%eau conce tuel. concerne la dfinition logi*ue des donnes. L'ad!inistrateur se c0arge de dfinir le sc0!a conce tuel de la BD au !o"en du LDD. ?i%eau e,terne. concerne les utilisateurs finau, et les d%elo eurs. Ces derniers utilisent une %ue /ou !odle !ental1 de la BD et de son contenu.
24 Dr. CISS-Bases de Donnes

(od)le %ntit.+ssociation

Prsentation glo/ale de l0a11roche


Modlisation conce tuelle caractrise ar les F ta es sui%antes . on identifie des conce ts s!anti*ues utiles our dcrire la BD on i!agine lGense!ble dGob(ets s"!boli*ues *ui sont utiliss our re rsenter ces conce ts s!anti*ues on i!agine un ense!ble de rgles dGintgrit for!elles our donner une signification 4 ces ob(ets for!els. on d%elo e un ense!ble dGo rateurs for!els our !ani uler ces ob(ets for!els.
26 Dr. CISS-Bases de Donnes

Prsentation glo/ale de l0a11roche


Conce t E?CICE P #&P#IECE ASS&CIACI&? Dfinition for!elle un ob(et *ue l'on eut distinguer une infor!ation *ui dcrit une entit une entit *ui er!et de connecter 2 entits ou lus E,e! les >ournisseur) ice) cargaison) Personne E! lo") d arte!ent ?H fournisseur) *t cargaison) d arte!ent d'e! lo") oids de ersonne Cargaison/ fournisseur- ice1 Affectation/ e! lo"- d arte!ent1

27

Dr. CISS-Bases de Donnes

Un a1er2u du 3od)le %.+ 4 les o/5ets s3anti*ues


Modle introduit ar C0en en -IJK) raffin ar C0en et dGautres. Entit /dfinition de C0en1 . c0ose *ui distincte!ent eut +tre identifie

Pro rit /ou Attribut1 . les entits /et les associations1 sont dcrites ar des ro rits caractrises ar un no! et un t" e Association /dfinition de C0en1. lien entre entits. Elle eut +tre binaire) ternaire ou n-aire.
28 Dr. CISS-Bases de Donnes

6es diagra33es %.+


Les entits #e rsentes ar un rectangle contenant le no! du t" e de lGentit Les ro rits /ou attributs1 le no! de la ro rit crit dans lGentit ou lGassociation corres ondante les attributs cls sont souligns Les associations #e rsentes ar une elli se contenant le no! de lGassociation Les entits artici antes de c0a*ue association sont rattac0es 4 lGassociation au !o"en de lignes continues. C0acune de ces lignes est ti*uete ar la cardinalit de lGassociation.
2" Dr. CISS-Bases de Donnes

%ntit
E?CICE 7ne entit est un conce t our%u dGune e,istence ro re confor!e au, besoins de gestion de lGentre rise Elle eut re rsenter une notion concrte . CLIE?C) EC7DIA?C ou une notion abstraite .C#A9EC) CLIMAC S"non"!es . I?DIL7D7) &B9EC

'$

Dr. CISS-Bases de Donnes

+ssociation
7ne association est un lien s!anti*ue entre deu, ou lusieurs entits. Sou%ent no!! ar un %erbe ou un substantif S"non"!e . #ELACI&?

'#

Dr. CISS-Bases de Donnes

Pro1rit
P#&P#IECE . 7ne ro rit est une donne l!entaire er!ettant de dcrire une entit ou une association. Cette donne eut se !esurer ar une %aleur. S"non"!e . ACC#IB7C #E$LES DE BASE . 7ne entit ossde au !oins un attribut /son identifiant . ar e,e! le le ?H de co!!ande1. 7ne association eut ne as a%oir d'attributs

'2

Dr. CISS-Bases de Donnes

Un diagra33e

''

Dr. CISS-Bases de Donnes

781e d!entit
Le t" e d'une entit est co! os des l!ents sui%ants son no! la liste de ses attributs) a%ec o tionnelle!ent le do!aine o6 l'attribut rend ses %aleurs. les entiers) les c0aines de caractres) etc. l'indication de l'attribut er!ettant d'identifier l'entit &n dira *u'une entit e est une instance de son t" e E

'4

Dr. CISS-Bases de Donnes

6es cardinalits
La cardinalit est une notion &BLI$AC&I#E du !odle *ui er!et de rsoudre la *uestion de lGano!alie dGune co!!ande *ui aurait ris la libert de ne oint co! orter de roduits. CGest donc lGe, ression dGune C&?C#AI?CE /une MloiM1 erNue sur le !onde rel) et *ue lGon crit dans le !odle. Par e,e! le) Mil nGest as ossible *uGune co!!ande ne concerne aucun roduitM. Co!!e il sGagit dGe, ri!er des lois) on ne eut our se faire *uGutiliser une autre loi . Pour une occurence de cette entit) co!bien " a-t-il dGoccurrences de lGassociation au,*uelles cette occurrence dGentit artici e) au lus et au !oins B
'5 Dr. CISS-Bases de Donnes

Cardinalits
Association -)7n client donn ne co!!ande *uGun seul roduit. 7n roduit donn nGest co!!and *ue ar un seul client.

CLIENT

1,1

Commande

1,1

PRODUIT

'6

Dr. CISS-Bases de Donnes

Cardinalits
Association -)? 7n client donn co!!ande lusieurs roduits. 7n roduit donn nGest co!!and *ue ar un seul client.

CLIENT

1,N

Commande

1,1

PRODUIT

'7

Dr. CISS-Bases de Donnes

Cardinalits
Association O)7n client donn co!!ande lusieurs roduits. 7n roduit donn est co!!and au !a,i!u! ar un seul client !ais eut ne as +tre co!!and.

CLIENT

1,N

Commande

0,1

PRODUIT

'8

Dr. CISS-Bases de Donnes

Cardinalits
#ecette . Pour calculer la cardinalit) se P&SICI&??E# sur lGentit concerne et regarder E? >ACE co!bien de fois lGune de ses occurrences artici e 4 lGassociation. Puis se DEPLACE# du c5t de lGautre entit et faire la !+!e c0ose dans lGautre sens.

'"

Dr. CISS-Bases de Donnes

Cardinalits
C A R D IN A L IT E S M IN IM U M : V a le u r D fin itio n O U n e o c c u rre n c e d e l'e n tit p e u t e x is te r s a n s p a rtic ip e r l'a s s o c ia tio n 1 U n e o c c u rre n c e d e l'e n tit p a rtic ip e n c e s s a ire m e n t a u m o in s u n e fo is u n e o c c u rre n c e d 'a s s o c ia tio n E x e m p le u n p ro d u it p e u t n e p a s tre com m and to u te c o m m a n d e c o n c e rn e a u m o in s u n p ro d u it

C A R D IN A L IT E S M A X IM U M : V a le u r D fin itio n 1 U n e o c c u rre n c e d e l'e n tit p a rtic ip e a u p lu s u n e fo is N U n e o c c u rre n c e d e l'e n tit p e u t p a rtic ip e r p lu s ie u rs fo is

E x e m p le u n e m p lo y tra v a ille a u p lu s d a n s u n s e rv ic e u ne com m ande peu t c o n c e rn e r p lu s ie u rs p ro d u its

4$

Dr. CISS-Bases de Donnes

Cardinalits
O,1 1,1 ,N 1,N CONFIGURATIONS POSSIBLES : Une occurrence participe au m oins fois et au plus 1 fois l'assocciation Une occurrence participe exactem ent 1 fois l'assocciation Une occurrence peut ne pas participer ou participer plusieurs fois Une occurrence participe au m oins 1 fois, voire plusieurs

4#

Dr. CISS-Bases de Donnes

6es identifiants
IDE?CI>IA?C DGE?CICE . Pro rit PA#CIC7LIE#E de lGentit telle *ue our c0acune des %aleurs de cette ro rit) il e,iste une occurrence 7?IQ7E de lGentit. #e!ar*ue . Si lGon ne sait as trou%er dGidentifiant 4 une entit) cGest *uGelle nGa eut +tre as dGe,istence ro re. Il ourrait donc sGagir dGune association. Prsentation . LGidentifiant est inscrit en t+te de la liste des ro rits et soulign. Dans les !odles trs denses il eut suffir 4 rsu!er les autres ro rits) our faciliter la lecture.
42 Dr. CISS-Bases de Donnes

Les identifiants

4'

Dr. CISS-Bases de Donnes

6es identifiants
IDE?CI>IA?C DGASS&CIACI&? . 7ne association ?GA PAS DGIDE?CI>IA?C e, licite . lGassociation d end des entits *uGelle relie. Son identifiant se dduit ar calcul du roduit cartsien des identifiants des entits associes. E,e! le . Pour lGassociation C&?CE#?E *ui relie C&MMA?DE 4 P#&D7IC) lGidentifiant est le roduit cartsien de ?H Co!!ande et ?HProduit.
44 Dr. CISS-Bases de Donnes

Di3ensions d0une association


&n a elle DIME?SI&? dGune association le no!bre dGentits *uGelle relie. &n dit sou%ent son no!bre de M attesM. #e!ar*ues . Il nGe,iste as de li!ite au no!bre de attes dGune association. Ce endant) un no!bre de attes le% est un indice *ue lGtude a t su erficielle et a ro,i!ati%e. 7ne association rfle,i%e est une association *ui lie des occurrences dGune !+!e entit entre elles /cGest un cas articulier de la di!ension 21 .
45 Dr. CISS-Bases de Donnes

9)gles de construction du 3od)le


SCAC7C EC >&?CCI&? DES #E$LES DE C&?SC#7CCI&? E? $E?E#AL Elles rescri%ent des nor!es *ui assurent *ue les dfinitions des conce ts du !odle sont bien res ectes. Elles concernent donc lGas ect SP?CAAIQ7E des sc0!as. Mais un !odle bien for! nGest as ncessaire!ent con%enable. CGest lGas ect SEMA?CIQ7E.

46

Dr. CISS-Bases de Donnes

9)gles relati-es au& entits


7ne entit ossde au !oins une ro rit . son identifiant. Per!et de garantir *ue toutes les occurrences dGune entit sont distinctes. C0acune des ro rits dGune entit doit caractriser toute occurrence de cette entit de la !+!e !anire. E,e! le . Dans une bibliot0*ue) on gre des ou%rages. Les uns sont ac0ets en librairie et les autres !is 4 dis osition gratuite!ent ar les diteurs. Soit lGentit sui%ante) *uGen ense< %ous B .

47

Dr. CISS-Bases de Donnes

9)gles relati-es au& associations


SGil e,iste une occurrence dGassociation) alors il e,iste ncessaire!ent une occurrence de c0acune des entits associes. Deu, occurrences dGune entit ne eu%ent artici er 4 la !+!e occurence de lGassociation /sauf si lGassociation est rfle,i%e1.

48

Dr. CISS-Bases de Donnes

9)gles relati-es au& 1ro1rits


7ne !+!e ro rit ne eut figurer *ue sur 7? SE7L ob(et /*ue ce soit une entit ou une association1. 7ne ro rit doit +tre ELEME?CAI#E) ato!i*ue) de telle sorte *uGon ne uisse as la dco! oser. Il " a deu, faNons our une ro rit de ne as +tre ato!i*ue . lors*uGelle est constitue dGune agrgation de ro rits lus l!entaires . Do!iciliation bancaire est un co! os de . Code ban*ue) Code $uic0et) ?H Co! te) Cl lors*uGelle ad!et lusieurs %aleurs co!!e cGest le cas dans une liste . La ro rit Enfants our une Personne est !ulti%alue et nGest donc as l!entaire.
4" Dr. CISS-Bases de Donnes

9)gles relati-es au& 1ro1rits


7ne ro rit doit d endre PLEI?EME?C /cGest- 4-dire . de la totalit1 de lGidentifiant /%iter des redondances de %aleurs dans la base de donnes1. 7ne ro rit doit d endre DI#ECCEME?C de lGidentifiant /cGest-4-dire sans asser ar lGinter!diaire dGune autre ro rit1. Elle %ise 4 e! +c0er des redondances et er!et de !ettre 4 (our une entit *ui tait i!bri*ue dans un ob(et /entit ou association1

5$

Dr. CISS-Bases de Donnes 50

(od)le 9elationnel

:oca/ulaire des BD9


Dans les annes JO) E.>. Codd a dcrit une nou%elle sorte de !odle. le !odle relationnel /M#1 our les s"st!es de bases de donnes. Dans le !odle relationnel) les infor!ations sont enregistres dans des tables /a eles gale!ent relations1 . 7n S$BD relationnel /S$BD#1 est un S$BD fond sur le !odle relationnel.
52 Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


7ne BD relationnelle /BD#1 est un ense!ble de relations. 7ne relation est re rsente sous for!e de tables /ou tableau,1 4 deu, di!ensions *ui res ectent certaines conditions. Cette re rsentation est ure!ent logi*ue et non 0"si*ue. dans un S$BD#) les donnes sont logi*ue!ent erNues sous for!e de tables) !ais elles ne le sont as 0"si*ue!ent.

5'

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


C0a*ue table est identifie ar un no! uni*ue Exemple. dans une BD# dcri%ant une socit) on eut retrou%er les tables sui%antes. table QClient' table QProduit' table Q>acture' table Q>ournisseur' table QCo!!ande') etc.
54 Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


C0a*ue table est for!e d'un certain no!bre de colonnes ou attributs ou c0a! s. Deu, colonnes d'une !+!e table ne eu%ent as a%oir le !+!e no!. Exemple. la table QProduit' eut contenir les colonnes sui%antes. R code roduitS) R libell du roduit S) R ri, unitaire S et R *uantit en stoc3 S.
55 Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


Le degr d'une table est le no!bre des ses attributs ou colonnes. E,e! le. La table QProduit' contient les colonnes sui%antes. R code roduitS) R libell du roduit S) R ri, unitaire S et R *uantit en stoc3 S. Donc) le degr de la table QProduit ' est gal 4 F.

56

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


Pour c0a*ue colonne d'une table) il e,iste un ense!ble de %aleurs ossibles a el do!aine. Le do!aine dsigne toutes les %aleurs er!ises *ui eu%ent a araitre dans la colonne. Si Qattrib' est le no! d'une colonne) alors QDo!/attrib1' dsigne le do!aine de cette colonne. Coute %aleur *ui figure dans une colonne doit a artenir 4 son do!aine.
57 Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


E,e! le. our la table QProduit') les do!aines sont. Do!/code roduit1. un sous-ense!ble de c0aines de caractres dsignant le code roduitT Do!/libell1. l'ense!ble des no!s de tous les roduitsT Do!/ ri, unitaire1. un sous-ense!ble de l'ense!ble des rels ositifsT Do!/*uantit en stoc31. un sous-ense!ble de l'ense!ble des entiers ositifs.

58

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


Les donnes d'une table a araissent co!!e un ense!ble de lignes ou n-tu les) o6 n est le no!bre d'attributs de la table. Exemple .
Code produit DD120 CL102 CU1G
5"

Libell Disque dur 120 Go Clavier 102 Cl USB 1Go

Prix unitaire 30000 1500 5000

Quantit en stock 23 58 79

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


Les lignes ou les tu les d'une table sont gale!ent a eles des enregistre!ents. Les enregistre!ents d'une table ont le !+!e for!at et re rsentant des ob(ets du !onde rel. Le no!bre total des enregistre!ents rsents dans une table est a el la cardinalit de la table.

6$

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


#e!ar*ues. Le degr d'une table est fi,e /ne c0ange as1 La cardinalit d'une table est d"na!i*ue. elle eut c0anger au cours du te! s / ar effet d'a(out ou de su ression d'enregistre!ents de la table1.

6#

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


Pour une relation # donne) our un attribut A de # et un tu le t de # ) on note t/A1 la %aleur de l'entre du tu le t *ui se trou%e 4 la colonne A. E,e! le. considrons le second tu le de la relation QProduit' / age UI1. Alors. t/Code Produit1 V CL-O2T t/Libell1 V Cla%ier -O2T t/Pri, unitaire1 V -UOO T t/Quantit1 VUW T
62 Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


#gles d'or 4 retenir our une BD#. 7ne table est for!es de colonnes et de lignes C0a*ue table a un no! uni*ue C0a*ue colonne a un no! uni*ue L'ordre des colonnes dans la table est sans aucune i! ortance Coutes les lignes d'une table ont le !+!e for!at et le !+!e no!bre d'entres.

6'

Dr. CISS-Bases de Donnes

:oca/ulaire des BD9


#gles d'or 4 retenir our une BD# /suite1 Les %aleurs de c0a*ue colonne a artiennent au !+!e do!aine C0a*ue entre de c0a*ue ligne doit +tre une %aleur uni*ue L'ordre des ligne est sans i! ortance du fait *u'elles sont identifies ar leur contenus et non ar leur osition Il est i! ossible d'a%oir deu, lignes identi*ues.

64

Dr. CISS-Bases de Donnes

or3alis3e 3ath3ati*ue
7n sc0!a relationnel # est un ense!ble fini de no!s d'attributs A-) A2) X) An. &n crit. # V YA-) A2) X) AnZ A c0a*ue attribut Ai est associ un ense!ble non %ide de %aleurs a eles do!aine de l'attribut Ai et not Di V Do! /Ai1 Soit D le roduit cartsien des ense!bles Di) ie D V D- D2 X Dn. 7ne relation r sur le sc0!a relationnel # est un ense!ble fini de corres ondances r V Yt-) t2) X) t!Z de # sur D.
Dr. CISS-Bases de Donnes

65

or3alis3e 3ath3ati*ue
7ne corres ondance indi%iduelle t3 est a ele tu le /ou ntu le1. Pour tout tu le t a artenant 4 la relation) on note t/Ai1 la %aleur de l'attribut Ai our le tu le t. 7ne condition i! ortante. Pour tout l!ent t de r) on a t/Ai1 Di La cardinalit de r est card(r) = m. Le degr de r est deg(r) = n
66 Dr. CISS-Bases de Donnes

or3alis3e 3ath3ati*ue
E,e! le d'une table 'Lol Q .
Numro 83 84 109 213 214
67

Dpart Dakar Dakar This This St Louis

Arrive

H_dpart

H_arriv 11:00 12:47 6:30 1:38 9:30

Cap Skiring 9:55 St Louis Diourbel Dakar Tamba 12:00 6:00 1:13 8:15

Dr. CISS-Bases de Donnes

or3alis3e 3ath3ati*ue
Le sc0!a relationnel corres ondant 4 la table RLols S est Lols /?u!ro) D art) Arri%e) ;[d art) ;[arri%1. Do!/?u!ro1 V Y-) 2) =) X) IIIZ. Do!/D art1 V Do!/Arri%e1 V YDa3ar) C0is) St Louis) Ca S3iring)Ca!ba) DiourbelZ. Do!/;[d art1 V Do!/;[arri%1 V YO.OO) O.O-) X) 2=.UW) 2=.UIZ.

68

Dr. CISS-Bases de Donnes

;otion de cl
La notion de cl est un conce t fonda!ental du !odle relationnel arce *u'elle fournit le !canis!e de base our rcu rer des tu les dans une table d'une BD. La cl d'une relation est le lus etit sous-ense!ble des attributs *ui er!et d'identifier c0a*ue ligne de !anire uni*ue.

6"

Dr. CISS-Bases de Donnes

cls candidates et cl 1ri3aire


E,e! le. des cls candidates de la table QLols' eu%ent +tre. Y?u!roZ YD art) Arri%e) ;[d artZ #e!ar*ue. une relation eut co! orter lusieurs cls candidates. L'une d'elles doit +tre dsigne co!!e cl ri!aire. Les %aleurs de la cl ri!aire er!ettent d'identifier de !anire uni%o*ue un tu le de la relation.
7$ Dr. CISS-Bases de Donnes

Cls candidates et cl 1ri3aire


7n S$BD n'autorise *u'une seule cl ar table La cl ri!aire eut +tre uni*ue si elle co! orte un seul attribut ou co! ose si elle contient au !oins deu, attributs. E,e! le. la cl ri!aire Y?u!roZ est uni*ue alors *ue YDe art) Arri%e) ;[D artZ est co! ose.

7#

Dr. CISS-Bases de Donnes

cls candidates et cl 1ri3aire


Les attributs de la cl ri!aire sont souligns our les distinguer des autres attributs ne faisant as artie de la cl. E,e! le. le sc0!a relationnel de la table QLols' se rsente ainsi. Y?u!ro) D art) Arri%e) ;[d art) ;[arri%Z ou bien . Y?u!ro) D art) Arri%e) ;[d art) ;[arri%Z.

72

Dr. CISS-Bases de Donnes

cls candidates et cl 1ri3aire


Les cls ri!aires sont dfinies au !o"en d'instruction LDD et sont auto!ati*ue!ent i! oses ar le S$BD#. Les cls ri!aires sont gnrale!ent dfinies au !o!ent de la cration des tables. Les cls ri!aires eu%ent +tre naturelles ou artificielles. Dans une table contenant des donnes descri ti%es sur les l!ents c0i!i*ues) le Q oids ato!i*ue' serait une cl ri!aire naturelle.
7' Dr. CISS-Bases de Donnes

cls candidates et cl 1ri3aire


Il faut noter *ue la lu art des cls ri!aires sont in%entes /artificielles1 E,e! les. ?u!ro d'assurance sociale ?u!ro de er!is de conduire ?u!ro de carte de crdit ?u!ro de carte d'tudiant) etc.

74

Dr. CISS-Bases de Donnes

cls candidates et cl 1ri3aire


Les cls sont des l!ents trs i! ortants dans la conce tion d'une BD relationnelle) uis*u'elles for!ent la base our re rsenter les relations entre les tables. Les cls sont les l!ents *ui lient les tables entre elles.

75

Dr. CISS-Bases de Donnes

6a -aleur ;U66
Dans une relation) la %aleur ?7LL re rsente des donnes !an*uantes) inconnues ou des donnes ina licables. La %aleur ?7LL corres ond 4 une entre non renseigne /non saisie) non introduite) non obligatoire1. 7ne rgle /contrainte d'intgrit de la cl ri!aire1. aucun des attributs de la cl ri!aire ne doit +tre ?7LL /du fait *ue la cl ri!aire identifie de !anire uni*ue les tu les d'une relation1.
76 Dr. CISS-Bases de Donnes

6a -aleur ;U66
La rgle rcdente signifie *ue la saisie des %aleurs our les attributs de la cl ri!aire est obligatoire. 7n attribut n'a artenant as 4 la cl ri!aire eut a%oir la %aleur ?7LL. Attention. la %aleur ?7LL n'est as gale 4 O et ne re rsente aucune %aleur articulire our l'ordinateur.

77

Dr. CISS-Bases de Donnes

%&ercice
Considrons la table DEPC et les lignes !ontres 4 la suite. Dire si ces les lignes eu%ent +tre ou non insres dans la table DEPC.
DEPARTEMENT 20 10 10 15
78 Dr. CISS-Bases de Donnes

NOM Ventes Marketing Recherche

LIEU Dakar Pikine This

BUDGET 12 700 000 31 575 000 13 500 000 9 200 000 10 500 000

Informatique Rufisque Comptabilit Dakar

Passage du 3od)le %<+ au 3od)le relationnel


&n asse donc d'un !odle dis osant de deu, structures /entits et associations1 4 un !odle dis osant d'une seule structure /relations1. Logi*ue!ent) entits et associations seront donc toutes deu, transfor!es en relations. La subtilit rside en fait dans la ncessit de rser%er les liens e,istant e, licite!ent dans un sc0!a EEA et *ui se!blent !an*uer dans le !odle relationnel. Dans ce dernier cas on utilise en fait un !canis!e de rfrence ar %aleur bas sur les cls des relations

7"

Dr. CISS-Bases de Donnes

9)gles de 1assage
Association de 1 plusieurs Soit une relation de - 4 lusieurs entre deu, entits A et B. Le assage au !odle logi*ue suit les rgles sui%antes. &n cre les relations /tables1 #A et #B corres ondants res ecti%e!ent au, entits A et B. L'identifiant de B de%ient un attribut de #A Les %entuels identifiants de l'association entre A et B de%iennent des attributs de #A. L'ide est *u'une occurrence de A rfrence l'occurrence de B *ui lui est 4 l'aide d'une cl trangre. Dr. CISS-Bases deassocie Donnes

8$

+ssociation # , 1lusieurs

8#

Dr. CISS-Bases de Donnes

+ssociation 1lusieurs , 1lusieurs


Considrons une association binaire n-! entre A et B &n cre les relations /tables1 #A et #B corres ondants res ecti%e!ent au, entits A et B. &n cre la relation #A-B our l'association La cl de #A et la cl de #B de%iennent des attributs de #A-B La cl de #A-B est la concatnation des cls des relations #A et #B Les ro rits de l'association de%iennent des attributs de #A-B

82

Dr. CISS-Bases de Donnes

+ssociation 1lusieurs , 1lusieurs

8'

Dr. CISS-Bases de Donnes

%&ercice
&n sou0aite infor!atiser des co!!andes et l'dition des additions d'un restaurant en utilisant une base de donnes. Le restaurant dis ose de lusieurs tables) c0acune identifie ar un nu!ro et le no!bre de con%i%es *u'elle eut rece%oir. Plusieurs ser%eurs tra%aillent dans le restaurant. 7ne table est tou(ours ser%ie ar un et un seul ser%eur. C0a*ue ser%eur est identifi ar un nu!ro) a un no! et un grade. 7n ser%eur est affect ar (ournes entires 4 une ou lusieurs tables. Les co!!andes) identifies ar un nu!ro) corres ondent tou(ours 4 une table uni*ue. &n connait l'0eure et la date d'encaisse!ent) le !ontant total) ainsi *ue le !o"en de aie!ent utilis. C0a*ue co!!ande orte sur un ou lusieurs lats. Les lats sont identifis ar un nu!ro) ont un no!) un t" e /entre) dessert) X1. Dans une co!!ande) c0a*ue ligne corres ond 4 un lat co!!and en une certaine *uantit. Crer un sc0!a EEA uis le traduire en !odle relationnel.
84 Dr. CISS-Bases de Donnes

%&ercice
Donne< le sc0!a relationnel corres ondant au !odle conce tuel sui%ant.

85

Dr. CISS-Bases de Donnes

Prsentation du 6DD S=6


SQL est le langage infor!ati*ue standard our la co!!unication a%ec les S$BD#. Le standard SQL a t dfini ar l'A?SI /American National Standard Institute1 et l'IS& /International Standards Organization1. Le sigle SQL signifie Structured Query Language ou langage de re*u+tes structur. SQL est essentielle!ent un langage ser%ant 4 effectuer des re*u+tes sur une base de donnes our en e,traire des infor!ations.

86

Dr. CISS-Bases de Donnes

Prsentation du langage S=6


Caractristi*ues de SQL . C'est un langage dclaratif et non rocdural . on e, licite ce *ue l'on %eut et non as la !anire de l'a%oir. Il offre un LDD our dfinir et crer des ob(ets de BD# /tables) re*u+tes) etc.1 Il offre un LMD our !ani uler les ob(ets d'une BD#. C'est un langage facile 4 co! rendre et 4 utiliser /s"nta,e trs roc0e du langage naturel) as d'instructions de contr5le) ni de structures de donnes1.
87 Dr. CISS-Bases de Donnes

Prsentation du langage S=6


7tilisation de SQL . En !ode interactif . l'utilisateur crit te,tuelle!ent une co!!ande SQL et rcu re le rsultat i!!diate!ent. En !ode intgr . une co!!ande SQL est !lange a%ec les instructions d'un rogra!!e en langage de 0aut ni%eau tel *ue C) C::) 9a%a ou Cobol.

88

Dr. CISS-Bases de Donnes

Cration d!une BD
Cration dune table . Cette o ration donne co!!e rsultat une table %ide /ne contenant aucun enregistre!ent1. Il faut rciser . Le no! de la tableT La descri tion de ses colonnes . no!) t" e de donnes et contraintes. SQL dis ose d'un no!bre de t" es de donnes . nu!ri*ues) al 0anu!ri*ues) logi*ues) dates et 0eures) etc.
8" Dr. CISS-Bases de Donnes

Cration d!une BD
Quelques types de donnes en SQL . !"E#E$ ou !" . entiers signs. C%A$AC"E$/ 1 ou C%A$/ 1 . c0a\ne de caractres. &A"E . dates etEou 0eures. '((LEA! . %aleur logi*ue R%raiS ou Rfau,S. &EC )AL/ ) *1 . no!bres dci!au, de c0iffres dont * a rs le oint dci!al /ne fonctionne as a%ec Access1. *L(A" . no!bre rel en %irgule flottante.

"$

Dr. CISS-Bases de Donnes

Cration d!une BD
Quelques proprits des attributs en SQL . +$ )A$, -E, . cl ri!aire. *($E #! -E, . cl trangre. !.LL / !(" !.LL . %aleurs non obligatoires E obligatoires. &E*A.L" = Valeur . our dfinir une %aleur ar dfaut /ne fonctionne as sous Access1. C%EC- /Condition1. our contr5ler la %alidit des %aleurs /ne fonctionne as sous Access1.
"# Dr. CISS-Bases de Donnes

Cration d!une BD
Syntaxe SQL pour crer une nou0elle table . C$EA"E "A'LE ?o![table /c0a! - C" e[c0a! - ]contraintes de c0a! -^) X.) c0a! ? C" e[c0a! ? ]contraintes de c0a! -^1T #e!ar*ue . Coute co!!ande SQL se ter!ine ar un oint %irgule.

"2

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemple 1 .
C$EA"E "A'LE CLIE?C /ID !"E#E$) ?&M C%A$/-U1) P#E?&M C%A$/-U1) DACE?AIS &A"E) LILLE 2A$C%A$/2O1) CEL 2A$C%A$/-21) EMAIL 2A$C%A$/UO1) +$ )A$, -E, /ID11T

"'

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemple 3 .
C$EA"E "A'LE EC7DIA?C /ID !"E#E$ ) ?&M C%A$/-U1) P#E?&M C%A$/-U1) A$E !"E#E$ C%EC- /A$E 'E"4EE! -W A!& FO1) B&7#SIE# L(# CAL5 +$ )A$, -E, ( &)1T

"4

Dr. CISS-Bases de Donnes

Cration d!une BD
E6E)+LE C()+LE"

"5

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemple complet .
C$EA"E "A'LE CLIE?C /IDCLIE?C !"E#E$ !(" !.LL) ?&MCLIE?C 2A$C%A$/-U1) P#E?&MCLIE?C 2A$C%A$/-U1) AD#CLIE?C 2A$C%A$/UO1) +$ )A$, -E, /IDCLIE?C11T

"6

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemple complet .
C$EA"E "A'LE A$E?CE /IDA$E?CE !"E#E$ !(" !.LL) ?&MA$E?CE 2A$C%A$/FO1) AD#A$E?CE 2A$C%A$/UO1) +$ )A$, -E, /IDA$E?CE11T

"7

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemple complet .
C$EA"E "A'LE C&MPCE /IDC&MPCE !"E#E$) S&LDE *L(A" ) ICLIE?C !"E#E$) IA$E?CE !"E#E$) +$ )A$, -E, /IDC&MPCE1) *($E #! -E, /ICLIE?C1 $E*E$E!CES CLIE?C /IDCLIE?C1) *($E #! -E, /IA$E?CE1 $E*E$E!CES A$E?CE /IDA$E?CE11T

"8

Dr. CISS-Bases de Donnes

Cration d!une BD
)odi7ication de la structure dune table . Il " a trois t" es d'actions concernant la !odification de structure d'une table . A(outer une ou lusieurs colonnes. Su ri!er une ou lusieurs colonnes. Modifier les ro rits d'une ou de lusieurs colonnes. Les co!!andes SQL relati%es 4 ces actions . A&& &$(+ )(& *,
"" Dr. CISS-Bases de Donnes

Cration d!une BD
)odi7ication de la structure dune table . Pour !odifier la structure d'une table) on rcise tout d'abord le no! de celle-ci en cri%ant la co!!ande sui%ante . AL"E$ "A'LE Nom_table Ensuite) on s cifie la nature de l'action de !odification /a(out) su ression ou !odification1. Pour cela) il faut utiliser l'une des trois co!!andes . A&&) &$(+ ou )(& *,.
#$$ Dr. CISS-Bases de Donnes

Cration d!une BD
Exemples da8out 9 A(outer une colonne R A$E S dans la table R CLIE?C S . AL"E$ "A'LE CLIENT A&& A$E !"E#E$T A(outer une colonne R DACEC&MPCE S dans la table R C&MPCE S . AL"E$ "A'LE COMPTE A&& DACEC&MPCE &A"ET

#$#

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemples de suppression 9 Su ri!er la colonne R AD#A$E?CE S de la table R A$E?CE S . AL"E$ "A'LE CLIENT &$(+ AD#A$E?CET Su ri!er la colonne R DACEC&MPCE S de la table R C&MPCE S . AL"E$ "A'LE COMPTE &$(+ DACEC&MPCET

#$2

Dr. CISS-Bases de Donnes

Cration d!une BD
Exemples de modi7ication dattributs 9 Modifier le t" e de la colonne R AD#A$E?CE S our *u'il soit un C;A#/-OO1 au lieu de C;A#/FO1 . AL"E$ "A'LE A ENCE )(& *, AD#A$E?CE C%A$/-OO1T Modifier la colonne R A$E S de la table R CLIE?C S our *u'elle soit obligatoire . AL"E$"A'LE CLEINT )(& *, A$E !" !(" !.LLT

#$'

Dr. CISS-Bases de Donnes

6!alg)/re relationnelle
L'algbre relationnelle consiste en un ense!ble d'o rations *ui er!ettent de !ani uler des relations) considres co!!e des ense!bles de tu les. on eut ainsi faire l'union ou la diffrence de deu, relations) slectionner une artie de la relation) effectuer des roduits cartsiens ou des ro(ections) etc. 7ne ro rit fonda!entale de c0a*ue o ration est *u'elle rend une ou deu, relations en entre et roduit une relation en sortie. Cette ro rit er!et de co! oser des o rations. on eut) ar e,e! le) a li*uer une slection au rsultat d'un roduit cartsien) uis une ro(ection au rsultat d'une slection et ainsi de suite.
#$4 Dr. CISS-Bases de Donnes

6!alg)/re relationnelle
7ne requ:te est une e, ression algbri*ue *ui s'a li*ue 4 un ense!ble de relations /la base de donnes1 et roduit une relation finale /le rsultat de la re*u+te1. &n eut %oir l'algbre relationnelle co!!e un langage de rogra!!ation trs si! le *ui er!et d'e, ri!er des re*u+tes sur une base de donnes relationnelle.

#$5

Dr. CISS-Bases de Donnes

>1rateur de slection
A li*ue 4 une relation r) la slection roduit une autre relation dont les lignes sont un sous-ense!ble des lignes de r *ui ont une %aleur articulire our un attribut s cifi*ue. La relation rsultante et r co! ortent les !+!es attributs. Si r est une relation sur le sc0!a R) A un attribut de r et a une %aleur a artenant 4 Dom(A)) alors la slection de r sur l'attribut A our la %aleur a est l'ense!ble des tu les t de la relation r tels *ue t(A) = a .

#$6

Dr. CISS-Bases de Donnes

>1rateur de slection
Cela signifie *ue toutes les lignes de la nou%elle relation ont la %aleur a dans la colonne A. La slection se note A = a(r). Le rdicat
A = a doit +tre co!

ris co!!e t(A)

= a.

Mat0!ati*ue!ent) la slection se traduit ar la relation sui%ante.


A
= a(r)

= { t r / t(A) = a}.

Le sc0!a de la nou%elle relation A=a(r) est le !+!e *ue celui de la relation r.


#$7 Dr. CISS-Bases de Donnes

>1rateur de slection
E,e! les d'a lication de l'o rateur de slection . _tudiants ns 4 Pi3ine . Lille de naissance V Pi3ine/Etudiant1. Produits de ri, unitaires -FUO . Pri, unitaire V -FUO/Produit1. E! lo"s de salaire infrieur 4 FOO OOO . Salaire ] FOOOOO/E! lo"1. Clients de rno! ''Moussa''. Prno! V Moussa/Client1.
#$8 Dr. CISS-Bases de Donnes

>1rateur de slection
Considrons la table R Etudiant S sui%ante.
CE 2010MTL 2010YHT 201034K 2010KOL 2010SK1
#$" Dr. CISS-Bases de Donnes

Nom Sow Diop Ndiaye Fall Seck

Prnom Yaya Khadim Abib Abdou khady

Ville Pikine This Pikine Dakar Dakar

>1rateur de slection
#sultat de Lille de naissance V Pi3ine/Etudiant1 sur la table Etudiant .

CNE 2010MTL 201034K

Nom Sow Ndiaye

Prnom Yaya Abib

Ville Pikine Pikine

##$

Dr. CISS-Bases de Donnes

>1rateur de slection
Considrons la table R E! lo" S .
Code 1000 1001 1002 1003 1004 1005 1006 1007
###

Nom Sarr Kass Mbaye Fall Diatta Ndiaye Fall Tall

Prnom Ibra Cheikh Sidy Tidiane Jean Fatima Sidatte Amadou

Salaire 250 000 400 000 400 000 350 000 650 000 250 000 755 000 455 000

ge 28 45 48 48 45 27 47 49

Dr. CISS-Bases de Donnes

>1rateur de slection
#sultat de Salaire ] FOO OOO/E! lo"1 sur la table E! lo" .

Code 1000 1003 1005

Nom Sarr Fall Ndiaye

Prnom Ibra Tidiane Fatima

Salaire 250 000 350 000 250 000

ge 28 48 27

##2

Dr. CISS-Bases de Donnes

>1rateur de 1ro5ection
Cette o rateur c0oisit un ense!ble de colonnes. La ro(ection de la relation r sur un ense!ble X des attributs) note ar X(r), est une relation obtenue 4 artir de r en li!inant d'abord les colonnes de r non s cifies dans X) uis en su ri!ant tout tu le redondant /les doublons1. La ro(ection s'e, ri!e !at0!ati*ue!ent ar la relation .
X(r) = { t(X) / t r}

##'

Dr. CISS-Bases de Donnes

>1rateur de 1ro5ection
E,e! les d'a lication de l'o rateur de ro(ection . Codes des clients .
Code
client(Client).

?o!s et rno!s des e! lo"s .


Nom,
Prnom(Employ).

?u!ros de tl 0ones et e!ails des rofesseurs .


Numro
tl, Email(Professeur).

##4

Dr. CISS-Bases de Donnes

>1rateur de 1ro5ection
Considrons la table R D arte!ent S .
Code 10 20 30 40 50 60 70 80
##5 Dr. CISS-Bases de Donnes

Nom Comptabilit Informatique Marketing Fabrication Planification Statistique Ventes Formation

Ville Dakar Dakar This Mbour This Dakar Dakar Dakar

>1rateur de 1ro5ection
#sultat de l'o ration Lille/D arte!ent1 diffrents d arte!ents .
Ville Dakar This Mbour

Localisations des

##6

Dr. CISS-Bases de Donnes

>1rateur de 1ro5ection

#sultat de l'o ration ?o!) Lille/D arte!ent1 d arte!ents et leurs localisations.


Nom Comptabilit Informatique Marketing Fabrication Planification Statistique Ventes Formation
##7 Dr. CISS-Bases de Donnes

Les diffrents

Ville Dakar Dakar This Mbour This Dakar Dakar Dakar

>1rateur de 5ointure
C'est une relation binaire *ui er!et d'associer deu, relations d'une !+!e BD. En gnral) cet o rateur associe deu, relations sur tous leurs attributs co!!uns. La (ointure est constitue de tous les tu les rsultant de la concatnation des tu les de la re!ire relation a%ec ceu, de la seconde *ui ont des %aleurs identi*ues our un ense!ble co!!un d'attributs A.
##8 Dr. CISS-Bases de Donnes

>1rateur de 5ointure
Par attributs co!!uns) on entend des attributs *ui) bien *u'ils uissent ne as a%oir le !+!e no!) doi%ent a%oir le !+!e do!aine et la !+!e signification sous-(acente. Soit r une relation a%ec un ense!ble d'attributs relation a%e un ense!ble d'attributs S.
R

et

une

&n su ose de lus *ue R et S aient des attributs co!!uns) et soit X cet ense!ble d'attributs co!!uns.

##"

Dr. CISS-Bases de Donnes

>1rateur de 5ointure
La (ointure de r et s) note r Jointure s) est une nou%elle relation dont les attributs sont les l!ents de R S En outre) our c0a*ue tu le t de cette nou%elle relation) les trois conditions sui%antes doi%ent +tre %rifies. t(R) = tr our un tu le tr de la relation r. t(S) = ts our un tu le ts de la relation s.
tr(X) = ts(X).

#2$

Dr. CISS-Bases de Donnes

>1rateur de 5ointure
E,e! le . Considrons une table R D arte!ent S dont le sc0!a est /ID) ?&M) LILLE1 .
ID 100 200 300 NOM Comptabilit Marketing Ventes &partement VILLE Dakar This Mbour

#2#

Dr. CISS-Bases de Donnes

>1rateur de 5ointure
Et une table R Personnel S dont le sc0!a est /ID) ?&M) DEPC) CIC#E1 .
ID 100 200 300 400
#22

NOM Fall Ba Kass Manga

DEPT Ventes Marketing Comptabilit Comptabilit

TITRE Employ Employ Employ Chef comptable

Dr. CISS-Bases de Donnes

+ersonnel

>1rateur de 5ointure
Dans cet e,e! le) les attributs co!!uns sont les attributs ''?o!'' et ''De t''. Du fait *ue les deu, tables ont un attribut co!!un) ID) our %iter de confondre l'attribut ID de la table D arte!ent a%ec celui de la table ersonnel) il est ncessaire de *ualifier c0a*ue attribut en le faisant sui%re du no! de la table corres ondante a%ant de les (oindre. De la !+!e !anire) l'attribut ?&M des deu, tables doit +tre *ualifie.
#2' Dr. CISS-Bases de Donnes

>1rateur de 5ointure
Dpartement Jointure Personnel

ID DEPT 100 100 200 300

NOM VILLE ID DEPT PERS Comptabilit Dakar 300 Comptabilit Dakar Marketing Ventes This Mbour 400 200 100

NOM PERS Kass Manga Ba Fall

TITRE Employ Chef comptable Employ employ

#24

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
Lunion . L'union de deu, relations r et s est la relation for!e ar les tu les *ui sont rsents dans r ou dans s. Elle se note ar r s. Lintersection . L'intersection de deu, relations r et s est la relation for!e ar les tu les *ui sont rsents si!ultan!ent dans r et s. Elle se note ar r s.

#25

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
La di77rence . La diffrence de deu, relations r et s est la relation for!e ar les tu les *ui sont rsents dans r et non rsents dans s. Elle se note ar r - s.

Pour effectuer l'une de ces trois o rations) il faut *ue les deu, relations r et s soient compatibles. Deu, relations r et s sont dites co! atibles si elles ont le !+!e degr et leurs attributs ont les !+!es do!aines.
#26 Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
E,e! le de l'union . ID 10 11 12 ID 29 12
#27

+rogrammeurs;C PROJET e-commerce Pare-feu e-commerce PROJET Site web e-commerce DEPT Ventes Informatique Ventes DEPT Informatique Ventes

NOM Sarr Ndao Ba

PRENOM Idy Joseph Malick

NOM PRENOM Fall Ba Moussa Malick

Dr. CISS-Bases de Donnes

+rogrammeurs;<a0a

>1rateurs ense3/listes
+rogrammeurs;C +rogrammeurs;<a0a ID 10 11 12 29 NOM Sarr Ndao Ba Fall PRENOM Idy Joseph Malick Moussa PROJET e-commerce Pare-feu e-commerce Site web DEPT Ventes Informatique Ventes Informatique

#28

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
E,e! le de l'intersection . ID 10 11 12 ID 29 12
#2"

+rogrammeurs;C PROJET e-commerce Pare-feu e-commerce PROJET Site web e-commerce DEPT Ventes Informatique Ventes DEPT Informatique Ventes

NOM Sarr Ndao Ba

PRENOM Idy Joseph Malick

NOM PRENOM Fall Ba Moussa Malick

Dr. CISS-Bases de Donnes

+rogrammeurs;<a0a

>1rateurs ense3/listes
+rogrammeurs;C +rogrammeurs;<a0a ID 12 NOM Ba PRENOM Malick PROJET e-commerce DEPT Ventes

#'$

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
E,e! le de la diffrence . ID 10 11 12 ID 29 12
#'#

+rogrammeurs;C PROJET e-commerce Pare-feu e-commerce PROJET Site web e-commerce DEPT Ventes Informatique Ventes DEPT Informatique Ventes

NOM Sarr Ndao Ba

PRENOM Idy Joseph Malick

NOM PRENOM Fall Ba Moussa Malick

Dr. CISS-Bases de Donnes

+rogrammeurs;<a0a

>1rateurs ense3/listes
+rogrammeurs;C = +rogrammeurs;<a0a ID 10 11 NOM Sarr Ndao PRENOM Idy Joseph PROJET e-commerce Pare-feu DEPT Ventes Informatique

+rogrammeurs;<a0a = +rogrammeurs;C ID 29
#'2

NOM Fall

PRENOM Moussa

PROJET Site web

DEPT Informatique

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
Le produit cartsien . Le roduit cartsien de deu, relations r et s est la relation for!e en concatnant tous les tu les de r a%ec tous les tu les de s. Elle se note ar r s. #e!ar*ues .
Degr(r s) = Degr(r) + Degr(s).

le roduit cartsien des relations n'est as co!!utatif.

#''

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
E,e! le du roduit cartsien .

ID_CLIENT ARTICLE 100 200 A B CL E!"

CODE NOM A Bicyclette B Chaussures C Lunettes D Gants +$(&. "

PRIX 75000 25900 15000 7500

#'4

Dr. CISS-Bases de Donnes

>1rateurs ense3/listes
ID_CLIENT 100 100 100 100 200 200 200 200 ARTICLE CODE A A A A B B B B A B C D A B C D NOM Bicyclette Chaussures Lunettes Gants Bicyclette Chaussures Lunettes Gants PRIX 250 90 150 35 250 90 150 35

CL E!" +$(&. "


#'5 Dr. CISS-Bases de Donnes

6e langage S=6

Introduction
SQL est un langage *ui er!et d'interroger une BD sans se soucier de la re rsentation interne / 0"si*ue1 des donnes) de leur localisation) des c0e!ins d'accs ou des algorit0!es ncessaires. &n eut l'utiliser de !anire interacti%e) !ais gale!ent en association a%ec des interfaces gra 0i*ues) ou trs gnrale!ent des langages de rogra!!ation.

#'7

Dr. CISS-Bases de Donnes

Slections si31les
Considrons la table R Etudiant S sui%ante.
CE 2010MTL 2010YHT 201034K 2010KOL 2010SK1
#'8 Dr. CISS-Bases de Donnes

Nom Sow Diop Ndiaye Fall Seck

Prenom Yaya Khadim Abib Abdou khady

Ville_Nce Pikine This Pikine Dakar Dakar

Slections si31les
Pre!ire re*u+te. &n %eut connaitre le rno! et le no! de tous les tudiants *ui sont ns 4 Pi3ine. SELECT prenom, nom FROM WHERE ville_nce=Pikine Etudiant

Ce re!ier e,e! le !ontre la structure de base d'une re*u+te SQL) a%ec les trois clauses SELECT) FROM et WHERE.

#'"

Dr. CISS-Bases de Donnes

Slections si31les
FROM indi*ue la /ou les1 tables dans les*uelles on trou%e les

attributs utiles 4 la re*u+te.


SELECT indi*ue la liste des attributs constituant le rsultat. WHERE indi*ue les conditions *ue doi%ent satisfaire les n-

u lets de la base our faire artie du rsultat.

#4$

Dr. CISS-Bases de Donnes

Slections si31les
Dans l'e,e! le rcdent) l'inter rtation est si! le . on arcourt les n-u lets de la relation Etudiant. Pour c0a*ue n-u let) si l'attribut ville_nce a our %aleur Pikine) on lace les attributs Prenom et nom dans le rsultat. &n obtient donc le rsultat .
Prenom Yaya Abib Nom Sow Ndiaye

#4#

Dr. CISS-Bases de Donnes

Slections si31les
Le rsultat d'un ordre SQL est tou(ours une relation /une table1 dont les attributs sont ceu, s cifis dans la clause SELECT. &n eut donc considrer en re!ire a roc0e ce rsultat co!!e un 'dcou age') 0ori<ontal et %ertical) de la table indi*ue dans le FROM) si!ilaire 4 une utilisation co!bine de la slection et de la ro(ection en algbre relationnelle. &n eut aussi a li*uer des fonctions au, %aleurs de c0a*ue tu le. Les fonctions a licables au, %aleurs des attributs sont ar e,e! les les o rateurs arit0!ti*ues our les attributs nu!ri*ues ou des !ani ulations de c0aines de caractres /concatnation) sous-c0a\ne) !ise en !a(uscule) X1 .
#42 Dr. CISS-Bases de Donnes

Slections si31les
E,e! le. SELECT prenom, UPPER(nom) FROM Etudiant WHERE ville_nce=Pikine &n e,trait cette fois ci le rno!) le no! en !a(uscule de tous les tudiants ns 4 Pi3ine. &n obtient alors.
Prenom Yaya Abib
#4' Dr. CISS-Bases de Donnes

Nom SOW NDIAYE

6es dou/lons
SQL er!et l'e,istence de doublons dans les tables /il ne s'agit donc as d'ense!ble au sens strict du ter!e1. La s cification de cls er!et d'%iter les doublons dans les relations stoc3es) !ais il eu%ent a ara\tre dans le rsultat d'une re*u+te. E,e! le . SELECT ville_nce FROM Etudiant

#44

Dr. CISS-Bases de Donnes

6es dou/lons
&n obtient alors.
Ville_Nce Pikine This Pikine Dakar Dakar

#45

Dr. CISS-Bases de Donnes

6es dou/lons
Pour %iter d'obtenir des tu les identi*ues) on eut utiliser la clause DISTINCT E,e! le.
SELECT DISTINCT ville_nce FROM Etudiant

Attention. L'li!ination des doublons eut +tre une o ration couteuse.

#46

Dr. CISS-Bases de Donnes

7ri des rsultats


Il est ossible de trier le rsultat d'un re*u+te a%ec la clause ORDER BY sui%ie de la liste des attributs ser%ant de critre au tri. E,e! le. SELECT * FROM Etudiant ORDER BY nom

#47

Dr. CISS-Bases de Donnes

7ri des rsultats


&n obtient la liste des tudiants trie ar ordre al 0abti*ue.
CE 2010YHT 2010KOL 201034K 2010SK1 2010MTL Nom Diop Fall Ndiaye Seck Sow Prenom Khadim Abdou Abib khady Yaya Ville_Nce This Dakar Pikine Dakar Pikine

Pour trier en ordre dcroissant) on a(oute le !ot cl DESC a rs la liste des attributs.
#48 Dr. CISS-Bases de Donnes

6a clause WHERE
Dans la clause WHERE) on s cifie une condition boolenne ortant sur les attributs des relations du FROM. &n utilise our cela de !anire standard le AND) le OR) le NOT et les arent0ses our c0anger l'ordre de riorit des o rateurs boolens. E,e! le.
SELECT prenom, nom FROM Etudiant WHERE ville_nce = Pikine OR prenom = Khady
Dr. CISS-Bases de Donnes

#4"

6a clause WHERE
&n obtient.
Prenom 2010MTL 201034K 2010SK1 Nom Sow Ndiaye Seck

#5$

Dr. CISS-Bases de Donnes

Date
Il est ossible de !ani uler des dates. Cous les s"st!es ro osaient bien a%ant la nor!alisation leur ro re for!at de date) et la nor!e rconise ar le SQL2 n'est de ce fait as sui%ie ar tous. 7ne date est s cifie en SQL2 ar le !ot-cl DACE sui%i d'une c0a\ne de caractres au for!at aaaa-mm-jj, ar e,e! le DATE 2011-03-09 Les <ros sont ncessaires afin *ue le !ois et le *uanti!e co! rennent s"st!ati*ue!ent deu, c0iffres. Dr. CISS-Bases de Donnes

#5#

Date
&n eut effectuer des re*u+tes 4 l'aide des co! arateurs usuels. Su osons ar e,e! le *u'il " ait une colonne date_de_nce dans la table Etudiant. &n eut alors lister l'ense!ble des tudiants *ui sont ns entre le -er 9an%ier -IJ= et le OI Mars -IWJ.
SELECT prenom, nom FROM Etudiant WHERE date_de_nce BETWEEN DATE 1973-01-01 AND DATE 1987-03-09

#52

Dr. CISS-Bases de Donnes

9e*u?tes sur 1lusieurs ta/les


Les re*u+tes SQL dcrites dans cette section er!ettent de !ani uler si!ultan!ent lusieurs tables et d'e, ri!er les o rations binaires de l'algbre relationnelle . (ointure) roduit cartsien) union) intersection) diffrence.

#5'

Dr. CISS-Bases de Donnes

>1rateur de 5ointure
E,e! le . Considrons une table R D arte!ent S dont le sc0!a est /ID) LIBELLE) LILLE1 .
ID 100 200 300 LIBELLE Comptabilit Marketing Ventes &partement VILLE Dakar This Mbour

#54

Dr. CISS-Bases de Donnes

>1rateur de 5ointure
Et une table R Personnel S dont le sc0!a est /ID) ?&M) DEPC) CIC#E1 .
ID 100 200 300 400
#55

NOM Fall Ba Kass Manga

DEPT Ventes Marketing Comptabilit Comptabilit

TITRE Employ Employ Employ Chef comptable

Dr. CISS-Bases de Donnes

+ersonnel

@ointures
La (ointure est une des o rations les lus utiles /et donc une des lus courantes1 uis*u'elle er!et d'e, ri!er des re*u+tes ortant sur des donnes r arties dans lusieurs tables. La s"nta,e our e, ri!er des (ointures a%ec SQL est une e,tension directe de celle tudie rcde!!ent dans le cas des slections si! les . on donne si! le!ent la liste des tables concernes dans la clause FROM) et on e, ri!e les critres de ra roc0e!ent entre ces tables dans la clause WHERE.

#56

Dr. CISS-Bases de Donnes

@ointures
Prenons l'e,e! le de la re*u+te sui%ante . donner le no! des e! lo"s a%ec le no! des %illes o6 ils tra%aillent.
SELECT nom, ville FROM Personnel, Departement WHERE dept = libelle

#57

Dr. CISS-Bases de Donnes

@ointures
&n eut re!ar*uer *u'il n'" a as dans ce cas d'a!biguit sur les no!s des attributs . no! et de t %iennent de la table Personnel) tandis *ue %ille et no! %iennent de la table D arte!ent. Il eut arri%er /il arri%e de fait fr*ue!!ent1 *u'un !+!e no! d'attribut soit artag ar lusieurs tables i! li*ues dans une (ointure. Dans ce cas on rsout l'a!biguit en rfi,ant l'attribut ar le no! de la table.

#58

Dr. CISS-Bases de Donnes

UnionA Intersection et Diffrence


L'e, ression de ces trois o rations ense!blistes en SQL est trs roc0e de l'algbre relationnelle. &n construit deu, re*u+tes dont les rsultats ont !+!e arit /!+!e no!bre de colonnes et !+!es t" es d'attributs1) et on les relie ar un des !ot-cl UNION) INTERSECT ou EXCEPT. Illustrons ar les trois e,e! les sui%ants.

#5"

Dr. CISS-Bases de Donnes

UnionA Intersection et Diffrence


+rogrammeurs;C ID 10 11 12 ID 29 12
#6$

NOM Sarr Ndao Ba

PRENOM Idy Joseph Malick

PROJET e-commerce Pare-feu e-commerce PROJET Site web e-commerce

DEPT Ventes Informatique Ventes DEPT Informatique Ventes

NOM PRENOM Fall Ba Moussa Malick

Dr. CISS-Bases de Donnes

+rogrammeurs;<a0a

UnionA Intersection et Diffrence


Cous les rogra!!eurs de la BD SELECT * FROM Programmeur_C UNION SELECT * FROM Programmeur_Java Pro!gra!!eurs C et 9a%a 4 la fois SELECT * FROM Programmeur_C INTERSECT SELECT * FROM Programmeur_Java

#6#

Dr. CISS-Bases de Donnes

UnionA Intersection et Diffrence


Progra!!eurs C *ui ne sont as rogra!!eurs 9a%a SELECT * FROM Programmeur_C EXCEPT SELECT * FROM Programmeur_Java Progra!!eurs 9a%a *ui ne sont as rogra!!eurs C SELECT * FROM Programmeur_Java EXCEPT SELECT * FROM Programmeur_C

#62

Dr. CISS-Bases de Donnes

+grgation
Les fonctionnalits d'agrgation de SQL er!ettent d'e, ri!er des conditions sur des grou es de tu les) et de constituer le rsultat ar agrgation de %aleurs au sein de c0a*ue grou e. La s"nta,e SQL fournit donc le !o"en de artitionner une relation en grou es selon certains critres) le !o"en d'e, ri!er des conditions sur ces grou es) des fonctions d'agrgation.

#6'

Dr. CISS-Bases de Donnes

onctions d!agrgation
Ces fonctions s'a li*uent 4 une colonne) en gnral de t" e nu!ri*ue. Ce sont .
COUNT *ui co! te le no!bre de %aleurs non nulles! MAX et MIN. AVG *ui calcule la !o"enne des %aleurs de la colonne. SUM *ui effectue le cu!ul.

#64

Dr. CISS-Bases de Donnes

onctions d!agrgation
Considrons la table R E! lo" S .
Code 1000 1001 1002 1003 1004 1005 1006 1007
#65

Nom Sarr Kass Mbaye Fall Diatta Ndiaye Fall Tall

Prnom Ibra Cheikh Sidy Tidiane Jean Fatima Sidatte Amadou

Salaire 250 000 400 000 400 000 350 000 650 000 250 000 755 000 455 000

ge 28 45 48 48 45 27 47 49

Dr. CISS-Bases de Donnes

onctions d!agrgation
E,e! le. SELECT COUNT(Code), AVG(Salaire), MIN(Salaire), MAX(Salaire), SUM(Salaire) FROM Employe ;

#66

Dr. CISS-Bases de Donnes

6a clause G9>UP BB
Dans les re*u+tes rcdentes) on a li*uait la fonction d'agrgation 4 l'ense!ble du rsultat d'une re*u+te /donc %entuelle!ent 4 l'ense!ble de la table elle-!+!e1. 7ne fonctionnalit co! l!entaire consiste 4 artitionner ce rsultat en grou es) et 4 a li*uer la ou les fonction/s1 4 c0a*ue grou e. &n construit les grou es en associant les tu les artageant la !+!e %aleur our une ou lusieurs colonnes

#67

Dr. CISS-Bases de Donnes

6a clause G9>UP BB
E,e! le. Affic0er le salaire a%ec le no!bre d'e! lo"s corres ondant
SELECT Salaire , COUNT(Code) FROM Employe GROUP BY Salaire

#68

Dr. CISS-Bases de Donnes

(ise , 5our4 Insertion


L'insertion s'effectue a%ec la co!!ande I?SE#C dont la s"nta,e est la sui%ante .
INSERT INTO R( A1, A2, ... An) VALUES (v1, v2, ... vn) R est le no! d'une relation) et les A1, ... An sont les no!s des

attributs dans les*uels on sou0aite lacer une %aleur. Les autres attributs seront donc 4 NULL /ou 4 la %aleur ar dfaut1. Cous les attributs s cifis NOT NULL /et sans %aleur ar dfaut1 doi%ent donc figurer dans une clause INSERT. Les v1, ... vn sont les %aleurs des attributs.
#6" Dr. CISS-Bases de Donnes

(ise , 5our4 Insertion


E,e! le.
INSERT INTO Employe VALUES (1008, Kane, Saliou, 350000,31);

INSERT INTO Employe (code, nom,prenom) VALUES (1009, Fall, Doudou);

#7$

Dr. CISS-Bases de Donnes

(ise , 5our4 Su11ression


La su ression s'effectue a%ec la clause DELECE dont la s"nta,e est .
DELETE FROM R WHERE condition R est bien entendu la table) et condition est toute condition %alide our une clause WHERE.

E,e! le. DELECE >#&M E! lo"e `;E#E Age ^ KU T


#7# Dr. CISS-Bases de Donnes

(odification
La !odification s'effectue a%ec la clause UPDATE. La s"nta,e est roc0e de celle du DELETE .
UPDATE R SET A1=v1, A2=v2, ... An=vn WHERE condition R est la relation) les Ai sont les attributs) les vi les nou%elles %aleurs et condition est toute condition %alide our la clause WHERE

#72

Dr. CISS-Bases de Donnes

Inde, transactions Criggers Ad!inistration Securit" /0as0) ci 0er1

#7'

Dr. CISS-Bases de Donnes

Vous aimerez peut-être aussi