Institut National de Statistique et d’Economie Appliquée ... · Cours de Bases de données 1er...

Preview:

Citation preview

CoursdeBasesdedonnées

1er année,FilièreInformatique2016/2017

Pr.ImadeBENELALLAM

i.benelallam@insea.ac.mawww.benelallam.org

1Cours deBasesdedonnées

InstitutNationaldeStatistiqueetd’EconomieAppliquée

Informationssurlecours• Organisation:– Volumehorairede36h(Cours+TD/TP);– 6h/Semaine;

• Supportdecours:– Déposésurwww.benelallam.org (avantlaséanceducours);

– PPTet/ouNotesdecours;• Remisesàjourfréquentes.

• PossibilitédecertificationOracleenIEEE– http://www.computer.org/web/education/knowledgecenters

Cours deBasesdedonnées 2

Sourcesbibliographiques

• AndreasMEIER:“Introductionpratiqueauxbasesdedonnéesrelationnelles”,Springer-Verlag,2006

• RamezELMASRI&Shamkant NAVATHE:“Conceptionetarchitecturedesbasesdedonnées”,PearsonEducation,2004

Cours deBasesdedonnées 3

Planducours

Chapitre1:LesconceptsfondamentauxdesBasesdeDonnées

Chapitre2:LemodèleabstraitdesbasesdedonnéesChapitre3:Lemodèle relationnelChapitre4:Leslangagesdemanipulationdedonnées

: l'exempledeS.Q.L.(Oracle)Chapitre5:Lesdépendances fonctionnellesChapitre6:Lesformes normalesChapitre7:Lagestion desaccès concurrents

Cours deBasesdedonnées 4

Evaluation

– 70% :• Examenfinal.

– 30% :• Contrôlecontinu.• Unenotedeminiprojet.• Unenotedeparticipationincluantl’assiduitéetlaréalisationdesTPs.

Cours deBasesdedonnées 5

Chapitre1Lesconceptsfondamentauxdes

BasesdeDonnées

Cours deBasesdedonnées 6

InformationetDonnée

Cours deBasesdedonnées 7

q Uneinformation,c’estunedonnéequiaunsenspourceluiquienabesoin.q Uneinformationestlerésultatdetraitementd’unedonnée.q Uneinformationestensemblecomplexe,composédedonnéesetdeliens.q Uneinformationdécritunévénement,uneactivitéouunfait.q Plusieursmodèlespossibles.

Le modèle est connu, l’interprétation donne du sens aux données

Le modèle est inconnu, le sens est plus difficile à percevoir ou incomplet

InformationetDonnée

Cours deBasesdedonnées 8

• L’informationdoitêtre• extraite,• stockée,• traitée,• maintenue…

c’estlatâched’unsystèmed’information!

Systèmed’information

• UnSystèmed'Information(notéSI)représentel'ensembledesélémentsparticipantdanslagestion,letransport,letraitementetladiffusiondel'informationauseindel'organisation.

• Intimementliéàlagestiondedonnées,• Séparationentrel'organisationdustockagedel'informationetlaréalisationdesprogrammesd'application.

• Unchangementd'applicationnedoitpasaffecterlastructureélaboréepourstockerlesdonnées

Cours deBasesdedonnées 9

ExemplesdeSI

• Gestiondespersonnels,étudiants,cours,inscriptions,

• Systèmederéservationdeplacesd'avion• Gestiondescomptesclientsd’unebanque• Gestiondescommandesd’unesociété• ...

Cours deBasesdedonnées 10

Besoins?• Besoinsdedescription• Besoinsdemanipulation• Besoinsd’interrogation• Besoinsd’exactitude/

cohérence• Besoinsdegaranties• Besoinsdeconfidentialité• Besoinsd’efficacité• ….

Quelmoyen?

Cours deBasesdedonnées 11

Introductionauxbasesdedonnées

• Définition(basededonnées): C’est unensemblededonnées structurées etinter-reliées quisont fiables,correctes,cohérentes etpartageable parplusieursutilisateurs ayant desbesoins d’informations différentsetcela sous lecontrôle d’une autorité uniquequiestl’administrateur delabasededonnées.

• vs.Ensembledefichiers– Lourdeurd’accèsauxdonnées– Manquedesécurité– Pasdecontrôledeconcurrence

Cours deBasesdedonnées 12

Introductionauxbasesdedonnées

• Certainsauteurs,spécialistesdelaquestion,netententpasdedonnerunedéfinitiondelabasededonnées,maisplutôtdel'ensembledelogicielsquirangent,recherchent,assemblent,modifient, ...lesdonnées.

