IFT287 Explotto d bss d doés rltolls t ortés objt Préstto du cours. Rppl sur QL «If you do t kow whr you r gog, you wll probbly d up sowhr ls.» Dogo Plo «tu ss ps où tu t vs, probblt tu rrvrs llurs» -Lurc J. Ptr.
IFT287 Explotto d BD rltolls t OO Pl d l s Préstto du cours Préstto ds étudts Préstto du chrgé d cours Préstto du pl d cours Itroducto t s cotxt Rppl sur QL 205-0-05 Dogo Plo 2
IFT287 Explotto d bss d doés rltolls t ortés objt Préstto ds étudts
IFT287 Explotto d BD rltolls t OO Préstto ds étudts Préo t o Forto fortqu Expérc vc ls bss d doés Bss d doés utlsés Expérc vc ls lggs d progrto orté objt Expérc fortqu géérl Attts du cours IFT287 Pss-tps 205-0-05 Dogo Plo 4
IFT287 Explotto d bss d doés rltolls t ortés objt Préstto du chrgé d cours
IFT287 Explotto d BD rltolls t OO Préstto du chrgé d cours Préo t o Dogo PALAO MUÑOZ Forto fortqu Mîtrs Corc élctroqu. Uvrsté d Motrél Bc gé fortqu. Uvrsté Ntol Autoo du Mxqu Expércs vc ls bss d doés Modélsto t dévloppt d plusurs systès d forto yt co prcpl élét ls bss d doés Méor du bc gé fortqu Méor d îtrs sur ls bss d doés dstrbués Bss d doés utlsés Orcl, ybs, Adbs, RDB, M QL rvr, Iforx Attts du cours IFT287 Qu ls étudts t ls étudts t u bo copréhso d l utlsto ds bss d doés rltolls t ortés objt ds l cotxt du dévloppt d u systè logcl Pss-tps L bsbll, l usqu, l lctur. 205-0-05 Dogo Plo 6
IFT287 Explotto d bss d doés rltolls t ortés objt Préstto du pl d cours
IFT287 Explotto d BD rltolls t OO Pl d cours Dscrpto d l ur Vor pl du cours Objctf : Dévloppr u pplcto Wb spl xplott ds bss d doés rltolls t ortés objt. 205-0-05 Dogo Plo 8
IFT287 Explotto d BD rltolls t OO Pl d cours À l f d c cours, l étudt dvrt êtr cpbl : d coîtr ls coposts d bs d u systè d gsto d bs d doés; d svor xplotr u bs d doés rltoll t u bs d doés orté objt; d coîtr t d pplqur ls prcps d bs du lgg XML pour l échg élctroqu d doés; d dévloppr u trfc grphqu wb spl; d prfr s cossc ds bss d doés d èr utoo. 205-0-05 Dogo Plo 9
IFT287 Explotto d BD rltolls t OO Pl d cours Objctfs spécfqus. À l f d ctt ctvté pédgogqu, l étudt ou l étudt sr cpbl d: Mpulr d bss d doés rltolls Crér, odfr t trrogr u bs d doés rltoll od clt-srvur; Dévloppr u pplcto spl, ds u lgg d progrto orté-objt, xplott u bs d doés rltoll. Mpulr d bss d doés ortés objt Crér, odfr t trrogr u bs d doés orté objt; Utlsr u bs d doés orté objt; Dévloppr u pplcto spl, ds u lgg d progrto orté objt, xplott u bs d doés orté objt. Mpulr ds trfcs Crér u dscrpto d fchr XML; Crér t d trrogr u fchr XML à prtr d u pplcto; Dévloppr u trfc grphqu wb spl pour u pplcto. 205-0-05 Dogo Plo 0
IFT287 Explotto d BD rltolls t OO Pl d cours Qulfctos prélbls Cocpts t rchtctur ds bss d doés. Créto, trrogto t s à jour d u bs d doés rltoll à l d du lgg QL. Rquêts coplxs. Cotrts d tégrté. Modélsto tté-rlto. Trducto d u odèl tté-rlto u odèl rltol. Dépdcs foctolls, dépdcs ultvlués, dépdcs d jotur. Norlsto : FN à 5FN t BCNF. Vor l lst ds référcs pour u s à vu. 205-0-05 Dogo Plo
IFT287 Explotto d BD rltolls t OO Pl d cours Rsposbltés t tâchs Ds étudts t étudts. pproprr d l tèr du cours pr l lctur ds rtcls dqués ds uls d bs. Prtcpr ux ctvtés qu s déroult clss. Du chrgé d cours. Orgsr t gérr l vrot d pprtssg Fourr touts ls rssourcs d pprtssg écssrs t r ls ctvtés clss Évlutur 205-0-05 Dogo Plo 2
IFT287 Explotto d BD rltolls t OO Pl d cours Orgsto t déroult du cours Préprto du cours Apprtssg clss Exrccs u lbortor L rélsto ds trvux prtqus 205-0-05 Dogo Plo 3
IFT287 Explotto d BD rltolls t OO Pl d cours L coucto ds l cours Courrl élctroqu L st wb : http://ft287-dp.spcwb.ushrbrook.c/dx.htl 205-0-05 Dogo Plo 4
IFT287 Explotto d BD rltolls t OO Pl d cours Mtérl ddctqu t pédgogqu Pl d cours Muls d bs Autrs référcs Dpostvs utlsés lors ds xposés ts Wb d référc, tc. 205-0-05 Dogo Plo 5
IFT287 Explotto d BD rltolls t OO Pl d cours Rélstos t crtèrs d évluto Trvux prtqus : Qutr trvux. Rppl sur QL (2 prsos) Itroducto à Jv (2 prsos) L pproch clt-srvur vc JDBC t Jv (4 prsos) XML t Itrfc wb (4 prsos) Ls équps d 2 prsos pour l pérod d lbortor d jud. tur. Ps d dépôt d trvux pr courrl (ucu xcpto!) Vldto L prt prtqu d l évluto s ft lors d l pérod d lbortor. EULEMENT PÉRIODE! Après ctt pérod vous vz l drot d préstr votr trvl pdt l pérod d lbortor suvt, s l y u pélté d 30% L prt d corrcto du cod 205-0-05 Dogo Plo 6
IFT287 Explotto d BD rltolls t OO Pl d cours Rélstos t crtèrs d évluto Exs : M-ssso. Fl. Pots bos pour l x: Cotrs chqu s Préprz u résué d l tèr trté ds ls cours ( pg sult écrt à l!) Ls résués sot à rttr vt l x. 205-0-05 Dogo Plo 7
IFT287 Explotto d BD rltolls t OO Pl d cours Notto Éléts d otto Pots Ex pérodqu 30 Ex fl 35 Trvux prtqus (8,8,8,) pots) 35 TOTAL 00 Pots xtr Cotrs près chqu séc 0.5 chqu (0/3) Ou Résué vt l x 2.5 (2) 5 TOTAL 05 L ot xl sr toujours 00 pots 205-0-05 Dogo Plo 8
IFT287 Explotto d BD rltolls t OO Pl d cours Not sur l plgt Coopérto tr étudts Mtérl sur Itrt 205-0-05 Dogo Plo 9
IFT287 Explotto d BD rltolls t OO Pl d cours Bblogrph Lvr. Fudtls of dtbs systs ffth dto. Autur: Elsr, Rz Publé pr: Prso Addso Wsly Lvr 2. IFT287: Nots du cours. Autur: M. Frppr Lvr 3. Prcpls of Dtbs ysts wth Itrt d Jv pplctos. Autur: G. Rcrd Publé pr: Addso Wsly Lvr. Au cœur d Jv 8è édto Autur:Cy Horst Publé pr: Joh Wly, 2008 Autrs référcs. 205-0-05 Dogo Plo 20
IFT287 Explotto d bss d doés rltolls t ortés objt Rppl sur QL Dogo Plo
IFT287 Explotto d BD rltolls t OO QL tructurd Qury Lgg (QL) ou lgg structuré d rquêts st u lgg fortqu stdrd t orlsé, dsté à trrogr ou pulr u bs d doés. Edgr F. Codd (923-2003) 970 rédgé l rtcl «A Rltol Modl of Dt for Lrg hrd Dt Bks» ds l rvu ACM. IBM s st s à dévloppr Edgr F. Codd (923-2003) EQUEL (tructurd Eglsh Qury Lgug) pour ttr œuvr l odèl d Codd. 205-0-05 Dogo Plo 22
IFT287 Explotto d BD rltolls t OO QL 979, Rltol oftwr, Ic (ctullt ORACLE Corporto) présté l prèr vrso corcl d QL. QL été dopté co rcodto pr l Isttut d Norlsto Aérc (ANI) 986, t co or trtol pr l IO 987. QL2 flsé 992. U ds prcpux chgts, l jout ds OUTER JOIN. QL3 proposé 999. Ell support u xtso objt t ll st prtllt plété pr qulqus GBD. QL:2003 Itroducto d foctos pour l pulto d XML QL:2008 Ajout d foctos d fêtrg, 205-0-05 Dogo Plo 23
IFT287 Explotto d BD rltolls t OO QL Il xst 3 vux d coforté ds l or QL-92 : Etry Itrdt Full L jorté ds systès d gsto d bss d doés s prétdt coptbls u stdrd QL dès lors qu'ls s cofort u vu Etry. L'sbl ds foctoltés ds vux Itrdt t Full étt, sot trop voluux, sot coflt vc ls foctoltés pltés. http://docs.postgrsqlfr.org/8./fturs.htl 205-0-05 Dogo Plo 24
IFT287 Explotto d BD rltolls t OO QL QL st coposé d dux prts : QL déclrtf DDL, Dt Dfto Lgug. DML, Dt Mpulto Lgug. DCL, Dt Cotrol Lgug. TCL, Trscto Cotrol Lgug QL procédurl PM, Prsstt tord Modul CLI, Cll Lvl Itrfc Ebddd QL 205-0-05 Dogo Plo 25
IFT287 Explotto d BD rltolls t OO Exrcc rpd Dor qulqus xpls d cods d : DDL, Dt Dfto Lgug. DML, Dt Mpulto Lgug. DCL, Dt Cotrol Lgug. TCL, Trscto Cotrol Lgug 205-0-05 Dogo Plo 26
IFT287 Explotto d BD rltolls t OO Exrcc rpd (oluto) Dor qulqus xpls d cods d : DDL, Dt Dfto Lgug. CREATE Crér ds objts ds l bs d doés ALTER Chgr l structur d l bs d doés DROP upprr ds objts TRUNCATE upprr tous ls rgstrts d u tbl (l spc lloué ux rgstrts st lbéré) COMMENT Ajoutr ds cotrs ds l dctor d doés RENAME Ror u objt DML, Dt Mpulto Lgug. ELECT Fr u rquêt à l bs d doés INERT Isérr ds doés UPDATE Mttr à jour ls doés xstts ds u tbl DELETE upprr ls rgstrts d u tbl (l spc lloué à cs rgstrts rst) CALL Applr u progr PL/QL ou Jv EXPLAIN PLAN Explqur l èr d ccédr à l bs d doés LOCK TABLE - Cotrôlr l cocurrc 205-0-05 Dogo Plo 27
IFT287 Explotto d BD rltolls t OO Exrcc rpd (oluto) Dor qulqus xpls d cods d: DCL, Dt Cotrol Lgug. GRANT Dor ds prvlègs d ccès ux usgrs REVOKE Elvr ds prvlègs doés vc l GRANT TCL, Trscto Cotrol Lgug COMMIT - uvgrdr ls doés d èr déftv AVEPOINT Idtfr u pot où o put rtourr vc u rollbck ds u trscto ROLLBACK Rtourr l bs d doés à so étt orgl dpus l drr COMMIT ou AVEPOINT ET TRANACTION Chgr ls optos d u trscto 205-0-05 Dogo Plo 28
IFT287 Explotto d bss d doés rltolls t ortés objt Dt Dfto Lgug
IFT287 Explotto d BD rltolls t OO Dt Dfto Lgug Utls ls cods pour étblr l défto ds tbls (rltos) d u bs d doés CREATE DROP ALTER TRUNCATE COMMENT RENAME 205-0-05 Dogo Plo 30
IFT287 Explotto d BD rltolls t OO CREATE CHEMA Créto d u sché : pécf d ouvux schés d l bs d doés CREATE CHEMA EMPLOYEE_DB AUTHORIZATION UER; L o du sché dot êtr uqu u s d l bs d doés. U sché st sstllt u spc logqu Il cott ds objts oés (tbls, typs d doés, foctos t opérturs) dot ls os puvt êtr dtqus à cux d'objts d'utrs schés. Qull pplcto pouvz-vous dor à u sché? 205-0-05 Dogo Plo 3
IFT287 Explotto d BD rltolls t OO Utlsto ds schés Pour référcr u tbl à l térur d u sché, l fut utlsr l otto: sch.tbl Pour crér u tbl à l térur d u sché: CREATE TABLE ysch.ytbl (... ); Pr défut l y l sché publc Ls schés sot u cocpt lé à Postgrs, ds l QL stdrd l xst ps. 205-0-05 Dogo Plo 32
IFT287 Explotto d BD rltolls t OO CREATE TABLE Pour crér u ouvll rlto, ous vos bso d dor u o t spécfr chcu ds ttrbuts s qu lur typ. L cotrt NOT NULL put êtr spécfé u ot d l défto CREATE TABLE DEPARTMENT ( DNAME VARCHAR(0) NOT NULL, DNUMBER INTEGER NOT NULL, MGRN CHAR(9), MGRTARTDATE DATE); 205-0-05 Dogo Plo 33
IFT287 Explotto d BD rltolls t OO CREATE TABLE. Ls typs d doés PostgrQL u lrg chox d typs d doés dspobls tvt. Ls utlsturs puvt joutr d ouvux typs utlst l cod CREATE TYPE. 205-0-05 Dogo Plo 34
IFT287 Explotto d BD rltolls t OO CREATE TABLE. Qulqus typs d doés plétés PostgrQL Typs uérqus Typs oétrs Typs crctèr Typs d doés brs Typs dt/hur Typ boolé Typs géoétrqus 205-0-05 Dogo Plo 35
IFT287 Explotto d BD rltolls t OO CREATE TABLE Ds QL2, o put utlsr l cod CREATE TABLE pour spécfr : l clé prr, ls clés scodrs (uqus), l cotrt d tégrté référtll (clés étrgèrs). CREATE TABLE DEPT ( DNAME VARCHAR(0) NOT NULL, DNUMBER INTEGER NOT NULL, MGRN CHAR(9), MGRTARTDATE DATE, PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRN) REFERENCE EMP ); 205-0-05 Dogo Plo 36
IFT287 Explotto d BD rltolls t OO ALTER TABLE O l utls pour joutr u ttrbut à u rlto xstt : Après l xécuto d l cod, l vlur d l ttrbut sr NULL ds tous ls tupls d l rlto. Pourtt l cotrt NOT NULL st ps prs ds l odfcto ds tbls. ALTER TABLE EMPLOYEE ADD JOB VARCHAR(2); 205-0-05 Dogo Plo 37
IFT287 Explotto d BD rltolls t OO DROP TABLE Utlsé pour supprr u rlto t s défto DROP TABLE DEPARTEMENT; 205-0-05 Dogo Plo 38
IFT287 Explotto d bss d doés rltolls t ortés objt Dt Mpulto Lgug
IFT287 Explotto d BD rltolls t OO Rquêts QL QL u cod d bs pour chrchr l forto ds l bs d doés, l cod ELECT L fort d bs d l structo ELECT d QL st cou co l bloqu ELECT-FROM-WHERE ELECT FROM WHERE <lst d ttrbuts> <lst d tbls> <codto> < lst d ttrbuts > c st u lst d os d ttrbuts qu o chrch vc l rquêt < lst d tbls > c st u lst oblgtor qu spécf ls tbls à utlsr pdt l rquêt <codto> c st l codto boolé dtft ls tupls à chrchr vc l rquêt 205-0-05 Dogo Plo 40
IFT287 Explotto d BD rltolls t OO ché d l bs d doés à utlsr pdt ls xpls 205-0-05 Dogo Plo 4
IFT287 Explotto d BD rltolls t OO ché d l bs d doés à utlsr vc ls xpls 205-0-05 Dogo Plo 42
IFT287 Explotto d BD rltolls t OO Rquêts QL spls Chrchr l o t l drss d tous ls ployés qu trvllt ds l déprtt 'Rsrch'. ELECT FNAME, LNAME, ADDRE FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Rsrch' AND DNUMBER=DNO 205-0-05 Dogo Plo 43
IFT287 Explotto d BD rltolls t OO Als Ds QL ous pouvos utlsr l ê o pour dux (ou plusurs) ttrbuts s cs os s trouvt ds dfférts rltos U rquêt qu ft référc à dux ou plusurs ttrbuts vc l ê o dot qulfr l o d l ttrbut utlst co préfx l o d l rlto EMPLOYEE.LNAME, DEPARTMENT.DNAME Nous pouvos utlsr uss l ot résrvé A ELECT E.FNAME, E.LNAME,.FNAME,.LNAME FROM EMPLOYEE A E, EMPLOYEE A WHERE E.UPERN=.N 205-0-05 Dogo Plo 44
IFT287 Explotto d BD rltolls t OO Clus WHERE o spécfé U qu d l clus WHERE vut dr qu l y ps u codto. Pourtt, tous ls tupls d l rlto ds l clus FROM sot rtourés Chrchr l N d tous ls ployés ELECT N FROM EMPLOYEE l y plus d u rlto spécfé ds l clus FROM t l y ps u codto d jotur, ls tupls du PRODUIT CARTÉIEN sot rtourés: ELECT N, DNAME FROM EMPLOYEE, DEPARTMENT 205-0-05 Dogo Plo 45
IFT287 Explotto d BD rltolls t OO L utlsto d * Pour obtr touts ls vlurs d u tupl ous pouvos utlsr l * qu vut dr tous ls ttrbuts : ELECT * FROM WHERE EMPLOYEE DNO=5 ELECT * FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Rsrch' AND DNO=DNUMBER 205-0-05 Dogo Plo 46
IFT287 Explotto d BD rltolls t OO Utlsto d DITINCT QL trt ps ls rltos co ds sbls, ous pouvos vor ds tupls duplqués Pour élr ls tupls duplqués ds l résultt d u rquêt, ous pouvos utlsr l ot clé DITINCT Pr xpl, l prèr rquêt put vor ds slrs duplqués tds qu l duxè ps ds vlurs duplqués ELECT FROM ELECT FROM ALARY EMPLOYEE DITINCT ALARY EMPLOYEE 205-0-05 Dogo Plo 47
IFT287 Explotto d bss d doés rltolls t ortés objt Opértos d sbl
IFT287 Explotto d BD rltolls t OO Opértos d sbl QL corporé qulqus opértos d sbls UNION MINU INTERECT Ls résultts d cs opértos sot ds sbls d tupls. Ls tupls duplqués sot élés du résultt. Ls opértos d sbls s pplqut sult ux rltos yt l ê obr d ttrbuts t ls ttrbuts dovt pprîtr ds l ê ordr. 205-0-05 Dogo Plo 49
IFT287 Explotto d BD rltolls t OO Opértos d sbl Fr u lst d tous ls os ds ployés s qu ls os d tous lurs dépdts (ELECT FNAME FROM EMPLOYE) UNION (ELECT DEPENDENT_NAME FROM DEPENDENT) Pourquo u rquêt vc ds opértos d sbl st cosdéré co dux rquêts? 205-0-05 Dogo Plo 50
IFT287 Explotto d bss d doés rltolls t ortés objt Rquêts brqués
IFT287 Explotto d BD rltolls t OO Rquêts brqués U rquêt ELECT put pplr u rquêt brqué. Nous pouvos spécfr ds l clus WHERE u duxè rquêt, oé outr qury Chrchr l o t l drss d tous ls ployés qu trvllt ds l déprtt 'Rsrch ou ls. ELECT FROM WHERE FNAME, LNAME, ADDRE EMPLOYEE DNO IN (ELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Rsrch' OR DNAME= ls') 205-0-05 Dogo Plo 52
IFT287 Explotto d BD rltolls t OO Rquêts brqués l codto d u clus WHERE d u rquêt brqué ft référc à u ttrbut déclré ds l outr qury, ls dux rquêts sot corréltolls. Chrchr l o d chqu ployé qu u dépdt vc l ê o qu l ployé ELECT FNAME, LNAME, ADDRE FROM EMPLOYEE E WHERE DNO IN (ELECT DNUMBER FROM DEPARTMENT D WHERE (DNAME='Rsrch' OR DNAME= ls') AND E.DNO = D.DNUMBER) U rquêt brqué put êtr chîé vc ls opérturs d coprso = ou IN 205-0-05 Dogo Plo 53
IFT287 Explotto d BD rltolls t OO L focto EXIT L focto EXIT st utlsé pour vérfr qud u résultt d u rquêt corréltoll st vd (ss tupls) ELECT FNAME, LNAME FROM EMPLOYEE WHERE EXIT (ELECT * FROM DEPENDENT WHERE N=EN AND FNAME=DEPENDENT_NAME) Ou b ELECT FNAME, LNAME FROM EMPLOYEE WHERE NOT EXIT (ELECT * FROM DEPENDENT WHERE N=EN) 205-0-05 Dogo Plo 54
IFT287 Explotto d BD rltolls t OO Esbls xplcts Il st possbl d spécfr d èr xplct u sbl d vlurs ds l clus WHERE d u rquêt brqué. Chrchr l uéro d ssurc socl d tous ls ployés qu trvllt ds ls projts, 2 ou 3 ELECT FROM DITINCT EN WORK_ON WHERE PNO IN (, 2, 3) 205-0-05 Dogo Plo 55
IFT287 Explotto d BD rltolls t OO Vlurs NULL QL prt l rélsto d rquêts qu vérft ls vlurs NULL QL utls I ou I NOT pour coprr ls NULL prc qu u vlur NULL st cosdéré dffért à u utr vlur NULL, pour ctt rso l coprso vc l opértur = st ps corrct. Chrchr l o d tous ls ployés qu ot ps suprvsur. ELECT FNAME, LNAME FROM EMPLOYEE WHERE UPERN I NULL 205-0-05 Dogo Plo 56
IFT287 Explotto d BD rltolls t OO Utlsto d JOIN ds QL2 Nous pouvos spécfr l rlto JOIN ds l clus FROM D ctt èr, ous pouvos spécfr dfférts typs d joturs rgulr "tht" JOIN NATURAL JOIN LEFT OUTER JOIN RIGHT OUTER JOIN CRO JOIN 205-0-05 Dogo Plo 57
IFT287 Explotto d BD rltolls t OO Utlsto d JOIN ds QL2 Expls : ELECT FNAME, LNAME, ADDRE FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Rsrch' AND DNUMBER=DNO Put êtr écrt : ELECT FROM WHERE FNAME, LNAME, ADDRE (EMPLOYEE JOIN DEPARTMENT ON DNUMBER=DNO) DNAME='Rsrch Ou b: ELECT FNAME, LNAME, ADDRE FROM (EMPLOYEE NATURAL JOIN DEPARTMENT WHERE A DEPT(DNAME, DNO, MN, MDATE) DNAME='Rsrch 205-0-05 Dogo Plo 58
IFT287 Explotto d bss d doés rltolls t ortés objt Outr Jo 205-0-05 Dogo Plo 59
IFT287 Explotto d BD rltolls t OO OUTER JOIN Pros ls tbls suvts: Dpt dptid dptno Dévloppt 2 Rchrch 3 Fcs Ep pid pno dptid J Burgrd 2 A Rvud 2 3 Mr Allr 205-0-05 Dogo Plo 60
IFT287 Explotto d BD rltolls t OO OUTER JOIN L structo suvt: ELECT * FROM dpt JOIN p ON (dpt.dptid = p.dptid) dpt.dptid dptno pid pno p.dptid Dévloppt J Burgrd 2 Rchrch 2 A Rvud 2 205-0-05 Dogo Plo 6
IFT287 Explotto d BD rltolls t OO OUTER JOIN L structo suvt: ELECT * FROM dpt LEFT JOIN p ON (dpt.dptid = p.dptid) dpt.dptid dptno pid pno p.dptid Dévloppt J Burgrd 2 Rchrch 2 A Rvud 2 3 Fcs NULL NULL NULL Do co résultt ls rgstrts d l rlto d guch qu ot ps u corrspodc ds l rlto d drot. 205-0-05 Dogo Plo 62
IFT287 Explotto d BD rltolls t OO OUTER JOIN L structo suvt: ELECT * FROM dpt RIGHT JOIN p ON (dpt.dptid = p.dptid) dpt.dptid dptno pid pno p.dptid Dévloppt J Burgrd 2 Rchrch 2 A Rvud 2 NULL NULL 3 Mr Allr Do co résultt ls rgstrts d l rlto d drot qu ot ps u corrspodc ds l rlto d guch. 205-0-05 Dogo Plo 63
IFT287 Explotto d BD rltolls t OO OUTER JOIN L structo suvt: ELECT * FROM dpt FULL JOIN p ON (dpt.dptid = p.dptid) dpt.dptid dptno pid pno p.dptid Dévloppt J Burgrd 2 Rchrch 2 A Rvud 2 NULL NULL 3 Mr Allr 3 Fcs NULL NULL NULL Do co résultt ls rgstrts d l rlto d drot qu ot ps u corrspodc ds l rlto d guch. 205-0-05 Dogo Plo 64
IFT287 Explotto d bss d doés rltolls t ortés objt Foctos d grégto 205-0-05 Dogo Plo 65
IFT287 Explotto d BD rltolls t OO Foctos d grégto Nous vos : COUNT, UM, MAX, MIN, AVG Trouvr l slr xl, l t oy d tous ls ployés. ELECT MAX(ALARY), MIN(ALARY), AVG(ALARY) FROM EMPLOYEE Qulqus pléttos d QL prttt qu u focto d grégto ds l clus ELECT 205-0-05 Dogo Plo 66
IFT287 Explotto d BD rltolls t OO Foctos d grégto Trouvr l slr xl, l t oy ds ployés du déprtt 'Rsrch'. ELECT MAX(ALARY), MIN(ALARY), AVG(ALARY) FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME='Rsrch' 205-0-05 Dogo Plo 67
IFT287 Explotto d BD rltolls t OO Groups Ds plusurs cs, ous vos bso d pplqur u focto d grégto à u ou plusurs sous-groups d tupls ds u rlto L focto dot êtr pplqué à chqu sous-group d èr dépdt QL l clus GROUP BY pour spécfr ls optos d groupg Pour chqu déprtt, trouvr l uéro d déprtt, l obr d ployés t l slr oy ELECT DNO, COUNT (*), AVG (ALARY) FROM EMPLOYEE GROUP BY DNO 205-0-05 Dogo Plo 68
IFT287 Explotto d BD rltolls t OO Groups Pour chqu projt, trouvr l uéro d projt, l o du projt, t l obr d ployés qu trvllt ds c projt ELECT PNUMBER, PNAME, COUNT (*) FROM PROJECT, WORK_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME Ds c cs, ls foctos d grégto t d groupg sot pplqués près l jotur d dux rltos 205-0-05 Dogo Plo 69
IFT287 Explotto d BD rltolls t OO L clus HAVING Qulqus fos, ous voulos obtr ls vlurs pplqués ux foctos d grégtos, s sult pour qulqus groups vc u codto précs L clus HAVING st utlsé pour spécfr u codto d sélcto ds ls groups HAVING focto ps vc ls tupls dvdullt Expl : Pour chqu projt vc plus qu dux ployés, trouvr l uéro d projt, o du projt t l uéro ds ployés qu trvllt ds c projt ELECT PNUMBER, PNAME, COUNT(*) FROM PROJECT, WORK_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME HAVING COUNT (*) > 2 205-0-05 Dogo Plo 70
IFT287 Explotto d bss d doés rltolls t ortés objt Autrs opértos 205-0-05 Dogo Plo 7
IFT287 Explotto d BD rltolls t OO Coprso d strgs Pour coprr ls strgs ou chîs d crctèrs, ous vos l opértur LIKE Il y dux crctèrs résrvés : % rplc u obr rbtrr d crctèrs _ rplc u sul crctèr Rtrouvr tous ls ployés yt u drss Housto, Txs. ELECT FNAME, LNAME FROM EMPLOYEE WHERE ADDRE LIKE '%Housto,TX%' 205-0-05 Dogo Plo 72
IFT287 Explotto d BD rltolls t OO Opértos rthétqus Ls opértos rthétqus stdrd '+', '-'. '*', t '/' (pour dto, soustrcto, ultplcto t dvso, rspctvt) puvt êtr pplqués ux vlurs uérqus ds u rquêt QL Motrr l fft d dor u ugtto d 0% ux ployés qu trvllt ds l projt 'ProductX'. ELECT FROM WHERE AND FNAME, LNAME,.*ALARY EMPLOYEE, WORK_ON, PROJECT N=EN AND PNO=PNUMBER PNAME='ProductX 205-0-05 Dogo Plo 73
IFT287 Explotto d BD rltolls t OO ORDER BY L clus ORDER BY st utlsé pour trr ls tupls ds l résultt d u rquêt Motrr u lst ds ployés t ss projts. Trr l lst pr o d déprtt t d èr lphbétqu pr o d ployé : ELECT DNAME, LNAME, FNAME, PNAME FROM DEPARTMENT, EMPLOYEE, WORK_ON, PROJECT WHERE DNUMBER=DNO AND N=EN AND PNO=PNUMBER ORDER BY DNAME, LNAME L ordr d trg st scdt pr défut Nous pouvos spécfr l ot clé DEC s ous voulos trr d èr dscdt, ous pouvos joutr l ot clé AC pour spécf u tr scdt d èr xplct. 205-0-05 Dogo Plo 74
IFT287 Explotto d BD rltolls t OO Résué ds rquêts QL U rquêt QL put vor ls cluss suvts : ELECT FROM [WHERE [GROUP BY [HAVING [ORDER BY <lst d ttrbuts> <lst d tbls> <codto>] <ttrbuts pour groupr>] <codto d group>] <lst d ttrbuts>] 205-0-05 Dogo Plo 75
IFT287 Explotto d bss d doés rltolls t ortés objt Ms à jour ds doés QL
IFT287 Explotto d BD rltolls t OO Ms à jour ds doés QL Il y tros cods QL pour odfr u bs d doés : INERT DELETE UPDATE 205-0-05 Dogo Plo 77
IFT287 Explotto d BD rltolls t OO INERT INERT st utlsé pour joutr u ou plusurs tupls ds u rlto Ls vlurs ds ttrbuts dovt êtr ds l ê ordr qu u ot d crér l tbl vc l cod CREATE TABLE Expl: INERT INTO EMPLOYEE VALUE ('Rchrd','K','Mr', '653298653', '30-DEC-52', '98 Ok Forst,Kty,TX', 'M', 37000,'98765432', 4 ) U for ltrtv spécf d èr xplct l o ds ttrbuts qu corrspodt ux vlurs d l ouvll tupl Expl: Ajoutr u EMPLOYEE duqul o coît sult FNAME, LNAME, t N. INERT INTO EMPLOYEE (FNAME, LNAME, N) VALUE ('Rchrd', 'Mr', '653298653') INERT INTO NEW_EMPLOYEE (FNAME, LNAME, N) ELECT (FNAME, LNAME, N) FROM EMPLOYEE 205-0-05 Dogo Plo 78
IFT287 Explotto d BD rltolls t OO DELETE uppr ls tupls d u rlto Nous pouvos joutr l clus WHERE pour sélctor ls tupls à supprr L tégrté référtll st vldé l y ps u clus WHERE, tous ls tupls d l rlto srot supprés DELETE FROM EMPLOYEE WHERE LNAME='Brow DELETE FROM EMPLOYEE WHERE DNO IN (ELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Rsrch') DELETE FROM EMPLOYEE 205-0-05 Dogo Plo 79
IFT287 Explotto d BD rltolls t OO UPDATE Utlsé pour odfr ls vlurs d u ou plusurs tupls L clus WHERE sélcto ls tupls à odfr Chqu cod odf ls tupls ds l ê rlto L tégrté référtll st vldé UPDATE PROJECT ET PLOCATION = 'Bllr', DNUM = 5 WHERE PNUMBER=0 Dor u ugtto d slr d 0% ux ployés du déprtt d Rsrch. UPDATE EMPLOYEE ET ALARY = ALARY *. WHERE DNO IN (ELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Rsrch') 205-0-05 Dogo Plo 80
IFT287 Explotto d bss d doés rltolls t ortés objt Vus
IFT287 Explotto d BD rltolls t OO Vus QL U vu st u tbl vrtull qu st dérvé d utrs tbls Ell ps d xstc propr. Aucu doé lu st ssocé. dscrpto st stocké sous l for d u rquêt. Prts l utlsto coplèt ds rquêts. Pour crér u vu, ous vos l cod: CREATE VIEW CREATE VIEW WORK_ON_NEW A ELECT FNAME, LNAME, PNAME, HOUR FROM EMPLOYEE, PROJECT, WORK_ON WHERE N=EN AND PNO=PNUMBER 205-0-05 Dogo Plo 82
IFT287 Explotto d BD rltolls t OO Utlté ds vus Cofdtlté Ls utlsturs ot ps l drot d ccédr qu ux vus. Cchr l coplxté ds doés ux utlsturs Vu splfé ds doés. plfr ls rquêts ux utlsturs o spéclsés. Préstr dfférts prspctvs sur ls doés ux utlsturs Ror ds colos. 205-0-05 Dogo Plo 83
IFT287 Explotto d bss d doés rltolls t ortés objt Qustos?
IFT287 Explotto d bss d doés rltolls t ortés objt Mrc Dogo Plo