Click here to load reader

Cours Base de données relationnelles

  • View
    61

  • Download
    7

Embed Size (px)

Text of Cours Base de données relationnelles

  1. 1. Cours Base de donnes relationnelles Quest-ce donc quune base de donnes ? Que peut-on attendre dun systme de gestion de bases de donnes ? Que peut-on faire avec une base de donnes ? Une mise en uvre pratique Des lectures complmentaires ! Evaluation : les TPs sont rendre la fin de toutes les sances : anticipez !
  2. 2. Des rfrences complmentaires Philippe Rigaux "Pratique de MySQL et PHP", 2nde dition, O'Reilly, 2003 J. Ullman et J. Widom, "a first course in database systems", Prentice Hall, 2002 Polycopi de Ph Rigaux - LRI / CNAM http://www.lamsade.dauphine.fr/ri gaux/bd/ Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath), Godin (UQAM)
  3. 3. Des donnes ? Est ce important pour vous ? Des relevs de banques, de cartes de crdit Des carnets dadresses La consommation de tlphone Des inscriptions des clubs, associations, Des papiers utiles Des horaires et disponibilits de transport Des programmes de tl
  4. 4. Des donnes ? Est ce important pour vous ? Assurer laccs aux donnes Assurer la scurit de ces donnes Confidentialit Authentification Signature digitale Intgrit Le tout efficacement, rapidement, partout etc
  5. 5. Des donnes ? Est ce important pour vous ? Cest important pour vous Cest impratif pour les entreprises !
  6. 6. Le stockage / laccs
  7. 7. Un point dans le temps 1950-1960 Des fichiers squentiels, du batch 1960 1970 Le dbut des bases de donnes hirarchiques 1970 1980 La naissance du modle relationnel Dbut des annes 90 Sql, laide la dcision Fin des annes 90 Croissance du volume des donnes, Internet, modle multi tiers
  8. 8. Les limites lutilisation des fichiers (1) Lutilisation de fichiers impose lutilisateur de connatre : le mode daccs (squentielle, indexe, ) la structure physique des enregistrements et la localisation des fichiers quil utilise afin de pouvoir accder aux informations dont il a besoin. Pour des applications nouvelles, lutilisateur devra obligatoirement crire de nouveaux programmes et il pourra tre amen crer de nouveaux fichiers qui contiendront peut-tre des informations dj prsentes dans dautres fichiers. Toute modification de la structure des enregistrements (ajout dun champ par exemple) entrane la rcriture de tous les programmes qui manipulent ces fichiers.
  9. 9. Les limites lutilisation des fichiers (2) De telles applications sont rigides, contraignantes longues et coteuse mettre en uvre Les donnes associes sont : mal dfinies et mal dsignes, redondantes peu accessibles de manire ponctuelle peu fiables
  10. 10. Les limites lutilisation des fichiers (3) La prise de dcision est une part importante de la vie dune socit. Mais elle ncessite dtre bien inform sur la situation et donc davoir des informations jour et disponibles immdiatement. Les utilisateurs, quant eux, ne veulent plus de systmes dinformation constitus dun ensemble de programmes inflexibles et de donnes inaccessibles tout non spcialiste; ils souhaitent des systmes dinformations globaux, cohrents, directement accessibles (sans quils aient besoin soit dcrire des programmes soit de demander un programmeur de les crire pour eux) et des rponses immdiates aux questions quils posent.
  11. 11. Les limites lutilisation des fichiers (4) Redondance des donnes et incohrences Isolation des donnes et accessibilit Un accs aux donnes = un programme Atomicit et environnement multi utilisateurs Scurit et protection des donnes
  12. 12. Les limites lutilisation des fichiers (5) Source des difficults avec les fichiers Le modle des donnes est intgr dans les programmes Absence de contrle pour laccs et la manipulation des donnes
  13. 13. Notions de bases Dfinition intuitive dune BD (1) Dfinition intuitive : on peu considrer une Base de Donnes (BD) comme une grande quantit de donnes (ou ensemble dinformations), centralises ou non, servant pour les besoins dune ou plusieurs applications, interrogeables et modifiables par un groupe dutilisateurs travaillant en parallle. Exemples dapplication Systme Socrate : SNCF Annuaire lectronique Catalogue lectronique dune bibliothque
  14. 14. Notions de bases Dfinition intuitive dune BD (2) Dfinition ; une base de donnes est un ensemble structur de donnes (1) enregistres sur des supports accessibles par lordinateur (2) pour satisfaire simultanment plusieurs utilisateurs (3) de manire slective (4) en un temps opportun (5). (1) : Organisation et description de donnes (2) : Stockage sur disque (3) : Partage des donnes (4) : Confidentialit (5) : Performance
  15. 15. SGBD (1) Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de Gestion de Base de Donnes (SGBD) BDSGBD
  16. 16. SGBD (2) Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques Un SGBD facilite - la gestion de donnes, avec une reprsentation intuitive simple sous forme de table par exemple - la manipulation de donnes. On peut insrer, modifier les donnes et les structures sans modifier les programmes qui manipulent la base de donnes Programme 1 Programme 2 Programme 3 SGBD Fichier 1 Fichier 2 Fichier 3 Base de donnes
  17. 17. Objectifs des SGBD (1) Faciliter la reprsentation et la description de donnes Indpendance physique (1) : Plus besoin de travailler directement sur les fichiers physiques (tels quils sont enregistrs sur disque). Un SGBD nous permet de dcrire les donnes et les liens entre elles dune faon logique sans se soucier du comment cela va se faire physiquement dans les fichiers. On parle alors dimage logique de la base de donnes, (ou aussi description logique ou conceptuelle ou encore de schma logique). Ce schma est dcrit dans un modle de donnes par exemple le modles de tables, appel le modle relationnel. Fichiers physiques Image physiqueImage logique
  18. 18. Objectifs des SGBD (2) Indpendance physique (2) : La manipulation des donnes doit tre faciliter en travaillant directement sur le schma logique. On peut insrer, supprimer, modifier des donnes directement sur limage logique. Le SGBD va soccuper de faire le travail sur les fichiers physiques. Indpendance logique : Un mme ensemble de donnes peut tre vu diffremment par des utilisateurs diffrents. Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale. Manipulations des donnes par des non informaticiens. Il faut pouvoir accder aux donnes sans savoir programmer ce qui signifie des langages quasi naturels. Efficacit des accs aux donnes : Ces langages doivent permettre dobtenir des rponses aux interrogations en un temps raisonnable. Il doivent donc tre optimiss et, entre autres, il faut un mcanisme permettant de minimiser le nombre daccs disques. Tout ceci, bien sur, de faon compltement transparente pour lutilisateur.
  19. 19. Objectifs des SGBD (3) Administration centralise des donnes : Des visions diffrentes des donnes (entre autres) se rsolvent plus facilement si les donnes sont administres de faon centralise. Cohrence des donnes. Les donnes sont soumises un certain nombre de contrainte dintgrit qui dfinissent un tat cohrent de la base. Elles doivent pouvoir tre exprimes simplement et vrifies automatiquement chaque insertion, modification ou suppression de donnes, par exemple : lge dune personne suprieur zro Salaire suprieur zro Etc Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse.
  20. 20. Objectifs des SGBD (4) Non redondance des donnes : Afin dviter les problmes lors des mises jour, chaque donne ne doit tre prsente quune seule fois dans la base. Partageabilit des donnes : Il sagit de permettre plusieurs utilisateurs daccder aux mmes donnes au mme moment. Si ce problme est simple rsoudre quand il sagit uniquement dinterrogations et quand on est dans un contexte mono-utilisateur, cela nest plus le cas quand il sagit de modifications dans un contexte multi- utilisateurs. Il sagit alors de pouvoir : Permettre deux (ou plus) utilisateurs de modifier la mme donne em mme temps; Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une table pendant quun autre la modifie.
  21. 21. Objectifs des SGBD (5) Scurit des donnes. Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pour cela, il faut pouvoir associer chaque utilisateur des droits daccs aux donnes. Rsistance aux pannes : Que se passe-t-il si une panne survient au milieu dune modification, si certains fichiers contenant les donnes deviennent illisibles? Les pannes, bien qutant assez rares, se produisent quand mme de temps en temps. Il faut pouvoir, lorsque lune delles arrive, rcuprer une base dans un tat sain. Ainsi, aprs une panne intervenant au milieu dune modification deux solutions sont possibles : soit rcuprer les donnes dans ltat dans lequel elles taient avant la modification, soit terminer lopration interrompue.
  22. 22. Trois Fonctions dun SGBD Description des donnes : codification structuration, grce un Langage de Description de Donnes (LDD) Manipulation et restitution des donnes (insertion, mise jour, interrogation) Mise en uvre laide dun Langage de Manipulation de Donnes (LMD) S.Q.L. (Structures Query Langage) : Langage standard Contrle (partage, intgrit, confidentialit, scurit)
  23. 23. Dfinition et description des donnes 3 niveaux de description Schma physique Schma conceptuel Interview Documents Modlisation TT Schma Externe1 Schma Externe2
  24. 24. Dfinition et description des donnes niveau logique (conceptuel) Permet la description Des objets : exemple OUVRAGES, ETUDIANTS Des proprits des objets (attributs) : exemple Titre de OUVRAGES Des liens entre les objets : un OUVRAGE peut tre emprunt par un ETUDIANT Des contraintes : le nombre dexemplaires dun OUVRAGE est suprieur zro Cette description est faite selon un modle de donnes. Un modle de donnes est un ensemble de concepts permettant de dcrire la structure dune base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel Cette description va donner lieu un schma de base de donnes. Un schma de base de donnes se compose dune description des donnes et de leurs relations ainsi que dun ensemble de contraintes dintgrit.
  25. 25. Dfinition et description des donnes niveau physique Description informatique des donnes et de leur organisation : en terme de fichiers, dindex, de mthodes daccs, Passage du modle logique au modle physique tend tre assist par le SGBD : transparent et/ou semi- automatique Objectifs : optimiser les performances
  26. 26. Dfinition et description des donnes niveau externe Description des donnes vues par un utilisateur ( ou un groupe dutilisateurs) Objectifs : simplification, confidentialit Exemple : OUVRAGES dit par des diteurs franais
  27. 27. Manipulation et restitution des donnes Afin de raliser les oprations suivantes Insertion : saisir des donnes Supprimer Modifier Interroger : rechercher des donnes via des requtes La manipulation des donnes est mise en uvre laide dun Langage de manipulation de Donnes (LMD). SQL (Structured Query Language) est le langage standard de manipulation de BD
  28. 28. Contrles raliss par le SGBD Partage de donnes : accs la mme information par plusieurs utilisateurs en mme temps. Le SGBD inclut un mcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnes ( pour viter par exemple quon puisse lire une information quon est en train de mettre jour) Intgrit des donnes grce la dfinition de contraintes sur les donnes. Le SGBD veille ce que toutes les contraintes soient vrifies chaque insertion, suppression, ou modification dune donne. Confidentialit : plusieurs utilisateurs peuvent utiliser en mme temps une base de donnes, se pose le problme de la confidentialit des donnes. Des droits doivent tre grs sur les donnes, droits de lecture, mise jour, cration; qui permettent daffiner. Scurit : une base de donnes est souvent vitale dans le fonctionnement dune organisation, et il nest pas tolrable quune panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.
  29. 29. Modles de SGBD Quelques modles logiques : Modle hirarchique Modle rseau Modle relationnel Modle objet Quelques SGBD (relationnels du march) Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,
  30. 30. Larchitecture des SGBD Base sur une architecture Client-Serveur Donnes sur le serveur partages entre N clients Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardiss Clients et serveurs communiquant par des requtes avec rponses
  31. 31. SGBD S y s t m e d e g e s t io n d e b a s e d e d o n n e s ( S G B D ) P r o g r a m m e d 'a p p lic a tio n U t ilita ir e d ' d itio n e t d 'in te r p r ta tio n d e c o m m a n d e s d u L M D U tilita ir e c o n v iv ia l d e m a n ip u la t io n d e d o n n e s E v a lu a t e u r d e r e q u t e ( L M D )In t e r p r te d u L D D U tilit a ir e d ' d it io n d u s c h m a D ic tio n n a ir e d e d o n n e s ( c o n t ie n t le s c h m a o u m ta - d o n n e s ) B a s e d e d o n n e s ( c o n t ie n t le s d o n n e s ) M m o ir e s e c o n d a ir e p e r m a n e n t e A d m in is tr a te u r d e b a s e d e d o n n e s ( A B D ) U t ilis a te u r e x p e r t U tilis a t e u r P r o g r a m m e s o u r c e in c o r p o r a n t d e s a p p e ls u n e lib r a ir ie s p c ia lis e p o u r le S G B D P r o g r a m m e u r P r o g r a m m e s o u r c e a v e c L M D e n c h s s p r - c o m p ila te u r C o m p ila te u r
  32. 32. Architecture Architecture centralise programme d'application et SGBD sur mme machine (mme site) premiers systmes Architecture du type client-serveur (client-server architecture) programme d'application = client interface ( GUI ) + traitement du domaine dapplication SGBD = serveur (de donnes data server ) machines (sites) diffrentes deux couches, niveaux, strates (two tier )
  33. 33. Architecture client / serveur R s e a u L o g ic ie l in te r m d ia ir e P ilo te d e t l c o m m u n ic a tio n P r o g r a m m e d 'a p p lic a t io n L o g ic ie l in te r m d ia ir e P ilo t e d e t l c o m m u n ic a tio n S G B D C lie n t S e r v e u r B D
  34. 34. Architecture 3 tiers R s e a u L o g ic ie l in te r m d ia ir e P ilo te d e t l c o m m u n ic a tio n A p p lic a tio n L o g ic ie l in te r m d ia ir e P ilo te d e t l c o m m u n ic a t io n S G B D S e r v e u r d 'a p p lic a t io n S e r v e u r d e d o n n e s L o g ic ie l in t e r m d ia ir e P ilo te d e t l c o m m u n ic a tio n I n te r f a c e C lie n t m in c e R s e a u B D
  35. 35. Base de donnes distribues R s e a u L o g ic ie l in te r m d ia ir e P ilo te d e t l c o m m u n ic a t io n S G B D r p a r ti S e r v e u r d e d o n n e s L o g ic ie l in t e r m d ia ir e P ilo te d e t l c o m m u n ic a tio n P r o g r a m m e d 'a p p lic a tio n C lie n t R s e a u L o g ic ie l in te r m d ia ir e P ilo te d e t l c o m m u n ic a tio n S G B D r p a r ti S e r v e u r d e d o n n e s B D lo c a le B D lo c a le
  36. 36. Base de donnes parallles D is q u e D is q u e D is q u e D is q u e U n it d e tr a ite m e n t U n it d e tr a ite m e n t U n it d e tr a ite m e n t D is q u e M m o ir e v iv e
  37. 37. Entrept de donnes E n tr e p t d e d o n n e s ( d a ta w h a r e h o u s e ) B D o p r a tio n n e lle ( O L T P ) A u t r e s o u r c e d e d o n n e s E x tr a c tio n : f iltr a g e , s y n t h s e , t r a n s f o r m a tio n , f u s io n B D o p r a t io n n e lle ( O L T P ) A n a ly s e ( O L A P ) , p r o s p e c tio n
  38. 38. Entrept de donnes Base de donnes oprationnelle traitement des donnes quotidiennes et rcentes OLTP ( On Line Transaction Processing ). Entrept de donnes (data wharehouse) grand volume de donnes historiques extraites de bases oprationnelles pour le support la prise de dcision OLAP ( On Line Analytical Processing ) Prospection de donnes , ou forage, fouille, exploration de donnes, ou dcouverte de connaissances dans les BD (data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD) extraction non triviale d'informations implicites, inconnues et utiles apprentissage machine , statistiques
  39. 39. Dmarche de construction dune BD relationnelle Interview Documents Modlisation Entit association Schma logique en Entit-Association Transformation en relationnel Schma conceptuel en relationnel