• Cetensemble, indépendant ducontenudelabase,constituele SystèmedeGestiondeBasedeDonnées (SGBD)(enanglais:DBMS:DataBaseManagementSystem).

Cours deBasesdedonnées 13

Introductionauxbasesdedonnées

• Définition(SGBD):Unoutilinformatiquepermettantauxutilisateursdestructurer,d’insérer,demodifier,derechercherdemanièreefficacedesdonnéesspécifiques,auseind’unegrandequantitéd’informations,stockéessurmémoiressecondairespartagéedemanièretransparenteparplusieursutilisateurs.

Lesbasesdedonnéessedifférencient,dupointdevuedeleursperformances,nonparlesdonnéeselles-mêmesmaisbienévidemmentparleurSGBD.

Cours deBasesdedonnées 14

Introductionauxbasesdedonnées

L'historiquedesbasesdedonnéesn'estd'ailleursquecelledesSGBD:• 1960- 1965:apparitiondesmémoires auxiliaires magnétiques (

disques);développement delathéorie desfichiers• 1965- 1970:premièresbasesdedonnées,àstructure

hiérarchique,àstructureréseau (recommandations duCODASYL).• 1970- 1980:commercialisation desbasesdedonnées dutype

précédent ;développement delathéorie desbasesdedonnéesrelationnelles (Codd).

• 1980- 1983:implantationdespremièresbasesdedonnéesrelationnelles (même sur petits systèmes)

• 1983- 1992:nombreuxdéveloppementssurlesbasesdedonnées:théoriques(objets)oupratiques(réseauxetbasesréparties)voirconceptuels(infocentres)

Cours deBasesdedonnées 15

Pourquoi lesSGBD?• AvantlesSGBD:écrituredeprogrammespardesprogrammeursd’applicationutilisantlesystèmedegestiondefichierspourgéreretexploiterlesdonnées :– Risquesliésaumanquedesécurité+multiplicationdesefforts(programmessimilairesécritsdansdifférentsservicespourdesbesoinsproches).

• Conséquences:– Redondances :fichierscontenantlesmêmesdonnées,maisutiliséespardespersonnesdifférentes,

– Risqued’incohérences :dufaitdesredondancesetdesMAJnoncentralisées

Cours deBasesdedonnées 16

Pourquoi lesSGBD?

– Lesdonnéessontstockéessousdifférentsformats.– Intégrité desdonnées:Nonrespectdecontraintesquidoiventêtreprogrammées(ex:contrôlessurdatedenaissance,surcodepostal,numérodetél.,...),

– Problèmesliésàla sécurité :utilisateursdedifférentsniveauxd’expérienceetavecdifférentsdroitsd’accès=>motsdepasse,

– Problèmesliésau partage desdonnées:accèsenlecture/écriture.

Cours deBasesdedonnées 17

Pourquoi lesSGBD?

• Concurrencesetmultiplicitédesremisesàjour– Lestraitementsconcurrentspeuventgénérerdeserreurs.• Ex:Misesàjourd'uncompteenmêmetemps

– soldede400$– T1:dépôtde300$– T2:retraitde500$– siT1avantT2:400$,700$,200$OK– siT2avantT1:400$,-100$,200$ERREUR!!!

– Nécessiteunprogrammesuperviseurpourgérerlestransactions

Cours deBasesdedonnées 18

Pourquoi lesSGBD?Ex:Considéronsdeuxtransactionsfaisantuneréservationd'uneplaced'avion,alorsqu'iln'yaplusqu'uneplacededisponible.Lesdeuxtransactionspourrontnéanmoinseffectuerlesdeuxréservations,conduisantàuneincohérencedelabasededonnées.

Cours deBasesdedonnées 19

Pourquoi lesSGBD?

• Plusieursproblèmespeuventainsiseposerlorsquedestransactionsconcurrentess'exécutentdemanièrenoncontrôlée.– Pertedemiseàjour :

Cours deBasesdedonnées 20

Pourquoi lesSGBD?

– Lecture impropre(Dirty read)

Cours deBasesdedonnées 21

Pourquoi lesSGBD?

– Lecture nonreproductible

Cours deBasesdedonnées 22

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Voiciuneliste,nonlimitative,descaractéristiquesquedoit(oudevrait)apporterunebasededonnéesparrapportàuneorganisation"fichier"classique:– exhaustivité desinformations– non-redondance desinformations– partage desinformations– standardd'organisation– sécurité desinformations– intégrité desinformations– indépendance desinformations visàvisdesapplications

Cours deBasesdedonnées23

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Exhaustivité:Lesinformationscontenuesdanslabasedoiventêtresuffisammentcomplètespourquelesapplicationsprévuespuissentfonctionner.

