Bases de Données

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

Contenu
Présentation générale
Introduction Définitions

Modèles et langages
Modèle Entité-Association Modèle relationnel Algèbre relationnelle Langage SQL Dé endances fonctionnelles et nor!alisation

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

Conce ts a%ancés
Sécurité & ti!isation
2 Dr. CISS-Bases de Données

Présentation générale

bases de données) de conce%oir et de !ani uler ces dernières. CISS-Bases de Données . 4 Dr.Introduction L'ob(ectif de ce cours est d'étudier les rinci es des bases de données) des bases de données relationnelles lus récisé!ent) et la !ise en rati*ue de ces rinci es. A la fin de ce cours) l'étudiant doit +tre en !esure de décrire et de !ettre en rati*ue les notions essentielles liées au.

/a1 organisation et descri tion des données /b1 stoc3age sur dis*ue /c1 artage des données /d1 confidentialité des données de c0a*ue utilisateur /e1 erfor!ance) efficacité 5 Dr. Définition 2. une base de données est un ense!ble structuré de données /a1 enregistrées sur des su orts accessibles ar l'ordinateur /b1 our satisfaire lusieurs utilisateurs si!ultané!ent/c1 de !anière sélecti%e /d1 en un te! s o ortun /e1.Définitions Définition -. CISS-Bases de Données . une base de données est un ense!ble d'infor!ations /fic0iers1 artagé ar lusieurs utilisateurs.

L'utilisation directe des fic0iers soulè%e de très gros roblè!es Lourdeur d'accès au. le rogra!!eur doit connaitre le c0e!in d'accès au. si tout utilisateur eut accéder directe!ent au.Utilisation directe des fichiers &n eut re!ar*uer *u'une organisation consistant en un /ou lusieurs1 fic0ier/s1 stoc3és sur !é!oire secondaire est confor!e 4 cette définition. fic0iers) il est i! ossible de garantir la sécurité et l'intégrité des données Pas de contr5le de concurrence. CISS-Bases de Données . fic0iers. données. dans un en%ironne!ent o6 lusieurs utilisateurs accèdent au. fic0iers) la structure 0"si*ue des enregistre!ents) le !ode d'accès 4 ces fic0iers Man*ue de sécurité. en rati*ue) our c0a*ue accès) !+!e le lus si! le) il faut écrire un rogra!!e) il faut donc +tre un e. !+!es fic0iers) il est *uasi i! ossible de gérer les accès concurrents. 6 Dr. ert en rogra!!ation C0e!in d'accès au.

Ce logiciel est a elé s"stè!e de gestion de bases de données /S$BD1.Utilisation directe des fichiers #ecours 4 un logiciel c0argé de gérer les fic0iers constituant une base de données) de rendre en c0arge les fonctionnalités de rotection et de sécurité) et de fournir les différents t" es d'interfaces nécessaires 4 l'accès au. CISS-Bases de Données . données. liés 4 la gestion des fic0iers 7 Dr. 7ne des t8c0es rinci ales d'un S$BD est de !as*uer 4 l'utilisateur les détails très co! le.es et fastidieu.

un s"stè!e de gestion de bases de données /S$BD1 est un logiciel de 0aut ni%eau *ui er!et de !ani uler les infor!ations stoc3ées dans une base de données. CISS-Bases de Données .e! les. 7n S$BD er!et de créer et de !aintenir une base de données Définition d'une base de données /!odélisation) s écification des données 4 stoc3er1 Construction de la base de données /stoc3age effectif des données1 Mani ulation des données /a(outer) su ri!er) rec0erc0er1 E. 8 Dr.SGBD Définition. &racle) IBM DB2) M"SQL) PostgreSQL) Microsoft SQL Ser%er) Access) etc.

attribution de !ots de asse autorisations d'accès #ésoudre les roblè!es d'accès !ulti les blocages inter blocages #e rise en cas de annes sau%egarde des données (ournau. " Dr. CISS-Bases de Données . contraintes de do!aines contraintes d'e.onctions d!un SGBD Définir des contraintes d'intégrité sur une BD.istence Définir des rotections d'accès.

CISS-Bases de Données .onctions d!un SGBD #$ Dr.

autres utilisateurs de la BD ## Dr. CISS-Bases de Données .Utilisateurs d!une BD 7ne BD est accessible ar lusieurs utilisateurs ) c0acun a%ec des ob(ectifs bien récis et selon des interfaces définies 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 données se c0arge de l'i! lé!entation de celle-ci) assigne ou su ri!e des ni%eau. d'accès au.

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

#' Dr. CISS-Bases de Données . Créer un co! te d'utilisateur our un e! lo"é nou%elle!ent e!bauc0é -.%&ercice Indi*uer *uel t" e d'utilisateur doit e. C0anger dans la BD l'adresse d'un e! lo"é *ui a dé!énagé =.é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 générer et i! ri!er les c0è*ues 2.

tension du !odèle 0iérarc0i*ue /liens) arborescence1 Modèle relationnel. E.e! le >ic0iers lats.(od)les de données 7n !odèle de données est un !o"en our décrire la for!e logi*ue des données. e. CISS-Bases de Données . accès sé*uentiel Modèle 0iérarc0i*ue. basé sur les ob(ets #4 Dr. !odèle en arborescence Modèle réseau. !odèle en tables ou relations Modèle ob(et.

CISS-Bases de Données Orienté objet 1990 Relationnel 1974-77 .Chronologie des SGBD Network fin-1960 Fichiers plats Hiérarchique mi-1960 #5 Dr.

CISS-Bases de Données .e! le Cours Mat0s P0"si*ue C0i!ie $auss #6 ?e@ton Bo0r ?e@ton Monge Dr.(od)le hiérarchi*ue 7n S$BD 0iérarc0i*ue résente les données sous for!e d'un arbre /structure arborescente1. E.

(od)le hiérarchi*ue
Incon%énients #edondance des données Mani ulation difficile de données 0étérogènes AML. une a lication actuelle des S$BD 0iérarc0i*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 0iérarc0i*ue le lus connu

#7

Dr. CISS-Bases de Données

(od)le réseau
7n S$BD réseau résente les données 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 Données

Monge

(od)le réseau
7n a%antage ar ra ort au !odèle 0iérarc0i*ue est la non redondance des données. Incon%énients Le sc0é!a de la BD de%ient %ite co! le,e *uand la *uantité de données est tro i! ortante /co!bien de liens faudra t-il gérerB1 Modèle très rigide our une e, loitation future E,e! le. S&C#ACE /S"stè!e &ffrant 4 la Clientèle des réser%ations d'Affaires et de Couris!e en Euro e1
#" Dr. CISS-Bases de Données

