La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de données relationnelles Nguyen Tuan Loc. 2 Résumé du cours précédent.

Présentations similaires


Présentation au sujet: "Bases de données relationnelles Nguyen Tuan Loc. 2 Résumé du cours précédent."— Transcription de la présentation:

1 Bases de données relationnelles Nguyen Tuan Loc

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

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

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

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

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

7 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 Problèmes  Difficultés de gestion  Incohérence des données  Coûts élevés  Maintenance difficile  Gestion de pannes ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft

8 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 Problèmes  Difficultés de gestion  Incohérence des données  Coûts élevés  Maintenance difficile  Gestion de pannes ???  Partage des données ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft

9 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 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é ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy ChiruSoft ConsultSoft PsychiaSoft ComptaSoft

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

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

12 12 Réel Modèle conceptuel Indépendant du modèle de données Indépendant du SGBD Modèle logique Dépendant du modèle de données Indépendant du SGBD CodasylRelationnelObjetXML Modèle Physique Dépendant du modèle de données Dépendant du SGBD Organisation physique des données Structures de stockage des données Structures accélératrices (index) Modélisation du réel Médecin effectue Visite

13 13 Champs, attributs, colonnes Modélisation Relationnelle (1) Id-DNomPrénom 1DupontPierre 2DurandPaul 3MasseJean ….……..…… Relation ou table Tuples, lignes ou n-uplets

14 14 Modélisation Relationnelle (2) Docteurs Id-DNomPrénom 1DupontPierre 2DurandPaul 3MasseJean ….……..…… Visites Id-DId-PId-VDatePrix juin août juillet mars250 Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton ….……. Prescriptions Id-VLigneId-MPosologie par jour gouttes 2182 par jour par jour 2332 gouttes …. ………… Médicaments Id-MNomDescription 1Aspegic 1000…………………………….. 2Fluisédal…………………………….. 3Mucomyst…………………………….. ….……..……………………………..

15 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 des fichiers et des structures de stockage; –Meilleure portabilité des applications et indépendance vis à vis du matériel.

16 16 II - Indépendance Logique Les applications peuvent définir des vues logiques de la BD Gestion des médicamentsCabinet du Dr. Masse Visites 2 1 Id-D 1 mars 15 juin Date 250 Prix 4 1 Id-V 3 2 -P Visites 2 1 Id-D 1 mars 15 juin Date 250 Prix 4 1 Id-V 3 2 -P ……. …. PrénomNomId-P ZoeTroger2 JacquesLebeau1 Patients ……. …. PrénomNomId-P ZoeTroger2 JacquesLebeau1 Patients …………… Id-M 10 gouttes 1 par jour Posologie 2 1 Ligne 1 1 Id-V Prescription …………… Id-M 10 gouttes 1 par jour Posologie 2 1 Ligne 1 1 Id-V Prescription ……………………………..……..…. DescriptionNomId-M ……………………………..Mucomyst3 ……………………………..Fluisédal2 ……………………………..Aspegic Médicament ……………………………..……..…. DescriptionNomId-M ……………………………..Mucomyst3 ……………………………..Fluisédal2 ……………………………..Aspegic Médicament Nombre_Médicaments Id-MNomDescriptionNombre 1Aspegic 1000……………………………..30 2Fluisédal……………………………..20 3Mucomyst……………………………..230 ….……..……………………………..…..

17 17 Avantages de l’indépendance logique Possibilité pour chaque application d'ignorer les 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 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 From Where Group By Order By

19 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 20 Exemple de question SQL (2) Patients parisiens ayant effectués une visite le 15 juin Select Patients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P and Patients.Ville = ’Paris’ and Visites.Date = ’15 juin’

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

22 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 View Parisiens as ( SelectNom, Prénom From Patients Where Patients.Ville = ’Paris’ )

23 23 Gestion des vues Le SGBD transforme la question sur les vues en question sur les relations de base Question Q sur des vues Définition des vues Gestionnaire de Vues Question Q’ sur les relations de base

24 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 25 Sélection Patients de la ville de Paris Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton 

26 26 Projection Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton  Nom et prénom des patients Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton

27 27 Jointure Patients Id-PNomPrénomVille 1LebeauJacquesParis 2TrogerZoeEvry 3DoeJohnParis 4PerryPauleValenton Visites Id-DId-PId-VDatePrix juin août juillet mars250 Id-PNomPrénomVilleId-DId-PId-VDatePrix 1LebeauJacquesParis11212 août180 2TrogerZoeEvry12115 juin250 2TrogerZoeEvry22313 juillet350 3DoeJohnParis2341 mars250 Patients et leurs visites

28 28 Exemple de plan d’exécution Select Patients.Nom, Patients.Prénom From Patients, Visites Where Patients.Id-P = Visites.Id-P and Patients.Ville = ’Paris’ and Visites.Date = ’15 juin’   Patients Visites

29 29 Plan d’exécution optimisé   Patients Visites      Patients

30 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 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 32 Exemples de contrainte Contraintes d’intégrité référentielles Docteurs Id-DNomPrénom 1DupontPierre 2DurandPaul 3MasseJean ….……..…… Visites Id-DId-PId-VDatePrix juin août juillet mars250 Prescriptions Id-VLigneId-MPosologie par jour gouttes 2182 par jour par jour 2332 gouttes …. …………

33 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 34 Transaction Etat cohérent Incohérence possible... BeginCommit Transaction Begin CEpargne = CEpargne CCourant = CCourant Commit T1

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

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

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

38 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 39 Puissance des droits SGBD Id-ENomPrénomPosteAdresseVilleSalaire 1RicksJim5485……….Paris230 2TrockJack1254……….Versailles120 3LerichZoe5489……….Chartres380 4DoeJoe4049……….Paris160 Id-ENomPrénomPoste 1RicksJim5485 2TrockJack1254 3LerichZoe5489 4DoeJoe4049 Nombre d’employés Masse Salariale 4890 Service des ressources humaines Employés (intranet) Public (internet)

40 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 42 Architecture centralisée Terminaux passifs Mainframe SGBD Appli 1Appli 2Appli n réseau données

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

44 44 Architecture Client-Multiserveurs SGBD 2 donnéescode ODBC SGBD 1 donnéescode Appli 1 SQL

45 Architecture répartie SGBD 1 donnéescode SGBD 2 donnéescode Appli 1 Appli 2 Appli n

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

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

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

49 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 50 Applications émergentes des 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

51 51 Applications émergentes des SGBD (2) BD personnelles ou PME –Comptabilité –Agenda, comptes bancaires, carnet d’adresses, dossiers portables –BD embarquées sur calculateurs ultra-légers (PDA, téléphones cellulaires, cartes à puce …) Challenges majeurs –Gérer la mobilité –S’adapter aux contraintes matérielles du calculateur hôte –Assurer la durabilité des données –Assurer la confidentialité des données

52 52 Evolution des BD BD d’entreprise BD personnelles BD ‘light’ (PDA / Tél.) PicoDBMS carte à puce Capacité Prix Nombre


Télécharger ppt "Bases de données relationnelles Nguyen Tuan Loc. 2 Résumé du cours précédent."

Présentations similaires


Annonces Google