• Exemple :dansuneentreprisecommerciale,l'éditiond'unefacturesupposequelabasededonnéescontiennedesinformationssur:– leclient(nom,adresse,conditionsdevente,...)– lacommande(date,numéro,articlesdemandés,références,quantités,...)

– lesarticles(référence,quantitéenstock,prixunitaire,tauxdeTVA,....)

– lalivraison(date,articleslivrés,articlesrestantàlivrer,...)

Cours deBasesdedonnées 24

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Nonredondance:Danslamesuredupossible,lamêmeinformationnedoitpasfigurerplusieursfoisdanslabasededonnées.Celaconduiraiteneffet:– àgaspillerdelaplacedestockage(espacedisque)– àeffectuerdesmisesàjourcomplexes

Cours deBasesdedonnées 25

Caractéristiques,qualités etpropriétésdesbasesdedonnées

Cours deBasesdedonnées 26

Caractéristiques,qualités etpropriétésdesbasesdedonnées

Cours deBasesdedonnées 27

Caractéristiques,qualités etpropriétésdesbasesdedonnées

Cours deBasesdedonnées 28

Caractéristiques,qualités etpropriétésdesbasesdedonnées

Cours deBasesdedonnées 29

Caractéristiques,qualités etpropriétésdesbasesdedonnées

Cours deBasesdedonnées 30

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Partagedesinformations:Lesinformationscontenuesdanslabasededonnéesdoiventêtreaccessiblesàplusieursutilisateurssimultanés.L'intérêtestévident:lacentralisationdesdonnéesestunmoyenéconomiquedesatisfairelesbesoinsd'ungrandnombred'usagers.

Cours deBasesdedonnées 31

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Lepartagedesinformationsposecependantdeuxproblèmesprincipaux:– lasécuritédesdonnées– lesaccèsconcurrentsàuneinformation

• Cesproblèmesserontexaminésdansdeschapitresspécifiques.

Cours deBasesdedonnées 32

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Sécuritédesinformations:L’ABD,etlui-seul,autorisel'accèsauxinformations.Concrètement, cetteautorisationconsisteen:– l'accèsàunepartiebiendéfiniedelabasededonnées

– lapossibilitéd'yeffectuerdesopérationsbiendéfinies.

Cours deBasesdedonnées 33

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Intégritédesinformations:Lesinformationscontenuesdanslabasededonnéesdoiventêtreexactessil'onveututilisercelle-cidemanièreefficace.

• Danslapratique,l'exactitudeabsoluen'existepas(lefameux0défaut).Onpeuttoutauplusaméliorerlaqualitéd'intégrité.

Cours deBasesdedonnées 34

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Undesavantagesdesbasesdedonnéesparrapportàunegestiondefichierstraditionnellerésidedanslapossibilitéd’intégrerdescontraintesquedoiventvérifierlesdonnéesàtoutinstant.– Exemple:onsouhaiteposerlescontraintessuivantes:– lenombred’exemplairedechaqueOUVRAGEdoitêtresupérieurà0(zéro)– ChaqueOUVRAGEdoitavoiraumoinsunauteur– Etc.

• Ceciestpossiblegrâceàlanotiondecontraintesd’intégrité• Définition :Contraintesd’intégrité«sontdesassertionsqui

doiventêtrevérifiéesàtoutmomentparlesdonnéescontenuesdanslabasededonnées»

Cours deBasesdedonnées 35

Caractéristiques,qualités etpropriétésdesbasesdedonnées

• Indépendancedesinformationsvis-à-visdesapplication:cette propriété permetessentiellement dedifférencier une structure"classique"d'une structurede"basesdedonnées".

Cours deBasesdedonnées 36

Architectured'une basededonnées

• VuesdelaBD– SchémasExternes(ES)• Lesvuespartielles• L4G:Lang.de4° génération

– Schémaconceptuel(CS)• DéfinitionlogiquedelaBD;Structuresettypes(LDD)• Manipulations(LMD)

– Schémainterne(IS)• Représentationphysique• Optimisations

Cours deBasesdedonnées 37

Architectured'une basededonnées

• Le niveauinterne estdéfiniparleschémaphysiquequiindiquecommentl'informationestenregistréesurlesmémoiresauxiliaires.

• Ceschémautilisedonclestermesdefichiers,d'index,d'adressages,etc...