CISS-Bases de Données Conditions Conditions de sol CoDt .%&ercice le !odèle de données sui%ant est il 0iérarc0i*ue ou réseauB Plante Instructions de la lantation Lu!inosité nécessaire 2$ Dr.

CISS-Bases de Données . 2# Dr. L'organisation 0"si*ue des données est rise en c0arge ar le S$BD. 7n LDD er!et 4 l'utilisateur de définir l'organisation des données au ni%eau logi*ue /conce tuel) abstrait1.+rchitecture d!un SGBD Les BD re osent sur la sé aration effecti%e des données et des rogra!!es *ui les e. loitent 7n S$BD doit fournir un langage de définition des données /LDD1 et un langage de !ani ulation des données /LMD1.

Il est définit ar le conce teur de la BD au !o"en du LDD 22 Dr.+rchitecture d!un SGBD 7n LMD er!et 4 l'utilisateur de saisir) de récu érer et de !ettre 4 (ours les infor!ations d'une base de données. CISS-Bases de Données . 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 décrit l'organisation abstraite du future s"stè!e de BD.

%&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. 2' Dr. Définir une table d'in%entaire =. CISS-Bases de Données . Entrer les infor!ations d'un nou%el e! lo"é -.

+rchitecture . Le S$BD rend en c0arge ce ni%eau ?i%eau conce tuel.terne. 24 Dr. L'ad!inistrateur se c0arge de définir le sc0é!a conce tuel de la BD au !o"en du LDD. ?i%eau interne. Ces derniers utilisent une %ue /ou !odèle !ental1 de la BD et de son contenu. et les dé%elo eurs. concerne le stoc3age 0"si*ue des données sur les !é!oires de !asse. concerne les utilisateurs finau. ?i%eau e. concerne la définition logi*ue des données. trois ni-eau& Cette arc0itecture a été i! osée co!!e standard /A?SIESPA#C1 Elle est basée sur trois ni%eau. CISS-Bases de Données .

+ssociation .(od)le %ntité.

Présentation glo/ale de l0a11roche Modélisation conce tuelle caractérisée ar les F éta es sui%antes . on dé%elo e un ense!ble dGo érateurs for!els our !ani uler ces ob(ets for!els. 26 Dr. on identifie des conce ts sé!anti*ues utiles our décrire la BD on i!agine lGense!ble dGob(ets s"!boli*ues *ui sont utilisés our re résenter ces conce ts sé!anti*ues on i!agine un ense!ble de règles dGintégrité for!elles our donner une signification 4 ces ob(ets for!els. CISS-Bases de Données .

Présentation glo/ale de l0a11roche Conce t E?CICE P #&P#IECE ASS&CIACI&? Définition for!elle un ob(et *ue l'on eut distinguer une infor!ation *ui décrit une entité une entité *ui er!et de connecter 2 entités ou lus E.e! les >ournisseur) ièce) cargaison) Personne E! lo"é) dé arte!ent ?H fournisseur) *té cargaison) dé arte!ent d'e! lo"é) oids de ersonne Cargaison/ fournisseur.dé arte!ent1 27 Dr.ièce1 Affectation/ e! lo"é. CISS-Bases de Données .

28 Dr. les entités /et les associations1 sont décrites ar des ro riétés caractérisées ar un no! et un t" e Association /définition de C0en1.Un a1er2u du 3od)le %. Elle eut +tre binaire) ternaire ou n-aire. lien entre entités. CISS-Bases de Données . c0ose *ui distincte!ent eut +tre identifiée Pro riété /ou Attribut1 . Entité /définition de C0en1 .+ 4 les o/5ets sé3anti*ues Modèle introduit ar C0en en -IJK) raffiné ar C0en et dGautres.

C0acune de ces lignes est éti*uetée ar la cardinalité de lGassociation. 2" Dr.6es diagra33es %.+ Les entités #e résentées ar un rectangle contenant le no! du t" e de lGentité Les ro riétés /ou attributs1 le no! de la ro riété écrit dans lGentité ou lGassociation corres ondante les attributs clés sont soulignés Les associations #e résentées ar une elli se contenant le no! de lGassociation Les entités artici antes de c0a*ue association sont rattac0ées 4 lGassociation au !o"en de lignes continues. CISS-Bases de Données .

CISS-Bases de Données .%ntité E?CICE 7ne entité est un conce t our%u dGune e.C#A9EC) CLIMAC S"non"!es .istence ro re confor!e au. CLIE?C) EC7DIA?C ou une notion abstraite . I?DIL7D7) &B9EC '$ Dr. besoins de gestion de lGentre rise Elle eut re résenter une notion concrète .

ou lusieurs entités. #ELACI&? '# Dr. Sou%ent no!!é ar un %erbe ou un substantif S"non"!e . CISS-Bases de Données .+ssociation 7ne association est un lien sé!anti*ue entre deu.

Pro1riété
P#&P#IECE . 7ne ro riété est une donnée élé!entaire er!ettant de décrire une entité ou une association. Cette donnée eut se !esurer ar une %aleur. S"non"!e . ACC#IB7C #E$LES DE BASE . 7ne entité ossède 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 Données

Un diagra33e

''

Dr. CISS-Bases de Données

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 caractères) 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 Données

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

Cardinalités Association -)7n client donné ne co!!ande *uGun seul roduit. 7n roduit donné nGest co!!andé *ue ar un seul client.1 Commande 1. CISS-Bases de Données . CLIENT 1.1 PRODUIT '6 Dr.

N Commande 1.1 PRODUIT '7 Dr. 7n roduit donné nGest co!!andé *ue ar un seul client. CISS-Bases de Données . CLIENT 1.Cardinalités Association -)? 7n client donné co!!ande lusieurs roduits.

1 PRODUIT '8 Dr.N Commande 0. CLIENT 1.Cardinalités 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é. CISS-Bases de Données .

CISS-Bases de Données . Pour calculer la cardinalité) se P&SICI&??E# sur lGentité concernée et regarder E? >ACE co!bien de fois lGune de ses occurrences artici e 4 lGassociation. '" Dr.Cardinalités #ecette . Puis se DEPLACE# du c5té de lGautre entité et faire la !+!e c0ose dans lGautre sens.

Cardinalités 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 Données .

N 1. CISS-Bases de Données . voire plusieurs 4# Dr.Cardinalités O.1 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.1 .

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

CISS-Bases de Données .Les identifiants 4' Dr.

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

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

