1 / 52

Bases de données relationnelles

Bases de données relationnelles. Nguyen Tuan Loc. Résumé du cours précédent. Systèmes de fichiers. Caractéristiques. Comptabilité. Chirurgie. Problèmes. Consultations. Psychiatrie. Format des fichiers. Caractéristiques Plusieurs applications plusieurs formats plusieurs langages.

brooke-levy
Télécharger la présentation

Bases de données relationnelles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bases de données relationnelles Nguyen Tuan Loc

  2. Résumé du cours précédent

  3. Systèmes de fichiers Caractéristiques Comptabilité Chirurgie Problèmes Consultations Psychiatrie

  4. Format des fichiers Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx • Problèmes • Difficultés de gestion Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd

  5. Redondance (données) Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx • Problèmes • Difficultés de gestion • Incohérence des données Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd

  6. Interrogations Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données Pas de facilité d’interrogation • Question développement Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft • Problèmes • Difficultés de gestion • Incohérence des données • Coûts élevés • Maintenance difficile Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

  7. Pannes ??? Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données Pas de facilité d’interrogation • Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft • Problèmes • Difficultés de gestion • Incohérence des données • Coûts élevés • Maintenance difficile • Gestion de pannes ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

  8. Partage de données Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données Pas de facilité d’interrogation • Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft • Problèmes • Difficultés de gestion • Incohérence des données • Coûts élevés • Maintenance difficile • Gestion de pannes ??? • Partage des données ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

  9. Confidentialité Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données Pas de facilité d’interrogation • Question développement Redondance de code Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft • Problèmes • Difficultés de gestion • Incohérence des données • Coûts élevés • Maintenance difficile • Gestion de pannes ??? • Partage des données ??? • Confidentialité ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

  10. L’approche ‘‘Bases de données’’ (1) • Modélisation des données  Eliminer la redondancede données • Centraliseret organiser correctement les données • Plusieurs niveaux de modélisation • Outils de conception • Logiciel «Système de Gestion de Bases de Données» • Factorisationdes modules de contrôle des applications - Interrogation, cohérence, partage, gestion de pannes, etc… • Administration facilitées des données

  11. L’approche ‘‘Bases de données’’ (2) Système de gestion de bases de données I- Indépendance Physique X - Standards II- Indépendance Logique IX - Gestion de la confidentialité III – Langage de manipulation BD VIII - Concurrence d’accès IV - Gestion des vues V - Optimisation des questions VII - Gestion des pannes VI - Gestion de la cohérence

  12. Modélisation du réel effectue Médecin Visite

  13. Modélisation Relationnelle (1) Champs, attributs, colonnes Champs, attributs, colonnes Champs, attributs, colonnes Relation ou table Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets

  14. Modélisation Relationnelle (2)

  15. I - Indépendance Physique • Indépendance des programmes d'applications vis à vis du modèle physique : • Possibilité de modifier les structures de stockage (fichiers, index, chemins d'accès, …) sans modifier les programmes; • Ecriture des applications par des non-spécialistes desfichiers et des structures de stockage; • Meilleure portabilité des applications et indépendance vis à vis du matériel.

  16. II - Indépendance Logique Les applications peuvent définir des vues logiquesde la BD Gestion des médicaments Cabinet du Dr. Masse Prescription Prescription Id Id - - V V Ligne Ligne Id Id - - M M Posologie Posologie Visites Visites 1 1 1 1 12 12 1 par jour 1 par jour Id Id - - D D Id Id - - P P Id Id - - V V Date Date Prix Prix 1 1 2 2 5 5 10 gouttes 10 gouttes 1 1 2 2 1 1 15 juin 15 juin 250 250 …. …. …. …. …. …. ………… ………… 2 2 3 3 4 4 1 mars 1 mars 250 250 Patients Patients Médicament Médicament Id Id - - P P Nom Nom Prénom Prénom Id Id - - M M Nom Nom Description Description 1 1 Lebeau Lebeau Jacques Jacques 1 1 Aspegic 1000 Aspegic 1000 …………………………….. …………………………….. 2 2 Troger Troger Zoe Zoe 2 2 Fluisédal Fluisédal …………………………….. …………………………….. …. …. ……. ……. ……. ……. 3 3 Mucomyst Mucomyst …………………………….. …………………………….. …. …. …….. …….. …………………………….. …………………………….. Système de gestion de bases de données Traduction

  17. Avantages de l’indépendance logique • Possibilité pour chaque application d'ignorerles besoins des autres (bien que partageant la même BD). • Possibilité d'évolution de la base de données sans réécriture des applications : • ajout de champs, ajout de relation, renommage de champs. • Possibilité d'intégrer des applications existantes sans modifier les autres. • Possibilité de limiter les conséquences du partage : Données confidentielles.

  18. III - Manipulation aisée • La manipulation se fait via un langage déclaratif • La question déclare l’objectif sans décrire la méthode • Le langage suit une norme commune à tous les SGBD • SQL : Structured Query Langage • Syntaxe (aperçu !) Select<Liste de champs ou de calculs à afficher> From <Liste de relations mises en jeu> Where<Liste de prédicats à satisfaire> Group By<Groupement éventuel sur un ou plusieurs champs> Order By <Tri éventuel sur un ou plusieurs champs>

  19. Exemple de question SQL (1) • Nom et description des médicaments de type aspirine Select Nom, Description From Médicaments Where Type = ‘Aspirine’

  20. Exemple de question SQL (2) • Patients parisiens ayant effectués une visite le 15 juin SelectPatients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P andPatients.Ville = ’Paris’ andVisites.Date = ’15 juin’

  21. Exemple de question SQL (3) • Dépenses effectuées par patient trié par ordre décroissant SelectPatients.Id-P, Patients.Nom, sum(Prix) From Patients, Visites Where Patients.Id-P = Visites.Id-P GroupBy Patients.Id-P, Patients.Nom OrderBysum(Prix) desc

  22. IV – Gestion des vues • Les vues permettent d’implémenter l’indépendance logique en permettant de créer des objets virtuels • Vue = Question SQL stockée • Le SGBD stocke la définition et non le résultat • Exemple : la vue des patients parisiens Create ViewParisiensas( SelectNom, Prénom From Patients Where Patients.Ville = ’Paris’ )

  23. Gestion des vues Le SGBD transforme la question sur les vues en question sur les relations de base Question Q sur des vues Système de gestion de bases de données Gestionnaire de Vues Question Q’ sur les relations de base Définition des vues

  24. V –Exécution et Optimisation • Traduction automatique des questions déclaratives en programmes procéduraux :  Utilisation de l’algèbre relationnelle • Optimisation automatique des questions • Utilisation de l’aspect déclaratif de SQL • Gestion centralisée des chemins d'accès (index, hachages, …) • Techniques d’optimisation poussées • Economie de l'astuce des programmeurs • milliers d'heures d'écriture et de maintenance de logiciels.

  25. s Sélection Patients de la ville de Paris

  26. p Projection Nom et prénom des patients

  27. Jointure Patients et leurs visites

  28. p s Exemple de plan d’exécution SelectPatients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P andPatients.Ville = ’Paris’ andVisites.Date = ’15 juin’ Patients Visites

  29. p p p p s s s Visites Patients Plan d’exécution optimisé Patients Visites

  30. VI - Intégrité Logique • Objectif : Détecter les mises à jour erronées •  Contrôle sur les données élémentaires • Contrôle de types: ex: Nom alphabétique • Contrôle de valeurs: ex: Salaire mensuel entre 5 et 50kf • Contrôle sur les relations entre les données • Relations entre données élémentaires: • Prix de vente > Prix d'achat • Relations entre objets: • Un électeur doit être inscrit sur une seule liste électorale

  31. Contraintes d’intégrité • Avantages : • simplification du code des applications • sécurité renforcée par l'automatisation • mise en commun des contraintes • Nécessite : • un langage de définition de contraintes d'intégrité • la vérification automatique de ces contraintes

  32. Exemples de contrainte • Contraintes d’intégrité référentielles

  33. VII - Intégrité Physique • Motivations : Tolérance aux fautes • Transaction Failure : Contraintes d'intégrité, Annulation • System Failure : Panne de courant, Crash serveur ... • Media Failure : Perte du disque • Communication Failure : Défaillance du réseau • Objectifs: • Assurer l'atomicité des transactions • Garantir la durabilité des effets des transactions commises • Moyens : • Journalisation : Mémorisation des états successifs des données • Mécanismes de reprise

  34. Transaction Incohérence possible... Etat cohérent Etat cohérent Begin Commit Transaction • Begin • CEpargne = CEpargne - 3000 • CCourant = CCourant + 3000 • Commit T1

  35. Atomicité et Durabilité • DURABILITE • Begin • CEpargne = CEpargne - 3000 • CCourant = CCourant + 3000 • Commit T1 • S’assurer que le virement a été fait ! • ATOMICITE • Begin • CEpargne = CEpargne - 3000 • CCourant = CCourant + 3000 • Commit T1 •  Annuler le débit !! Panne Crash disque

  36. Accès concurrent aux mêmes données • Conflits d’accès !! VIII - Partage des données BD

  37. Système de gestion de bases de données • Le SGBD gère les accès concurrents • Chacun à l’impression d’être seul (Isolation) • Cohérence conservée (Verrouillage) VIII - Partage des données BD

  38. IX – Confidentialité • Objectif : Protéger les données de la BD contre des accès non autorisés • Deux niveaux : • Connexion restreinte aux usagers répertoriés(mot de passe) • Privilèges d'accès aux objets de la base • Usagers : Usager ou groupe d’usagers • Objets : Relation, Vue, autres objets (procédures, etc.)

  39. Puissance des droits SGBD Public (internet) Employés (intranet) Service des ressources humaines

  40. X - Standardisation • L’approche bases de données est basée sur plusieurs standards • Langage SQL (SQL1, SQL2, SQL3) • Communication SQL CLI (ODBC / JDBC) • Transactions (X/Open DTP, OSI-TP) • Force des standards • Portabilité • Interopérabilté • Applications multisources…

  41. Architecture des SGBD • Les architectures physiques de SGBD sont très liées au mode de répartition. — BD centralisée • — BD client/serveur • — BD client/multi-serveurs • — BD répartie • — BD hétérogène • — BD mobile • Le challenge se déplace des Péta-bases aux Pico-bases. — Péta-bases => parallélisme et grandes mémoires • — Pico-bases => faible empreinte et forte sécurité

  42. Architecture centralisée Terminaux passifs réseau Appli 1 Appli 2 Appli n Mainframe SGBD données

  43. Architecture client-serveur Clients intelligents Appli 1 Appli 2 Appli n réseau serveur SGBD code données

  44. Architecture Client-Multiserveurs Appli 1 SQL SQL ODBC ODBC SQL SQL SGBD 1 SGBD 2 code données code données

  45. Architecture répartie Appli 1 Appli 2 Appli n SGBD 1 SGBD 2 code données code données

  46. Architecture hétérogène Appli 1 Appli 2 Appli n Médiateur Source 1 : SGBD Source 2 : serveur Web code données code données

  47. Architecture mobile Clients intelligents mobiles Données répliquées et/ou personnelles Réseau sans fil serveur SGBD code données

  48. Intelligence dans l’architecture x-tiers Web services Web browser Web browser HTTP/HTML HTTP/HTML XML/SOAP Web server Web server Databases Web services Application to application (B2B/ B2C) Application to person+ (B2C) Application to person (B2C) Architecture 3-tiers Architecture 2-tiers Architecture “n-tiers” PC Data echange PC Person to person (C2C) Architecture 1-tier Evolution de l’architecture

  49. Applications traditionnelles des SGBD • OLTP (On Line Transaction Processing) • Cible des SGBD depuis leur existence • Banques, réservation en ligne ... • Très grand nombre de transactions en parallèle • Transactions simples • OLAP (On Line Analytical Processing) • Entrepôts de données, DataCube, Data Mining … • Faible nombre de transactions • Transactions très complexes

  50. Applications émergentesdes SGBD (1) • BD et WEB • Serveurs Web dynamiques, sites marchands ... • Plusieurs profils (OLTP, publication d’informations en ligne, hébergement de données …) • Challenges majeurs • Gestion de données XML • Fédération de sources de données hétérogènes • Grilles de données • Sécurité des données en ligne

More Related