• Leniveauinternedécritdoncuneréalitéphysique(enfaitlaseuledetoutel'architecture),lesautresniveauxcorrespondantàdesnotionsentièrementabstraites.

Cours deBasesdedonnées 38

Architectured'une basededonnées

• Le niveauconceptuel estdéfiniparunschémaconceptueldontlerôleestdedéfinirlesrèglesdedescriptiondesdonnéesetdesrelationsentrecesdonnées.

• End'autrestermes,leschémaconceptuelestunemodélisationdesobjetsdumonderéel.Onl'appelled'ailleursmodèlededonnées.

• Onconnaîtjusqu'àprésentplusieurstypesdemodèlesdedonnées:– lemodèlehiérarchique– lemodèleréseau– lemodèlerelationnel– Lemodèleobjet

Cours deBasesdedonnées 39

Architectured'une basededonnées

• Exempled’unschémaconceptuelaveclaméthodeMerise(MCD) :

Cours deBasesdedonnées 40

Architectured'une basededonnées

• Exempled’unschémaconceptuelaveclelangagedemodélisationUML(Diagrammedeclasses) :

Cours deBasesdedonnées 41

Architectured'une basededonnées

• Lepassagedumonderéelauschémaconceptuelcorrespondàunprocessusdemodélisation.

• Leprocessusdemodélisationsefaitàl’aided’unmodèlededonnées.

• Lamodélisationseréaliseentroisétapesprincipalesquicorrespondentàtrois niveauxd’abstractiondifférents :

Cours deBasesdedonnées 42

Architectured'une basededonnées

• Le niveauexterne contrairementauxprécédentsniveauxcorrespondàplusieursschémasexternesquinesontautresquelesvues(partielles)qu'ontlesdifférentsutilisateursdelabasededonnées.

• Lesschémasexternesnesontquedessous-schémasduschémaconceptuel;

• Quelquefois,ilssontplusquecela:ilspeuventpermettre,parexemple,defournirdesinformationsquin'existentpasentantquetellesdansleschémaconceptuel,maisquipeuventêtreobtenues(calculées)àpartird'informationsexistantes.

• Encesens,l'uniondetouslesschémasexternespeutconstituerun"recouvrement"duschémaconceptuel.

Cours deBasesdedonnées 43

Architectured'une basededonnées

• Onremarque,surceschéma,quel'architecturecomprend3grandsniveaux:interne,conceptuel,externe.(ArchitectureANSI-SPARC)

Cours deBasesdedonnées 44

SGBD:Objectifs• UnSGBDestdoncfondamentalepourgérercesdifférentsniveaux

!• Indépendancephysiquedesprogrammesetdesdonnées:

– Pouvoirmodifierlesschémasinternessansmodifierlesschémasconceptuelsetexternes

• Indépendancelogiquedesprogrammesetdesdonnées:– Pouvoirmodifierlesschémasexternessansmodifierlesschémas

conceptuels– Indépendanceentrelesdifférentsutilisateurs

• Manipulationdesdonnéespardeslangagesnonprocéduraux– Donnéesfacilementmanipulablesparlesutilisateurs(interactifsou

programmeurs)• Administrationfaciledesdonnées

– Outilspourdéfiniretmodifierlesdéfinitiondedonnées

Cours deBasesdedonnées 45

SGBD:Objectifs• Efficacitéd’accèsauxdonnées:

– Optimisation:tempsderéponse,débit,...– Optimisationdesopérationsd’E/S

• Redondancecontrôléedesdonnées:– DanslesBDréparties:redondancenécessaire,maiscontrôlée

• Cohérencedesdonnées– Satisfactiondecontraintesd’intégrité

• Partagedesdonnées– Permettrelesaccèsconcurrents

• Sécuritédesdonnées– Outilspourdéfiniretmodifierlesdéfinitiondedonnées– Protectionencasdepanne(duSGBD,delamachine,...)– Assurerl’atomicitédestransactionsetl’intégritédesdonnées

Cours deBasesdedonnées 46

Architecturesopérationnellesd’unSGBD

• Dupointdevueopérationnel– UnSGBDestunensembledeprocessusetdetâchesquisupportentl’exécutionducodeduSGBDpoursatisfairelescommandesdesutilisateurs.

• Depuislesannées80,lesSGBDsontbaséssurunearchitectureclients-serveur– Serveur:Gèrelesdonnéespartagèes etexécutelecodeduSGBD

– Clients:Communiquentavecleserveur.Requêtesdetypequestion/réponse

Cours deBasesdedonnées 47

Architecturedeuxstrates

Cours deBasesdedonnées 48

Architecturedeuxstrates

Cours deBasesdedonnées 49

Architecturetroisniveaux

Cours deBasesdedonnées 50

Architecturetroisniveaux

Cours deBasesdedonnées 51

Architecturerépartie

Cours deBasesdedonnées 52

Architecturerépartie

Cours deBasesdedonnées 53

Exercices

Cours deBasesdedonnées 54

Recommended