46 Dr. CGest lGas ect SEMA?CIQ7E.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 définitions des conce ts du !odèle sont bien res ectées. Mais un !odèle bien for!é nGest as nécessaire!ent con%enable. Elles concernent donc lGas ect SP?CAAIQ7E des sc0é!as. CISS-Bases de Données .

C0acune des ro riétés dGune entité doit caractériser toute occurrence de cette entité de la !+!e !anière. E. 47 Dr. Dans une bibliot0è*ue) on gère des ou%rages.e! le . Per!et de garantir *ue toutes les occurrences dGune entité sont distinctes. Soit lGentité sui%ante) *uGen ense< %ous B .9)gles relati-es au& entités 7ne entité ossède au !oins une ro riété . Les uns sont ac0etés en librairie et les autres !is 4 dis osition gratuite!ent ar les éditeurs. son identifiant. CISS-Bases de Données .

iste une occurrence dGassociation) alors il e.9)gles relati-es au& associations SGil e.i%e1. Deu. occurrences dGune entité ne eu%ent artici er 4 la !+!e occurence de lGassociation /sauf si lGassociation est réfle. CISS-Bases de Données . 48 Dr.iste nécessaire!ent une occurrence de c0acune des entités associées.

lors*uGelle est constituée dGune agrégation de ro riétés lus élé!entaires . faNons our une ro riété de ne as +tre ato!i*ue . 4" Dr.9)gles relati-es au& 1ro1riétés 7ne !+!e ro riété ne eut figurer *ue sur 7? SE7L ob(et /*ue ce soit une entité ou une association1. CISS-Bases de Données . Do!iciliation bancaire est un co! osé de . Il " a deu. 7ne ro riété doit +tre ELEME?CAI#E) ato!i*ue) de telle sorte *uGon ne uisse as la déco! oser. La ro riété Enfants our une Personne est !ulti%aluée et nGest donc as élé!entaire. Code ban*ue) Code $uic0et) ?H Co! te) Clé lors*uGelle ad!et lusieurs %aleurs co!!e cGest le cas dans une liste .

4-dire .9)gles relati-es au& 1ro1riétés 7ne ro riété doit dé endre PLEI?EME?C /cGest. 7ne ro riété doit dé endre DI#ECCEME?C de lGidentifiant /cGest-4-dire sans asser ar lGinter!édiaire dGune autre ro riété1. Elle %ise 4 e! +c0er des redondances et er!et de !ettre 4 (our une entité *ui était i!bri*uée dans un ob(et /entité ou association1 5$ Dr. CISS-Bases de Données 50 . de la totalité1 de lGidentifiant /é%iter des redondances de %aleurs dans la base de données1.

(od)le 9elationnel .

:oca/ulaire des BD9 Dans les années JO) E. le !odèle relationnel /M#1 our les s"stè!es de bases de données. Codd a décrit une nou%elle sorte de !odèle. 7n S$BD relationnel /S$BD#1 est un S$BD fondé sur le !odèle relationnel. CISS-Bases de Données . 52 Dr. Dans le !odèle relationnel) les infor!ations sont enregistrées dans des tables /a elées égale!ent relations1 .>.

dans un S$BD#) les données sont logi*ue!ent erNues sous for!e de tables) !ais elles ne le sont as 0"si*ue!ent. CISS-Bases de Données . 5' Dr. Cette re résentation est ure!ent logi*ue et non 0"si*ue. 7ne relation est re résentée sous for!e de tables /ou tableau. di!ensions *ui res ectent certaines conditions.1 4 deu.:oca/ulaire des BD9 7ne BD relationnelle /BD#1 est un ense!ble de relations.

54 Dr. table QClient' table QProduit' table Q>acture' table Q>ournisseur' table QCo!!ande') etc.:oca/ulaire des BD9 C0a*ue table est identifiée ar un no! uni*ue Exemple. CISS-Bases de Données . dans une BD# décri%ant une société) on eut retrou%er les tables sui%antes.

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

e! le. unitaire S et R *uantité en stoc3 S.:oca/ulaire des BD9 Le degré d'une table est le no!bre des ses attributs ou colonnes. E. Donc) le degré de la table QProduit ' est égal 4 F. R code roduitS) R libellé du roduit S) R ri. 56 Dr. CISS-Bases de Données . La table QProduit' contient les colonnes sui%antes.

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

