Bases de données relationnelles

Slides:



Advertisements
Présentations similaires
ORTHOGRAM PM 3 ou 4 Ecrire: « a » ou « à » Référentiel page 6
Advertisements

1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
Distance inter-locuteur
Introduction aux réseaux informatiques
Les numéros
1 V-Ingénierie… La compétence au service de lexigence… vous présente.
Formation au portail SIMBAD
Fonctionnalités des SGBD
Le Modèle Logique de Données
Architecture de réseaux
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
TP 3-4 BD21.
Optimisation de Requêtes
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
NFE 107 : Urbanisation et architecture des systèmes d'information
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LES OUTILS POUR LA GOUVERNANCE DES DONNÉES LA PASSION DES DONNÉES LA PRÉCISION DES RÉSULTATS.
Développement d’applications web
Bases de Données Georges Gardarin.
Contrôles d'accès aux données
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Réalisation Gestionnaire de Stock
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
GRAM 1 CE2 Je sais transformer une phrase affirmative en phrase négative.
Bases de Données Réparties
Bases de données et SGBD relationnels
Titre : Implémentation des éléments finis sous Matlab
L’utilisation des bases de données
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
22 janvier 2013 Commercialiser en 2013 ! Que de variables à ajuster ! 1.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Concepts de base du commerce électronique
LES NOMBRES PREMIERS ET COMPOSÉS
SYSTEMES D’INFORMATION
SYSTEME DE GESTION DE BASES DE DONNEES
DUMP GAUCHE INTERFERENCES AVEC BOITIERS IFS D.G. – Le – 1/56.
Projet de Conception n° 5
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
‘‘Open Data base Connectivity‘‘
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
Introduction.
Systèmes d’information et bases de données
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Outil de gestion des cartes grises
Fonctionnalités des SGBD
Bases de Données Avancées
Les Chiffres Prêts?
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Optimisation de requêtes
Bases de données : Introduction et Objectifs
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
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.
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
La gestion des bases de données
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Introduction Module 1.
Transcription de la présentation:

Bases de données relationnelles Nguyen Tuan Loc

Résumé du cours précédent

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

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

Redondance (données) Caractéristiques Problèmes Plusieurs applications plusieurs formats plusieurs langages Redondance de données Dupont Symptomes : y Turlututu : sqj 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 Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd

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

Pannes ??? Caractéristiques Problèmes 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 Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft 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 Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

Partage de données Caractéristiques Problèmes 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 Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft 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 Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

Confidentialité Caractéristiques Problèmes 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 Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ComptaSoft ChiruSoft 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 Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft

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

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é BD III – Langage de manipulation VIII - Concurrence d’accès IV - Gestion des vues VII - Gestion des pannes V - Optimisation des questions VI - Gestion de la cohérence

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

Modélisation Relationnelle (1) Champs, attributs, colonnes Champs, attributs, colonnes Champs, attributs, colonnes Relation ou table Id-D Nom Prénom 1 Dupont Pierre 2 Durand Paul 3 Masse Jean …. …….. …… Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets Tuples, lignes ou n-uplets

Modélisation Relationnelle (2) Docteurs Id-D Nom Prénom 1 Dupont Pierre 2 Durand Paul 3 Masse Jean …. …….. …… Prescriptions Id-V Ligne Id-M Posologie 1 12 1 par jour 2 5 10 gouttes 8 2 par jour 3 2 gouttes …. ………… Visites Id-D Id-P Id-V Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton …. ……. Médicaments Id-M Nom Description 1 Aspegic 1000 …………………………….. 2 Fluisédal 3 Mucomyst …. ……..

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.

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

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.

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>

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

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’

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

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 ( Select Nom, Prénom From Patients Where Patients.Ville = ’Paris’ )

Système de gestion de bases de données 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

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.

Patients de la ville de Paris Sélection Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton s Patients de la ville de Paris

Nom et prénom des patients Projection Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton p Nom et prénom des patients

Patients et leurs visites Jointure Patients Id-P Nom Prénom Ville 1 Lebeau Jacques Paris 2 Troger Zoe Evry 3 Doe John 4 Perry Paule Valenton Visites Id-D Id-P Id-V Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars Id-P Nom Prénom Ville Id-D Id-V Date Prix 1 Lebeau Jacques Paris 2 12 août 180 Troger Zoe Evry 15 juin 250 3 13 juillet 350 Doe John 4 1 mars Patients et leurs visites

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’ s Patients Visites

Plan d’exécution optimisé Visites Patients Patients Visites

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

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

Exemples de contrainte Contraintes d’intégrité référentielles Docteurs Id-D Nom Prénom 1 Dupont Pierre 2 Durand Paul 3 Masse Jean …. …….. …… Prescriptions Id-V Ligne Id-M Posologie 1 12 1 par jour 2 5 10 gouttes 8 2 par jour 3 2 gouttes …. ………… Visites Id-D Id-P Id-V Date Prix 1 2 15 juin 250 12 août 180 3 13 juillet 350 4 1 mars

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

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

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

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

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

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.)

Puissance des droits SGBD Employés (intranet) Public (internet) Service des ressources humaines Id-E Nom Prénom Poste 1 Ricks Jim 5485 2 Trock Jack 1254 3 Lerich Zoe 5489 4 Doe Joe 4049 Nombre d’employés Masse Salariale 4 890 Id-E Nom Prénom Poste Adresse Ville Salaire 1 Ricks Jim 5485 ………. Paris 230 2 Trock Jack 1254 Versailles 120 3 Lerich Zoe 5489 Chartres 380 4 Doe Joe 4049 160

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…

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é

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

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

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

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

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

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

Intelligence dans l’architecture x-tiers Application to application (B2B/ B2C) Web services XML/SOAP Architecture “n-tiers” PC 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 Data echange PC Person to person (C2C) Architecture 1-tier Evolution de l’architecture

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

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

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

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