30
Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples : https://info-llg.fr/commun-mpsi/pdf/12.bdd.pdf

Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Introductionauxbasesdedonnées

P.PISZYNA– CPGETSI– Mai2019

Sourcedesexemples:https://info-llg.fr/commun-mpsi/pdf/12.bdd.pdf

Page 2: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Sommaire

• Lesbasesdedonnées:pourquoifaire?• Lestermesàconnaître• Lemodèlerelationnel• Lamodélisation• Lesoutilslogiciels• L’accèsauxdonnées

Page 3: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lesbasesdedonnées:pourquoifaire?

Exempledisponibleenligne:http://www.semwebtech.org/sqlfrontend/

Basededonnées« Mondial »contenantdesdonnéesgéopolitiquessurtouslespaysdumonde.

Exemplederequête:Afficherlalistedespaysdontlapopulationestsupérieureà60Md’habitants

Page 4: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

L’architecturetrois-tiers:

Page 5: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

§ unSGDBestcomposédebasesdedonnées§ Unebasededonnéesestcomposéedetables§ Chaquetableestcomposéedechamps

SGBD

BD

tables

BD BD

Page 6: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

• ExempleavecunebasededonnéesappeléeMondialcontenant33tables :

Page 7: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

• Exempleaveclatableappeléecountry:– Name,Code,Capital,etc.sontdeschamps

Lestermesàconnaître

Page 8: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

• Exempleaveclatableappeléecountry:– Chaqueligneestunenregistrement

Page 9: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lestermesàconnaître

• Exempleaveclatableappeléecountry:Onvoitquelechamp codeestunecléprimaire:Ellepermetd’identifierdefaçonunique unenregistrement– Leschamps sonttypés etdelongueurlimitée

Lestermesàconnaître

Page 10: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lemodèlerelationnel• Descriptiondelarelationentrelestablescountry etprovince :

– Aun payscorrespondentuneouplusieursprovinces

– Aune provincecorrespondunseul pays

– Cesontlescardinalités– Noterlechampcountry_Code– C’estunecléétrangère

Page 11: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lamodélisation

• Exercice:– Proposerunmodèleconceptuelreprésentantunlycéequicontient:• Dessections(SN1,SN2…)• Desétudiants(GérardMANVUSSA,AnnieVERSAIRE…)• Desenseignants(AlainTERIEUR,JeanTALUS…)• Descours(Info,Maths,Anglais…)• Dessalles(E13,W12,X07…)

• Correction:– DémoavecMySQLWorkbench

Page 12: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Lesoutilslogiciels§ MODELISATION:MySQLWorkbench…

§ SGBD:§ ORACLE:grossystèmes(entreprises,administrations)

§ ACCESS:PCsousWindows(MSOffice)

§ MySQL:PCsousWindows,MacOS,ouLinux(gratuit)

etencore…SQL-Server,PostGreSQL,Interbase,sybase,DB2

Page 13: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

L’accèsauxdonnées• LelangageSQL– Structuredesrequêtes:

SELECT champ1,champ2 //ProjectionFROM table1WHERE champ1=« … » //RestrictionORDER BY champ2ASC ; //Tri

• Exercice :Donnerlarequêtepermettantdeconnaîtrelalistedansl’ordrealphabétiquedespaysdontlapopulationestsupérieureà60000000d’habitants

• Correction :Démoaveclabase« Mondial »

Page 14: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

L’accèsauxdonnées• LelangageSQL– Structuredesrequêtes- Jointure :

• Consisteàutiliserplusieurstablespourfaireunerequêtecroisée• Exemple :lalistedespaysappartenantaucontinent« Europe »

Page 15: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

L’accèsauxdonnées

• LelangageSQL– Structuredesrequêtes- Jointure :

SELECT table1.champ1 //ProjectionFROM table1JOIN table2 //JointureONtable1.cléprimaire=table2.cléétrangèreWHERE table2.champ2=« … » //Restriction

• Exercice :Donnerlarequêtepermettantdeconnaîtrelalistedespaysappartenantaucontinent« Europe »

• Correction :Démoaveclabase« Mondial »

Page 16: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

L’accèsauxdonnées

• LelangageSQL– Quelquesrequêtes:C:Create ->INSERTR:Read ->SELECTU:Update ->UPDATED:Delete ->DELETE

Page 17: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Fonctionsd’agrégation

Onpeutregrouperlesrésultatsd’unerequêtepoureffectueruneopérationsurlesgroupesobtenus:

SELECT e.continent ,COUNT(*)FROMcountryc//FonctionstatistiqueJOIN encompasses eON c.code =e.country //JointureGROUPBYe.continent //Agrégation

Page 18: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Fonctionsd’agrégation

Page 19: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Fonctionsd’agrégation

• Lemot-cléHAVINGpermetdefiltrerlesrésultatsselonunecondition:

SELECTe.continent ,SUM(c.population) //FonctionstatistiqueFROMcountrycJOINencompasses eONc.code =e.countryGROUPBYe.continent //AgrégationHAVINGSUM(c.population)>1000000000//Condition

Page 20: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Sous-requêtes

• OnpeutimbriquerunerequêteSELECT (encadréepardesparenthèses)dansunfiltreWHERE ouHAVING :

SELECTname FROMcountryWHEREpopulation/area>(SELECTAVG(population/area)FROMcountry)

Page 21: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Formulationthéoriquedesrequêtes• Indépendantedulangage(abstraite)• Baséesurlathéoriedesensemble• Proposeunensembled’opérationsformelles• Comparableàl’algorithmiqueenprogrammation

• OnparleradanscettepartiederelationsnotéesRn quiéquivalentàdestables

Page 22: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsensemblistes- l’union:• SELECT*FROMt1UNIONSELECT*FROMt2

⚠ Lestablesdoiventavoirlemêmeschémarelationnel

Page 23: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsensemblistes- l’intersection:• SELECT*FROMt1INTERSECTSELECT*FROMt2

⚠ Lestablesdoiventavoirlemêmeschémarelationnel

Page 24: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsensemblistes– ladifférence:• SELECT*FROMt1EXCEPTSELECT*FROMt2

⚠ Lestablesdoiventavoirlemêmeschémarelationnel

Page 25: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– laprojection:• SELECTDISTINCTA,BFROMt

Page 26: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– lasélection:• SELECT* FROMtWHERE E

• Eestuneexpressionlogique

Page 27: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– lerenommage:• ALTERTABLEtableRENAMECOLUMNA TOD

• PaspossibleenSQLite

Page 28: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– lajointure:• SELECT*FROMtable1JOINtable2ONE

• Eestuneexpressionlogique

Page 29: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– leproduitcartésien:• SELECT*FROMtable1,table2

Page 30: Introduction aux bases de donnéess193603589.onlinehome.fr/tsi/res/BDD.pdf · 2019-05-12 · Introduction aux bases de données P.PISZYNA – CPGE TSI – Mai 2019 Source des exemples

Algèbrerelationnelle

• Opérationsspécifiques– ladivisioncartésienne:• Pasd’équivalentenlangageSQL