our la table QProduit') les do!aines sont. Do!/code roduit1. un sous-ense!ble de c0aines de caractères désignant le code roduitT Do!/libellé1. l'ense!ble des no!s de tous les roduitsT Do!/ ri. unitaire1. CISS-Bases de Données . 58 Dr.:oca/ulaire des BD9 E. un sous-ense!ble de l'ense!ble des entiers ositifs.e! le. un sous-ense!ble de l'ense!ble des réels ositifsT Do!/*uantité en stoc31.

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.:oca/ulaire des BD9 Les données 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. CISS-Bases de Données .

6$ Dr.:oca/ulaire des BD9 Les lignes ou les tu les d'une table sont égale!ent a elées des enregistre!ents. Les enregistre!ents d'une table ont le !+!e for!at et re résentant des ob(ets du !onde réel. Le no!bre total des enregistre!ents résents dans une table est a elé la cardinalité de la table. CISS-Bases de Données .

:oca/ulaire des BD9 #e!ar*ues. Le degré d'une table est fi. elle eut c0anger au cours du te! s / ar effet d'a(out ou de su ression d'enregistre!ents de la table1. CISS-Bases de Données .e /ne c0ange as1 La cardinalité d'une table est d"na!i*ue. 6# Dr.

CISS-Bases de Données . Alors. unitaire1 V -UOO T t/Quantité1 VUW T 62 Dr. considérons le second tu le de la relation QProduit' / age UI1.e! le. E. t/Code Produit1 V CL-O2T t/Libellé1 V Cla%ier -O2T t/Pri.:oca/ulaire des BD9 Pour une relation # donnée) our un attribut A de # et un tu le t de # ) on note t/A1 la %aleur de l'entrée du tu le t *ui se trou%e 4 la colonne A.

:oca/ulaire des BD9 #ègles d'or 4 retenir our une BD#. CISS-Bases de Données . 6' Dr. 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'entrées.

64 Dr. lignes identi*ues.: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 entrée de c0a*ue ligne doit +tre une %aleur uni*ue L'ordre des ligne est sans i! ortance du fait *u'elles sont identifiées ar leur contenus et non ar leur osition Il est i! ossible d'a%oir deu. CISS-Bases de Données .

Dr. # V YA-) A2) X) AnZ A c0a*ue attribut Ai est associé un ense!ble non %ide de %aleurs a elées do!aine de l'attribut Ai et noté Di V Do! /Ai1 Soit D le roduit cartésien des ense!bles Di) ie D V D-× D2 × X × Dn.or3alis3e 3athé3ati*ue 7n sc0é!a relationnel # est un ense!ble fini de no!s d'attributs A-) A2) X) An. CISS-Bases de Données 65 . 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. &n écrit.

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.or3alis3e 3athé3ati*ue 7ne corres ondance indi%iduelle t3 est a elée tu le /ou ntu le1. Le degré de r est deg(r) = n 66 Dr. CISS-Bases de Données . Pour tout élé!ent t de r) on a t/Ai1 ∈ Di La cardinalité de r est card(r) = m.

e! le d'une table 'Lol Q .or3alis3e 3athé3ati*ue E. Numéro 83 84 109 213 214 67 Départ Dakar Dakar Thiès Thiès St Louis Arrivée H_départ 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 Données .

OO) O. Do!/?u!éro1 V Y-) 2) =) X) IIIZ.or3alis3e 3athé3ati*ue Le sc0é!a relationnel corres ondant 4 la table RLols S est Lols /?u!éro) Dé art) Arri%ée) .[dé art) .O-) X) 2=.[arri%1 V YO. Do!/.[arri%1. CISS-Bases de Données .UW) 2=. Do!/Dé art1 V Do!/Arri%ée1 V YDa3ar) C0iès) St Louis) Ca S3iring)Ca!ba) DiourbelZ. 68 Dr.UIZ.[dé art1 V Do!/.

otion de clé La notion de clé est un conce t fonda!ental du !odèle relationnel arce *u'elle fournit le !écanis!e de base our récu érer des tu les dans une table d'une BD. 6" Dr. La clé d'une relation est le lus etit sous-ense!ble des attributs *ui er!et d'identifier c0a*ue ligne de !anière uni*ue. CISS-Bases de Données ..

des clés candidates de la table QLols' eu%ent +tre.clés candidates et clé 1ri3aire E. L'une d'elles doit +tre désignée co!!e clé ri!aire. 7$ Dr. CISS-Bases de Données .e! le. Les %aleurs de la clé ri!aire er!ettent d'identifier de !anière uni%o*ue un tu le de la relation. une relation eut co! orter lusieurs clés candidates.[dé artZ #e!ar*ue. Y?u!éroZ YDé art) Arri%ée) .

7# Dr. E.e! le.Clés 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! osée si elle contient au !oins deu. CISS-Bases de Données .[Dé artZ est co! osée. la clé ri!aire Y?u!éroZ est uni*ue alors *ue YDe art) Arri%ée) . attributs.

CISS-Bases de Données .[arri%Z.e! le.[dé art) .[dé art) . Y?u!éro) Dé art) Arri%ée) .clés candidates et clé 1ri3aire Les attributs de la clé ri!aire sont soulignés our les distinguer des autres attributs ne faisant as artie de la clé. Y?u!éro) Dé art) Arri%ée) . 72 Dr.[arri%Z ou bien . le sc0é!a relationnel de la table QLols' se résente ainsi. E.

Dans une table contenant des données descri ti%es sur les élé!ents c0i!i*ues) le Q oids ato!i*ue' serait une clé ri!aire naturelle.clés candidates et clé 1ri3aire Les clés ri!aires sont définies au !o"en d'instruction LDD et sont auto!ati*ue!ent i! osées ar le S$BD#. 7' Dr. Les clés ri!aires eu%ent +tre naturelles ou artificielles. Les clés ri!aires sont générale!ent définies au !o!ent de la création des tables. CISS-Bases de Données .

?u!éro d'assurance sociale ?u!éro de er!is de conduire ?u!éro de carte de crédit ?u!éro de carte d'étudiant) etc. 74 Dr. CISS-Bases de Données .e! les.clés candidates et clé 1ri3aire Il faut noter *ue la lu art des clés ri!aires sont in%entées /artificielles1 E.

75 Dr. CISS-Bases de Données . Les clés sont les élé!ents *ui lient les tables entre elles.clés candidates et clé 1ri3aire Les clés sont des élé!ents très i! ortants dans la conce tion d'une BD relationnelle) uis*u'elles for!ent la base our re résenter les relations entre les tables.

aucun des attributs de la clé ri!aire ne doit +tre ?7LL /du fait *ue la clé ri!aire identifie de !anière uni*ue les tu les d'une relation1. 76 Dr.U66 Dans une relation) la %aleur ?7LL re résente des données !an*uantes) inconnues ou des données ina licables. 7ne règle /contrainte d'intégrité de la clé ri!aire1.6a -aleur . CISS-Bases de Données . La %aleur ?7LL corres ond 4 une entrée non renseignée /non saisie) non introduite) non obligatoire1.

U66 La règle récédente signifie *ue la saisie des %aleurs our les attributs de la clé ri!aire est obligatoire. Attention. 7n attribut n'a artenant as 4 la clé ri!aire eut a%oir la %aleur ?7LL. 77 Dr. la %aleur ?7LL n'est as égale 4 O et ne re résente aucune %aleur articulière our l'ordinateur. CISS-Bases de Données .6a -aleur .

Dire si ces les lignes eu%ent +tre ou non insérées dans la table DEPC.%&ercice Considérons la table DEPC et les lignes !ontrées 4 la suite. CISS-Bases de Données NOM Ventes Marketing Recherche LIEU Dakar Pikine Thiès BUDGET 12 700 000 31 575 000 13 500 000 9 200 000 10 500 000 Informatique Rufisque Comptabilité Dakar . DEPARTEMENT 20 10 10 15 78 Dr.

Passage du 3od)le %<+ au 3od)le relationnel &n asse donc d'un !odèle dis osant de deu. Dans ce dernier cas on utilise en fait un !écanis!e de référence ar %aleur basé sur les clés des relations 7" Dr. licite!ent dans un sc0é!a EEA et *ui se!blent !an*uer dans le !odèle relationnel. CISS-Bases de Données . Logi*ue!ent) entités et associations seront donc toutes deu. structures /entités et associations1 4 un !odèle dis osant d'une seule structure /relations1. transfor!ées en relations.istant e. La subtilité réside en fait dans la nécessité de réser%er les liens e.

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.9)gles de 1assage Association de 1 à plusieurs Soit une relation de . Le assage au !odèle logi*ue suit les règles sui%antes. entités A et B. L'idée est *u'une occurrence de A référence l'occurrence de B *ui lui est 4 l'aide d'une clé étrangère.4 lusieurs entre deu. CISS-Bases deassociée Données 8$ . entités A et B. &n crée les relations /tables1 #A et #B corres ondants res ecti%e!ent au. Dr.

1lusieurs 8# Dr.+ssociation # . CISS-Bases de Données .

1lusieurs Considérons une association binaire n-! entre A et B &n crée les relations /tables1 #A et #B corres ondants res ecti%e!ent au. CISS-Bases de Données . entités A et B.+ssociation 1lusieurs . &n crée 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 concaténation des clés des relations #A et #B Les ro riétés de l'association de%iennent des attributs de #A-B 82 Dr.

1lusieurs 8' Dr. CISS-Bases de Données .+ssociation 1lusieurs .

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

85 Dr.%&ercice Donne< le sc0é!a relationnel corres ondant au !odèle conce tuel sui%ant. CISS-Bases de Données .

SQL est essentielle!ent un langage ser%ant 4 effectuer des re*u+tes sur une base de données our en e.traire des infor!ations.Présentation du 6DD S=6 SQL est le langage infor!ati*ue standard our la co!!unication a%ec les S$BD#. Le sigle SQL signifie Structured Query Language ou langage de re*u+tes structuré. 86 Dr. Le standard SQL a été défini ar l'A?SI /American National Standard Institute1 et l'IS& /International Standards Organization1. CISS-Bases de Données .

Présentation du langage S=6 Caractéristi*ues de SQL . licite ce *ue l'on %eut et non as la !anière de l'a%oir. 87 Dr. C'est un langage facile 4 co! rendre et 4 utiliser /s"nta. Il offre un LDD our définir et créer des ob(ets de BD# /tables) re*u+tes) etc.e très roc0e du langage naturel) as d'instructions de contr5le) ni de structures de données1. CISS-Bases de Données . C'est un langage déclaratif et non rocédural . on e.1 Il offre un LMD our !ani uler les ob(ets d'une BD#.

CISS-Bases de Données . En !ode interactif . l'utilisateur écrit te. En !ode intégré .Présentation du langage S=6 7tilisation de SQL .tuelle!ent une co!!ande SQL et récu ère le résultat i!!édiate!ent. une co!!ande SQL est !élangée a%ec les instructions d'un rogra!!e en langage de 0aut ni%eau tel *ue C) C::) 9a%a ou Cobol. 88 Dr.

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

"$ Dr. dates etEou 0eures. C%A$AC"E$/ 1 ou C%A$/ 1 . &A"E .Création d!une BD Quelques types de données en SQL . de c0iffres dont * a rès le oint déci!al /ne fonctionne as a%ec Access1. &EC )AL/ ) *1 . entiers signés. !"E#E$ ou !" . '((LEA! . no!bre réel en %irgule flottante. c0a\ne de caractères.S. *L(A" . no!bres déci!au. %aleur logi*ue R%raiS ou Rfau. CISS-Bases de Données .

L" = Valeur .LL / !(" !. %aleurs non obligatoires E obligatoires. . +$ )A$. . -E. &E*A. !. clé ri!aire. C%EC. "# Dr./Condition1. our définir une %aleur ar défaut /ne fonctionne as sous Access1. CISS-Bases de Données .LL .Création d!une BD Quelques propriétés des attributs en SQL . clé étrangère. *($E #! -E. our contr5ler la %alidité des %aleurs /ne fonctionne as sous Access1.

]contraintes de c0a! -^) X.Création d!une BD Syntaxe SQL pour créer une nou0elle table . C$EA"E "A'LE ?o![table /c0a! . "2 Dr. Coute co!!ande SQL se ter!ine ar un oint %irgule.C" e[c0a! . CISS-Bases de Données .) c0a! ? C" e[c0a! ? ]contraintes de c0a! -^1T #e!ar*ue .

CISS-Bases de Données . -E. /ID11T "' Dr.Création 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.Création d!une BD Exemple 3 . CISS-Bases de Données . 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$. ( &)1T "4 Dr.

CISS-Bases de Données .Création d!une BD E6E)+LE C()+LE" "5 Dr.

LL) ?&MCLIE?C 2A$C%A$/-U1) P#E?&MCLIE?C 2A$C%A$/-U1) AD#CLIE?C 2A$C%A$/UO1) +$ )A$. -E. CISS-Bases de Données .Création d!une BD Exemple complet . C$EA"E "A'LE CLIE?C /IDCLIE?C !"E#E$ !(" !. /IDCLIE?C11T "6 Dr.

C$EA"E "A'LE A$E?CE /IDA$E?CE !"E#E$ !(" !.Création d!une BD Exemple complet . -E. /IDA$E?CE11T "7 Dr. CISS-Bases de Données .LL) ?&MA$E?CE 2A$C%A$/FO1) AD#A$E?CE 2A$C%A$/UO1) +$ )A$.

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$. /ICLIE?C1 $E*E$E!CES CLIE?C /IDCLIE?C1) *($E #! -E. /IDC&MPCE1) *($E #! -E.Création d!une BD Exemple complet . -E. /IA$E?CE1 $E*E$E!CES A$E?CE /IDA$E?CE11T "8 Dr. CISS-Bases de Données .

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

Création d!une BD
)odi7ication de la structure d’une table . Pour !odifier la structure d'une table) on récise 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 Données

Création d!une BD
Exemples d’a8out 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 Données

Création 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 Données

AL"E$ "A'LE A ENCE )(& *. CISS-Bases de Données . AL"E$"A'LE CLEINT )(& *. A$E !" !(" !.A#/-OO1 au lieu de C.A#/FO1 .LLT #$' Dr. 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 .Création d!une BD Exemples de modi7ication d’attributs 9 Modifier le t" e de la colonne R AD#A$E?CE S our *u'il soit un C.

relations) sélectionner une artie de la relation) effectuer des roduits cartésiens ou des ro(ections) etc. 7ne ro riété fonda!entale de c0a*ue o ération est *u'elle rend une ou deu. on eut ainsi faire l'union ou la différence de deu. relations en entrée et roduit une relation en sortie. #$4 Dr.e! le) a li*uer une sélection au résultat d'un roduit cartésien) uis une ro(ection au résultat d'une sélection et ainsi de suite. on eut) ar e.6!alg)/re relationnelle L'algèbre relationnelle consiste en un ense!ble d'o érations *ui er!ettent de !ani uler des relations) considérées co!!e des ense!bles de tu les. CISS-Bases de Données . Cette ro riété er!et de co! oser des o érations.

ri!er des re*u+tes sur une base de données relationnelle. #$5 Dr. CISS-Bases de Données . ression algébri*ue *ui s'a li*ue 4 un ense!ble de relations /la base de données1 et roduit une relation finale /le résultat de la re*u+te1.6!alg)/re relationnelle 7ne requ:te est une e. &n eut %oir l'algèbre relationnelle co!!e un langage de rogra!!ation très si! le *ui er!et d'e.

>1érateur de sélection A li*uée 4 une relation r) la sélection roduit une autre relation dont les lignes sont un sous-ense!ble des lignes de r *ui ont une %aleur articulière our un attribut s écifi*ue. La relation résultante 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 sélection 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 . CISS-Bases de Données . #$6 Dr.

Le rédicat A = a doit +tre co! ris co!!e t(A) = a.>1érateur de sélection Cela signifie *ue toutes les lignes de la nou%elle relation ont la %aleur a dans la colonne A. CISS-Bases de Données . #$7 Dr. Mat0é!ati*ue!ent) la sélection 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. La sélection se note σA = a(r).

σPréno! V Moussa/Client1. unitaires -FUO . #$8 Dr. E! lo"és de salaire inférieur 4 FOO OOO .>1érateur de sélection E. σLille de naissance V Pi3ine/Etudiant1. σPri. unitaire V -FUO/Produit1. CISS-Bases de Données . _tudiants nés 4 Pi3ine . σSalaire ] FOOOOO/E! lo"é1.e! les d'a lication de l'o érateur de sélection . Produits de ri. Clients de réno! ''Moussa''.

CE 2010MTL 2010YHT 201034K 2010KOL 2010SK1 #$" Dr. CISS-Bases de Données Nom Sow Diop Ndiaye Fall Seck Prénom Yaya Khadim Abib Abdou khady Ville Pikine Thiès Pikine Dakar Dakar .>1érateur de sélection Considérons la table R Etudiant S sui%ante.

CNE 2010MTL 201034K Nom Sow Ndiaye Prénom Yaya Abib Ville Pikine Pikine ##$ Dr.>1érateur de sélection #ésultat de σLille de naissance V Pi3ine/Etudiant1 sur la table Etudiant . CISS-Bases de Données .

>1érateur de sélection
Considérons la table R E! lo"é S .
Code 1000 1001 1002 1003 1004 1005 1006 1007
###

Nom Sarr Kassé Mbaye Fall Diatta Ndiaye Fall Tall

Prénom 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 Données

>1érateur de sélection
#ésultat de σSalaire ] FOO OOO/E! lo"é1 sur la table E! lo"é .

Code 1000 1003 1005

Nom Sarr Fall Ndiaye

Prénom Ibra Tidiane Fatima

Salaire 250 000 350 000 250 000

Âge 28 48 27

##2

Dr. CISS-Bases de Données

>1érateur 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) notée ar πX(r), est une relation obtenue 4 artir de r en éli!inant d'abord les colonnes de r non s écifiées 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 Données

?u!éros de télé 0ones et e!ails des rofesseurs . πCode client(Client). ?o!s et réno!s des e! lo"és . πNuméro tél. Codes des clients . Prénom(Employé). ##4 Dr. πNom. CISS-Bases de Données .e! les d'a lication de l'o érateur de ro(ection . Email(Professeur).>1érateur de 1ro5ection E.

Code 10 20 30 40 50 60 70 80 ##5 Dr.>1érateur de 1ro5ection Considérons la table R Dé arte!ent S . CISS-Bases de Données Nom Comptabilité Informatique Marketing Fabrication Planification Statistique Ventes Formation Ville Dakar Dakar Thiès Mbour Thiès Dakar Dakar Dakar .

>1érateur de 1ro5ection #ésultat de l'o ération πLille/Dé arte!ent1 différents dé arte!ents . Ville Dakar Thiès Mbour Localisations des ##6 Dr. CISS-Bases de Données .

>1érateur 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 Données Les différents Ville Dakar Dakar Thiès Mbour Thiès Dakar Dakar Dakar .

relations d'une !+!e BD.>1érateur de 5ointure C'est une relation binaire *ui er!et d'associer deu. En général) cet o érateur associe deu. relations sur tous leurs attributs co!!uns. La (ointure est constituée de tous les tu les résultant de la concaténation des tu les de la re!ière relation a%ec ceu. de la seconde *ui ont des %aleurs identi*ues our un ense!ble co!!un d'attributs A. CISS-Bases de Données . ##8 Dr.

Soit r une relation a%ec un ense!ble d'attributs relation a%e un ense!ble d'attributs S. ##" Dr. CISS-Bases de Données .>1érateur 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. R et s 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.

t(R) = tr our un tu le tr de la relation r. CISS-Bases de Données . #2$ Dr.>1érateur de 5ointure La (ointure de r et s) notée 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 %érifiées. tr(X) = ts(X). t(S) = ts our un tu le ts de la relation s.

CISS-Bases de Données . ID 100 200 300 NOM Comptabilité Marketing Ventes &épartement VILLE Dakar Thiès Mbour #2# Dr. Considérons une table R Dé arte!ent S dont le sc0é!a est /ID) ?&M) LILLE1 .e! le .>1érateur de 5ointure E.

>1érateur 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 Données +ersonnel .

Du fait *ue les deu. #2' Dr. 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 nécessaire de *ualifier c0a*ue attribut en le faisant sui%re du no! de la table corres ondante a%ant de les (oindre.e! le) les attributs co!!uns sont les attributs ''?o!'' et ''De t''. De la !+!e !anière) l'attribut ?&M des deu. tables doit +tre *ualifiée.>1érateur de 5ointure Dans cet e. CISS-Bases de Données .

CISS-Bases de Données . ID DEPT 100 100 200 300 NOM VILLE ID DEPT PERS Comptabilité Dakar 300 Comptabilité Dakar Marketing Ventes Thiès Mbour 400 200 100 NOM PERS Kassé Manga Ba Fall TITRE Employé Chef comptable Employé employé #24 Dr.>1érateur de 5ointure Département Jointure Personnel .

relations r et s est la relation for!ée ar les tu les *ui sont résents dans r ou dans s.>1érateurs ense3/listes L’union . Elle se note ar r ∩ s. #25 Dr. Elle se note ar r ∪ s. L'intersection de deu. L'union de deu. relations r et s est la relation for!ée ar les tu les *ui sont résents si!ultané!ent dans r et s. L’intersection . CISS-Bases de Données .

La différence de deu.s. Deu.>1érateurs ense3/listes La di77érence . CISS-Bases de Données . relations r et s soient compatibles. relations r et s est la relation for!ée ar les tu les *ui sont résents dans r et non résents dans s. Pour effectuer l'une de ces trois o érations) il faut *ue les deu. #26 Dr. relations r et s sont dites co! atibles si elles ont le !+!e degré et leurs attributs ont les !+!es do!aines. Elle se note ar r .

>1érateurs ense3/listes E.e! le de l'union . CISS-Bases de Données +rogrammeurs.<a0a . 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.

C ∪ +rogrammeurs.>1érateurs ense3/listes +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 Données .

>1érateurs ense3/listes E.<a0a .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. ID 10 11 12 ID 29 12 #2" +rogrammeurs.e! le de l'intersection . CISS-Bases de Données +rogrammeurs.

CISS-Bases de Données .C ∩ +rogrammeurs.<a0a ID 12 NOM Ba PRENOM Malick PROJET e-commerce DEPT Ventes #'$ Dr.>1érateurs ense3/listes +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 Données +rogrammeurs.<a0a . ID 10 11 12 ID 29 12 #'# +rogrammeurs.>1érateurs ense3/listes E.e! le de la différence .

>1érateurs ense3/listes +rogrammeurs.C = +rogrammeurs. CISS-Bases de Données .<a0a ID 10 11 NOM Sarr Ndao PRENOM Idy Joseph PROJET e-commerce Pare-feu DEPT Ventes Informatique +rogrammeurs.C ID 29 #'2 NOM Fall PRENOM Moussa PROJET Site web DEPT Informatique Dr.<a0a = +rogrammeurs.

#e!ar*ues . le roduit cartésien des relations n'est as co!!utatif.>1érateurs ense3/listes Le produit cartésien . CISS-Bases de Données . Degré(r ⊗ s) = Degré(r) + Degré(s). Elle se note ar r ⊗ s. Le roduit cartésien de deu. relations r et s est la relation for!ée en concaténant tous les tu les de r a%ec tous les tu les de s. #'' Dr.

" PRIX 75000 25900 15000 7500 #'4 Dr. CISS-Bases de Données .>1érateurs ense3/listes E. ID_CLIENT ARTICLE 100 200 A B CL E!" CODE NOM A Bicyclette B Chaussures C Lunettes D Gants +$(&.e! le du roduit cartésien .

" #'5 Dr.>1érateurs 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!" ⊗ +$(&. CISS-Bases de Données .

6e langage S=6 .

CISS-Bases de Données .Introduction SQL est un langage *ui er!et d'interroger une BD sans se soucier de la re résentation interne / 0"si*ue1 des données) de leur localisation) des c0e!ins d'accès ou des algorit0!es nécessaires. #'7 Dr. &n eut l'utiliser de !anière interacti%e) !ais égale!ent en association a%ec des interfaces gra 0i*ues) ou très générale!ent des langages de rogra!!ation.

CISS-Bases de Données Nom Sow Diop Ndiaye Fall Seck Prenom Yaya Khadim Abib Abdou khady Ville_Nce Pikine Thiès Pikine Dakar Dakar .Sélections si31les Considérons la table R Etudiant S sui%ante. CE 2010MTL 2010YHT 201034K 2010KOL 2010SK1 #'8 Dr.

&n %eut connaitre le réno! et le no! de tous les étudiants *ui sont nés 4 Pi3ine. CISS-Bases de Données . #'" Dr. SELECT prenom.Sélections si31les Pre!ière re*u+te.e! le !ontre la structure de base d'une re*u+te SQL) a%ec les trois clauses SELECT) FROM et WHERE. nom FROM WHERE ville_nce=‘Pikine’ Etudiant Ce re!ier e.

CISS-Bases de Données . SELECT indi*ue la liste des attributs constituant le résultat.Sélections si31les FROM indi*ue la /ou les1 tables dans les*uelles on trou%e les attributs utiles 4 la re*u+te. WHERE indi*ue les conditions *ue doi%ent satisfaire les n- u lets de la base our faire artie du résultat. #4$ Dr.

Pour c0a*ue n-u let) si l'attribut ville_nce a our %aleur ’Pikine’) on lace les attributs Prenom et nom dans le résultat. &n obtient donc le résultat . Prenom Yaya Abib Nom Sow Ndiaye #4# Dr.e! le récédent) l'inter rétation est si! le . on arcourt les n-u lets de la relation Etudiant.Sélections si31les Dans l'e. CISS-Bases de Données .

Sélections si31les Le résultat d'un ordre SQL est tou(ours une relation /une table1 dont les attributs sont ceu. s écifiés dans la clause SELECT. #42 Dr. Les fonctions a licables au. %aleurs des attributs sont ar e. &n eut aussi a li*uer des fonctions au. &n eut donc considérer en re!ière a roc0e ce résultat co!!e un 'décou age') 0ori<ontal et %ertical) de la table indi*uée dans le FROM) si!ilaire 4 une utilisation co!binée de la sélection et de la ro(ection en algèbre relationnelle.e! les les o érateurs arit0!éti*ues our les attributs nu!éri*ues ou des !ani ulations de c0aines de caractères /concaténation) sous-c0a\ne) !ise en !a(uscule) X1 . %aleurs de c0a*ue tu le. CISS-Bases de Données .

UPPER(nom) FROM Etudiant WHERE ville_nce=‘Pikine’ &n e.trait cette fois ci le réno!) le no! en !a(uscule de tous les étudiants nés 4 Pi3ine. &n obtient alors.e! le. CISS-Bases de Données Nom SOW NDIAYE .Sélections si31les E. SELECT prenom. Prenom Yaya Abib #4' Dr.

e! le . SELECT ville_nce FROM Etudiant #44 Dr. CISS-Bases de Données .istence de doublons dans les tables /il ne s'agit donc as d'ense!ble au sens strict du ter!e1. E. La s écification de clés er!et d'é%iter les doublons dans les relations stoc3ées) !ais il eu%ent a ara\tre dans le résultat d'une re*u+te.6es dou/lons SQL er!et l'e.

Ville_Nce Pikine Thiès Pikine Dakar Dakar #45 Dr.6es dou/lons &n obtient alors. CISS-Bases de Données .

6es dou/lons Pour é%iter d'obtenir des tu les identi*ues) on eut utiliser la clause DISTINCT E.e! le. #46 Dr. SELECT DISTINCT ville_nce FROM Etudiant Attention. L'éli!ination des doublons eut +tre une o ération couteuse. CISS-Bases de Données .

E. SELECT * FROM Etudiant ORDER BY nom #47 Dr.e! le. CISS-Bases de Données .7ri des résultats Il est ossible de trier le résultat d'un re*u+te a%ec la clause ORDER BY sui%ie de la liste des attributs ser%ant de critère au tri.

7ri des résultats &n obtient la liste des étudiants triée ar ordre al 0abéti*ue. CE 2010YHT 2010KOL 201034K 2010SK1 2010MTL Nom Diop Fall Ndiaye Seck Sow Prenom Khadim Abdou Abib khady Yaya Ville_Nce Thiès Dakar Pikine Dakar Pikine Pour trier en ordre décroissant) on a(oute le !ot clé DESC a rès la liste des attributs. CISS-Bases de Données . #48 Dr.

E. &n utilise our cela de !anière standard le AND) le OR) le NOT et les arent0èses our c0anger l'ordre de riorité des o érateurs booléens.e! le. SELECT prenom. CISS-Bases de Données #4" .6a clause WHERE Dans la clause WHERE) on s écifie une condition booléenne ortant sur les attributs des relations du FROM. nom FROM Etudiant WHERE ville_nce = ‘Pikine’ OR prenom = ‘Khady’ Dr.

Prenom 2010MTL 201034K 2010SK1 Nom Sow Ndiaye Seck #5$ Dr. CISS-Bases de Données .6a clause WHERE &n obtient.

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

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

#5' Dr. (ointure) roduit cartésien) union) intersection) différence. ri!er les o érations binaires de l'algèbre relationnelle .9e*u?tes sur 1lusieurs ta/les Les re*u+tes SQL décrites dans cette section er!ettent de !ani uler si!ultané!ent lusieurs tables et d'e. CISS-Bases de Données .

Considérons une table R Dé arte!ent S dont le sc0é!a est /ID) LIBELLE) LILLE1 .e! le . ID 100 200 300 LIBELLE Comptabilité Marketing Ventes &épartement VILLE Dakar Thiès Mbour #54 Dr. CISS-Bases de Données .>1érateur de 5ointure E.

CISS-Bases de Données +ersonnel . ID 100 200 300 400 #55 NOM Fall Ba Kassé Manga DEPT Ventes Marketing Comptabilité Comptabilité TITRE Employé Employé Employé Chef comptable Dr.>1érateur de 5ointure Et une table R Personnel S dont le sc0é!a est /ID) ?&M) DEPC) CIC#E1 .

on donne si! le!ent la liste des tables concernées dans la clause FROM) et on e. ri!er des re*u+tes ortant sur des données ré arties dans lusieurs tables.@ointures La (ointure est une des o érations les lus utiles /et donc une des lus courantes1 uis*u'elle er!et d'e. La s"nta.e our e. #56 Dr. CISS-Bases de Données . ri!e les critères de ra roc0e!ent entre ces tables dans la clause WHERE.tension directe de celle étudiée récéde!!ent dans le cas des sélections si! les . ri!er des (ointures a%ec SQL est une e.

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

#58 Dr. CISS-Bases de Données .ant l'attribut ar le no! de la table. 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*uées dans une (ointure. Dans ce cas on résout l'a!biguité en réfi. no! et de t %iennent de la table Personnel) tandis *ue %ille et no! %iennent de la table Dé arte!ent.@ointures &n eut re!ar*uer *u'il n'" a as dans ce cas d'a!biguité sur les no!s des attributs .

UnionA Intersection et Différence L'e. &n construit deu.e! les sui%ants. re*u+tes dont les résultats 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. ression de ces trois o érations ense!blistes en SQL est très roc0e de l'algèbre relationnelle. #5" Dr. Illustrons ar les trois e. CISS-Bases de Données .

<a0a .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.UnionA Intersection et Différence +rogrammeurs. CISS-Bases de Données +rogrammeurs.

CISS-Bases de Données .UnionA Intersection et Différence 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.

UnionA Intersection et Différence 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 Données .

ri!er des conditions sur ces grou es) des fonctions d'agrégation. La s"nta.e SQL fournit donc le !o"en de artitionner une relation en grou es selon certains critères) le !o"en d'e. ri!er des conditions sur des grou es de tu les) et de constituer le résultat ar agrégation de %aleurs au sein de c0a*ue grou e. #6' Dr.+grégation Les fonctionnalités d'agrégation de SQL er!ettent d'e. CISS-Bases de Données .

SUM *ui effectue le cu!ul. #64 Dr.onctions d!agrégation Ces fonctions s'a li*uent 4 une colonne) en général de t" e nu!éri*ue. 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. Ce sont . CISS-Bases de Données .

onctions d!agrégation Considérons 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 Prénom 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 Données .

MIN(Salaire). AVG(Salaire). SUM(Salaire) FROM Employe . SELECT COUNT(Code).onctions d!agrégation E. MAX(Salaire). #66 Dr. CISS-Bases de Données .e! le.

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

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.e! le. CISS-Bases de Données .6a clause G9>UP BB E.

.. #6" Dr... 5our4 Insertion L'insertion s'effectue a%ec la co!!ande I?SE#C dont la s"nta. Les v1.. A2. An sont les no!s des attributs dans les*uels on sou0aite lacer une %aleur. An) VALUES (v1. . . . .. INSERT INTO R( A1. v2..(ise .. Les autres attributs seront donc 4 NULL /ou 4 la %aleur ar défaut1. Cous les attributs s écifiés NOT NULL /et sans %aleur ar défaut1 doi%ent donc figurer dans une clause INSERT.e est la sui%ante . CISS-Bases de Données . vn sont les %aleurs des attributs. vn) R est le no! d'une relation) et les A1.

‘Fall’. ‘Kane’. #7$ Dr. CISS-Bases de Données . INSERT INTO Employe VALUES (1008.prenom) VALUES (1009. nom. ‘Saliou’. 350000. INSERT INTO Employe (code.e! le. 5our4 Insertion E. ‘Doudou’).31).(ise .

(ise .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 Age ^ KU T #7# Dr. E. DELECE >#&M E! lo"e `.e! le. 5our4 Su11ression La su ression s'effectue a%ec la clause DELECE dont la s"nta. CISS-Bases de Données .

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. A2=v2..(odification La !odification s'effectue a%ec la clause UPDATE. CISS-Bases de Données .e est roc0e de celle du DELETE . . UPDATE R SET A1=v1. La s"nta..

CISS-Bases de Données . transactions Criggers Ad!inistration Securit" /0as0) ci 0er1 #7' Dr.Inde.

Sign up to vote on this title
UsefulNot useful