Click here to load reader

Bases de données relationnelles

  • View
    32

  • Download
    1

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Text of Bases de données relationnelles

  • Bases de donnes relationnellesNguyen Tuan Loc

  • Rsum du cours prcdent

  • Systmes de fichiersCaractristiquesChirurgiePsychiatrieComptabilitConsultationsProblmes

  • Format des fichiersCaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesProblmesDifficults de gestionDupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yy

  • Redondance (donnes)CaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesRedondance de donnes

    ProblmesDifficults de gestionIncohrence des donnesDupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yy

  • Interrogations CaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesRedondance de donnesPas de facilit dinterrogation Question dveloppementProblmesDifficults de gestionIncohrence des donnesCots levsMaintenance difficileDupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yyChiruSoftConsultSoftPsychiaSoftComptaSoft

  • Pannes ???CaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesRedondance de donnesPas de facilit dinterrogation Question dveloppementRedondance de codeProblmesDifficults de gestionIncohrence des donnesCots levsMaintenance difficileGestion de pannes ???Dupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yyChiruSoftConsultSoftPsychiaSoftComptaSoft

  • Partage de donnesCaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesRedondance de donnesPas de facilit dinterrogation Question dveloppementRedondance de codeProblmesDifficults de gestionIncohrence des donnesCots levsMaintenance difficileGestion de pannes ???Partage des donnes ???Dupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yyChiruSoftConsultSoftPsychiaSoftComptaSoft

  • ConfidentialitCaractristiquesPlusieurs applications plusieurs formatsplusieurs langagesRedondance de donnesPas de facilit dinterrogation Question dveloppementRedondance de codeProblmesDifficults de gestionIncohrence des donnesCots levsMaintenance difficileGestion de pannes ???Partage des donnes ???Confidentialit ???Dupont

    Symptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxxDupondTurlututusqjskSymptom: yyyy Analyses xxxx

    TurlututudhjsdAnalyses :xxDuipontTurlututu : sq

    Symptomyyyy Analysesxxxx

    TurlututudhjsdDuhpon

    Symptomes : yy Analyses : xxxx

    Symptomes : yyChiruSoftConsultSoftPsychiaSoftComptaSoft

  • Lapproche Bases de donnes (1)Modlisation des donnes Eliminer la redondance de donnes Centraliser et organiser correctement les donnes Plusieurs niveaux de modlisation Outils de conception

    Logiciel Systme de Gestion de Bases de DonnesFactorisation des modules de contrle des applications- Interrogation, cohrence, partage, gestion de pannes, etcAdministration facilites des donnes

  • Lapproche Bases de donnes (2)BDVIII - Concurrence daccsVII - Gestion des pannesI- Indpendance PhysiqueIX - Gestion de la confidentialitII- Indpendance LogiqueVI - Gestion de la cohrenceX - StandardsV - Optimisation des questionsIII Langage de manipulationIV - Gestion des vues

  • Modlisation du relMdecineffectueVisite

    RelModle conceptuelIndpendant du modle de donnesIndpendant du SGBDModle logiqueDpendant du modle de donnesIndpendant du SGBDCodasylRelationnelObjetXMLModle PhysiqueDpendant du modle de donnesDpendant du SGBDOrganisation physique des donnesStructures de stockage des donnesStructures acclratrices (index)

  • Modlisation 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

    Id-DNomPrnom1DupontPierre2DurandPaul3MasseJean...

  • Modlisation Relationnelle (2)

    DocteursId-DNomPrnom1DupontPierre2DurandPaul3MasseJean...

    VisitesId-DId-PId-VDatePrix12115 juin25011212 aot18022313 juillet3502341 mars250

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton....

    PrescriptionsId-VLigneId-MPosologie11121 par jour12510 gouttes2182 par jour22121 par jour2332 gouttes...

    MdicamentsId-MNomDescription1Aspegic 1000..2Fluisdal..3Mucomyst.......

  • I - Indpendance PhysiqueIndpendance des programmes d'applications vis vis du modle physique :

    Possibilit de modifier les structures de stockage (fichiers, index, chemins d'accs, ) sans modifier les programmes;

    Ecriture des applications par des non-spcialistes des fichiers et des structures de stockage;

    Meilleure portabilit des applications et indpendance vis vis du matriel.

  • II - Indpendance LogiqueLes applications peuvent dfinir des vues logiques de la BDGestion des mdicamentsCabinet du Dr. MasseVisites21Id-D1 mars15 juinDate250250Prix41Id-V32Id-PVisites21Id-D1 mars15 juinDate250250Prix41Id-V32Id-P...PrnomNomId-PZoeTroger2JacquesLebeau1Patients...PrnomNomId-PZoeTroger2JacquesLebeau1Patients...512Id-M10 gouttes1 par jourPosologie21Ligne11Id-VPrescription...512Id-M10 gouttes1 par jourPosologie21Ligne11Id-VPrescription.....DescriptionNomId-M..Mucomyst3..Fluisdal2..Aspegic 10001Mdicament.....DescriptionNomId-M..Mucomyst3..Fluisdal2..Aspegic 10001Mdicament

    Nombre_MdicamentsId-MNomDescriptionNombre1Aspegic 1000..302Fluisdal..203Mucomyst..230.......

  • Avantages de lindpendance logiquePossibilit pour chaque application d'ignorer les besoins des autres (bien que partageant la mme BD).

    Possibilit d'volution de la base de donnes sans rcriture des applications :ajout de champs, ajout de relation, renommage de champs.

    Possibilit d'intgrer des applications existantes sans modifier les autres.

    Possibilit de limiter les consquences du partage : Donnes confidentielles.

  • III - Manipulation aiseLa manipulation se fait via un langage dclaratif

    La question dclare lobjectif sans dcrire la mthodeLe langage suit une norme commune tous les SGBDSQL : Structured Query Langage

    Syntaxe (aperu !)

    Select From Where Group By Order By

  • Exemple de question SQL (1)Nom et description des mdicaments de type aspirine

    Select Nom, Description From MdicamentsWhere Type = Aspirine

  • Exemple de question SQL (2)Patients parisiens ayant effectus une visite le 15 juin

    Select Patients.Nom, Patients.PrnomFrom Patients, VisitesWhere Patients.Id-P = Visites.Id-Pand Patients.Ville = Parisand Visites.Date = 15 juin

  • Exemple de question SQL (3)Dpenses effectues par patient tri par ordre dcroissant

    Select Patients.Id-P, Patients.Nom, sum(Prix) From Patients, VisitesWhere Patients.Id-P = Visites.Id-PGroupBy Patients.Id-P, Patients.NomOrderBy sum(Prix) desc

  • IV Gestion des vuesLes vues permettent dimplmenter lindpendance logique en permettant de crer des objets virtuelsVue = Question SQL stocke Le SGBD stocke la dfinition et non le rsultatExemple : la vue des patients parisiensCreate View Parisiens as (SelectNom, PrnomFrom PatientsWhere Patients.Ville = Paris )

  • Gestion des vuesLe SGBD transforme la question sur les vues en question sur les relations de baseQuestion Q sur des vuesDfinition des vuesGestionnaire de VuesQuestion Q sur les relations de base

  • V Excution et OptimisationTraduction automatique des questions dclaratives en programmes procduraux : Utilisation de lalgbre relationnelle

    Optimisation automatique des questions Utilisation de laspect dclaratif de SQL Gestion centralise des chemins d'accs (index, hachages, ) Techniques doptimisation pousses

    Economie de l'astuce des programmeursmilliers d'heures d'criture et de maintenance de logiciels.

  • SlectionPatients de la ville de Paris

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton

  • ProjectionNom et prnom des patients

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton

  • JointurePatients et leurs visites

    PatientsId-PNomPrnomVille1LebeauJacquesParis2TrogerZoeEvry3DoeJohnParis4PerryPauleValenton

    VisitesId-DId-PId-VDatePrix12115 juin25011212 aot18022313 juillet3502341 mars250

    Id-PNomPrnomVilleId-DId-PId-VDatePrix1LebeauJacquesParis11212 aot1802TrogerZoeEvry12115 juin2502TrogerZoeEvry22313 juillet3503DoeJohnParis2341 mars250

  • Exemple de plan dexcutionSelect Patients.Nom, Patients.PrnomFrom Patients, VisitesWhere Patients.Id-P = Visites.Id-Pand Patients.Ville = Parisand Visites.Date = 15 juin

    PatientsVisites

  • Plan dexcution optimisPatientsVisites

  • VI - Intgrit LogiqueObjectif : Dtecter les mises jour errones

    Contrle sur les donnes lmentaires Contrle de types: ex: Nom alphabtiqueContrle de valeurs: ex: Salaire mensuel entre 5 et 50kf

    Contrle sur les relations entre les donnesRelations entre donnes lmentaires: Prix de vente > Prix d'achatRelations entre objets:Un lecteur doit tre inscrit sur une seule liste lectorale

  • Contraintes dintgrit Avantages :simplification du code des applicationsscurit renforce par l'automatisationmise en commun des contraintes

    Ncessite :un langage de dfinition de contraintes d'intgritla vrification automatique de ces contraintes

  • Exemples de contrainteContraintes dintgrit rfrentielles

    DocteursId-DNomPrnom1DupontPierre2DurandPaul3MasseJean...

    VisitesId-DId-PId-VDatePrix12115 juin25011212 aot18022313 juillet3502341 mars250

    PrescriptionsId-VLigneId-MPosologie11121 par jour12510 gouttes2182 par jour22121 par jour2332 gouttes...

  • VII - Intgrit PhysiqueMotivations : Tolrance aux fautes Transaction Failure : Contraintes d'intgrit, AnnulationSystem Failure : Panne de courant, Crash serveur ...Media Failure : Perte du disqueCommunication Failure : Dfaillance du rseau

    Objectifs :Assurer l'atomicit des transactionsGarantir la durabilit des effets des transactions commises

    Moyens :Journalisation : Mmorisation des tats successifs des donnesMcanismes de reprise

  • TransactionEtat cohrentEtat cohrentIncohrence possible...BeginCommitTransactionBegin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1

  • Atomicit et DurabilitATOMICITEBegin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1

    Annuler le dbit !!Panne DURABILITE

    Begin CEpargne = CEpargne - 3000 CCourant = CCourant + 3000Commit T1

    Sassurer que le virement a t fait !Crash disque

  • VIII - Partage des donnesBD

  • VIII - Partage des donnesBD

  • IX ConfidentialitObjectif : Protger les donnes de la BD contre des accs non autoriss

    Deux niveaux :Connexion restreinte aux usagers rpertoris (mot de passe)Privilges d'accs aux objets de la base

    Usagers : Usager ou groupe dusagers

    Objets : Relation, Vue, autres objets (procdures, etc.)

  • Puissance des droits SGBDService des ressources humainesEmploys(intranet)Public(internet)

    Id-ENomPrnomPosteAdresseVilleSalaire1RicksJim5485.Paris2302TrockJack1254.Versailles1203LerichZoe5489.Chartres3804DoeJoe4049.Paris160

    Id-ENomPrnomPoste1RicksJim54852TrockJack12543LerichZoe54894DoeJoe4049

    Nombre demploysMasse Salariale4890

  • X - StandardisationLapproche bases de donnes est base sur plusieurs standardsLangage SQL (SQL1, SQL2, SQL3)Communication SQL CLI (ODBC / JDBC)Transactions (X/Open DTP, OSI-TP)

    Force des standardsPortabilitInteroprabiltApplications multisources

  • Architecture des SGBDLes architectures physiques de SGBD sont trs lies au mode de rpartition. BD centralise BD client/serveur BD client/multi-serveurs BD rpartie BD htrogne BD mobileLe challenge se dplace des Pta-bases aux Pico-bases. Pta-bases => paralllisme et grandes mmoires Pico-bases => faible empreinte et forte scurit

  • Architecture centraliseTerminaux passifsMainframeSGBDAppli 1Appli 2Appli nrseaudonnes

  • Architecture client-serveurClients intelligentsserveurSGBDAppli 1Appli 2Appli nrseaudonnescode

  • Architecture Client-MultiserveursSGBD 2donnescodeODBCODBCSGBD 1donnescodeAppli 1SQLSQLSQLSQL

  • Architecture rpartieSGBD 1donnescodeSGBD 2donnescodeAppli 1Appli 2Appli n

  • Architecture htrogneSource 1 : SGBDdonnescodeSource 2 : serveur WebdonnescodeAppli 1Appli 2Appli nMdiateur

  • Architecture mobileClients intelligents mobilesserveurSGBDRseau sans fildonnescodeDonnes rpliques et/ou personnelles

  • Intelligence dans larchitecture x-tiersEvolution de larchitecturePerson to person(C2C)Data echangePCPCArchitecture 1-tier

  • Applications traditionnelles des SGBDOLTP (On Line Transaction Processing)Cible des SGBD depuis leur existenceBanques, rservation en ligne ...Trs grand nombre de transactions en parallleTransactions simples

    OLAP (On Line Analytical Processing)Entrepts de donnes, DataCube, Data Mining Faible nombre de transactions Transactions trs complexes

  • Applications mergentesdes SGBD (1)

    BD et WEB Serveurs Web dynamiques, sites marchands ...Plusieurs profils (OLTP, publication dinformations en ligne, hbergement de donnes )

    Challenges majeursGestion de donnes XMLFdration de sources de donnes htrognesGrilles de donnesScurit des donnes en ligne

  • Applications mergentesdes SGBD (2)

    BD personnelles ou PMEComptabilitAgenda, comptes bancaires, carnet dadresses, dossiers portablesBD embarques sur calculateurs ultra-lgers (PDA, tlphones cellulaires, cartes puce )

    Challenges majeursGrer la mobilit Sadapter aux contraintes matrielles du calculateur hteAssurer la durabilit des donnesAssurer la confidentialit des donnes

  • Evolution des BD

    BD dentrepriseBD personnellesBD light (PDA / Tl.)PicoDBMS carte puceCapacit PrixNombre