Bases de Données Georges Gardarin. 1. BD: Quest-ce que cest ? Ensemble de données apparentées...
-
Upload
maugier-huet -
Category
Documents
-
view
108 -
download
5
Transcript of Bases de Données Georges Gardarin. 1. BD: Quest-ce que cest ? Ensemble de données apparentées...
Bases de DonnéesBases de Données
Georges GardarinGeorges Gardarin
1. BD: Qu’est-ce que c’est ?1. BD: Qu’est-ce que c’est ?
Ensemble de données apparentées (même thématique)Ensemble de données apparentées (même thématique)
Facilement interrogeable et modifiable par un langage de Facilement interrogeable et modifiable par un langage de haut niveau (proche langue naturelle)haut niveau (proche langue naturelle)
Stocké sur mémoire secondaire (disques)Stocké sur mémoire secondaire (disques)
Exemples:Exemples:– Base des véhicules {voitures, personnes, liens de propriétés }Base des véhicules {voitures, personnes, liens de propriétés }
Quelles sont les véhicules de M. Dupont ?Quelles sont les véhicules de M. Dupont ?
Qui possèdent des véhicules de prix > 10000 € ?Qui possèdent des véhicules de prix > 10000 € ?
– Base des vins {vins, buveurs …}Base des vins {vins, buveurs …}Listes des vins de qualité excellente ?Listes des vins de qualité excellente ?
Ajouter un abus au buveur Dupont JulesAjouter un abus au buveur Dupont Jules
Pourquoi faire ?Pourquoi faire ?
Mémoriser des donnéesMémoriser des données– Structurées (voitures, personnes, employés, vins …)Structurées (voitures, personnes, employés, vins …)– Documents (texte, images, films …)Documents (texte, images, films …)
Retrouver en ligne la bonne donnée au bon momentRetrouver en ligne la bonne donnée au bon moment– Le salaire de Dupont, sa photoLe salaire de Dupont, sa photo– L’avoir de votre compte en banque L’avoir de votre compte en banque
Mettre à jour les données variant dans le tempsMettre à jour les données variant dans le temps
Volume de données de plus en plus grandsVolume de données de plus en plus grands– Giga, Terra, Péta bases (10**15 octets)Giga, Terra, Péta bases (10**15 octets)– Numériques, Textuelles, Multimédia (images, films,...)Numériques, Textuelles, Multimédia (images, films,...)– De plus en plus de données archivéesDe plus en plus de données archivées
Structure des donnéesStructure des données
Les données sont structurées et identifiéesLes données sont structurées et identifiées– Données élémentaires ex: Votre salaire, Votre note en L1Données élémentaires ex: Votre salaire, Votre note en L1– Données composées ex: Votre CV, vos résultats de l'annéeDonnées composées ex: Votre CV, vos résultats de l'année– Identifiant humain ex: NSS ou machine: P26215Identifiant humain ex: NSS ou machine: P26215
De plus en plus de données faiblement structuréesDe plus en plus de données faiblement structurées– Texte libre, document, ImagesTexte libre, document, Images– Emergence du semi-structuré avec le WebEmergence du semi-structuré avec le Web– Il faut aussi les stocker et les interrogerIl faut aussi les stocker et les interroger– Interrogation approximative type GoogleInterrogation approximative type Google
Google maintient sans doute la plus grande base du Google maintient sans doute la plus grande base du mondemonde– Interrogation par mots-clésInterrogation par mots-clés– Interrogation approximative (top 10)Interrogation approximative (top 10)
La hiérarchie des mémoiresLa hiérarchie des mémoires
Cache (SRAM)
Mémoire principale(RAM)
Mémoiresecondaire
Mémoireterciaire
Capacitévs
Coût & Vitesse
Registres2-5 ns
3-10 ns
80-200 ns
5-10 ms
Un accès disque est Un accès disque est environ 100,000 fois plus environ 100,000 fois plus lent qu’un accès mémoire!lent qu’un accès mémoire! – Eviter les accès disquesEviter les accès disques
grande mémoire principalegrande mémoire principale
– Amortir les accès disquesAmortir les accès disquesplacement des donnéesplacement des données
– Minimiser le nombre d’accès Minimiser le nombre d’accès disquesdisques
méthodes d’accèsméthodes d’accès
Un peu d'histoireUn peu d'histoire
Années 60:Années 60:– Récipients logique de données Récipients logique de données fichiers sur disque fichiers sur disque
– Accès séquentiel puis sur cléAccès séquentiel puis sur cléLire (Nomf, Article), Ecrire (Nomf, Article)Lire (Nomf, Article), Ecrire (Nomf, Article)
Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
Années 70:Années 70:– Avènement des Bases de Données Réseaux (issues d’Apollo)Avènement des Bases de Données Réseaux (issues d’Apollo)
– Ensemble de fichiers reliés par des pointeursEnsemble de fichiers reliés par des pointeurs
– Langage d'interrogation par navigationLangage d'interrogation par navigation
Années 80:Années 80:– Avènement des Bases de Données Relationnelles (BDR)Avènement des Bases de Données Relationnelles (BDR)
– Relations entre ensemble de donnéesRelations entre ensemble de données
– Langage d'interrogation par assertion logiqueLangage d'interrogation par assertion logique
2. BD et Monde réel2. BD et Monde réel
Les données représente des entités (objets) du Les données représente des entités (objets) du monde réelmonde réel– Nom du type d’objet Nom du type d’objet
Exemple: voitureExemple: voiture
– Caractéristiques des objetsCaractéristiques des objetsExemple: puissance, couleur marqueExemple: puissance, couleur marque
– Liens entre objetsLiens entre objetsExemple: Pierre possède la voiture 212 BDW 75Exemple: Pierre possède la voiture 212 BDW 75
Une BD représente une partie du monde réelUne BD représente une partie du monde réel– Entreprise, Application, UniversEntreprise, Application, Univers
RéelRéel
Modèle Modèle conceptuelconceptuel
Indépendant du Indépendant du modèle de modèle de donnéesdonnées
Indépendant du Indépendant du SGBDSGBD
Modèle Modèle logiquelogique
Dépendant du Dépendant du modèle de modèle de donnéesdonnées
Indépendant du Indépendant du SGBDSGBD
CodasylCodasyl RelationnelRelationnel ObjetObjet XMLXML
Modèle Modèle PhysiquePhysique
Dépendant du Dépendant du modèle de modèle de donnéesdonnées
Dépendant du Dépendant du SGBDSGBD
Organisation physique des Organisation physique des donnéesdonnées
Structures de stockage des Structures de stockage des donnéesdonnées
Structures accélératrices (index)Structures accélératrices (index)
Modélisation du réelModélisation du réel
Médecin effectue Visite
3. Le transactionnel (OLTP)3. Le transactionnel (OLTP)
Opérations typiquesOpérations typiques– mises à jour ponctuelles de lignes par des écrans mises à jour ponctuelles de lignes par des écrans
prédéfinis, souvent répétitives, sur les données les prédéfinis, souvent répétitives, sur les données les plus récentesplus récentes
ExempleExemple– Benchmark TPC-A et TPC-B : débit / crédit sur une Benchmark TPC-A et TPC-B : débit / crédit sur une
base de données bancairebase de données bancaire
– TPC-A transactionnel et TPC-B avec traitement par TPC-A transactionnel et TPC-B avec traitement par lotlot
– Mesure le nombre de transactions par seconde (tps) Mesure le nombre de transactions par seconde (tps) et le coût par tpset le coût par tps
La base TPC-A/BLa base TPC-A/B
Comptes
Caissiers
Agences
Historique
1
100
100000
Taille pour 10 terminaux, avec règle d'échelle ( scaling rule)
La transaction Débit - CréditLa transaction Débit - Crédit
Begin-TransactionBegin-Transaction– Update Account Set Balance Update Account Set Balance
= Balance + Delta = Balance + Delta
Where AccountId = Aid ;Where AccountId = Aid ;– Insert into History (Aid, Tid, Insert into History (Aid, Tid,
Bid, Delta, TimeStamp)Bid, Delta, TimeStamp)– Update Teller Set Balance = Update Teller Set Balance =
Balance + Delta Balance + Delta
Where TellerId = Tid ;Where TellerId = Tid ;– Update Branch Set Balance Update Branch Set Balance
= Balance + Delta = Balance + Delta
Where TellerId = Tid ;Where TellerId = Tid ;
End-Transaction.End-Transaction.
90 % doivent avoir un 90 % doivent avoir un temps de réponse < 2 temps de réponse < 2 secondessecondes
Chaque terminal génère Chaque terminal génère une transaction toute les une transaction toute les 10s10s
Performance = Nb Performance = Nb transactions commises / transactions commises / Ellapse timeEllapse time
4. Le décisionnel (OLAP)4. Le décisionnel (OLAP)
Utilisation des données pour aider à la prise de décision Utilisation des données pour aider à la prise de décision dans l’entreprisedans l’entreprise
Maintient et prise en compte des versions historiques (6 Maintient et prise en compte des versions historiques (6 mois, un an,…)mois, un an,…)
Requêtes complexes sur toute la base Requêtes complexes sur toute la base – Evolution du CA par produitEvolution du CA par produit– Evolution des performances des vendeurs en FranceEvolution des performances des vendeurs en France– Que se passe-t-il si on ferme la filiale française ?Que se passe-t-il si on ferme la filiale française ?– Quid d’une campagne de marketing pour vendre des Quid d’une campagne de marketing pour vendre des
guimauves ?guimauves ?– Quels prospects cibler ?Quels prospects cibler ?
Explosion de l ’OLAPExplosion de l ’OLAP
Facteurs économiques & technologiquesFacteurs économiques & technologiques
Introduction DW
0
2
4
6
8
10
12
14
16
18
1994 1995 1996 1997 1998 1999 2000 2001
Années
CA
en
Mill
iard
s d
e $
Motivations des entreprisesMotivations des entreprises
Besoin des entreprisesBesoin des entreprises– accéder à toutes les données de l’entrepriseaccéder à toutes les données de l’entreprise– regrouper les informations disséminées regrouper les informations disséminées – analyser et prendre des décisions rapidement (OLAP)analyser et prendre des décisions rapidement (OLAP)
Exemples d'applications concernéesExemples d'applications concernées– Grande distribution : marketing, maintenance, ...Grande distribution : marketing, maintenance, ...
produits à succès, modes, habitudes d’achatproduits à succès, modes, habitudes d’achatpréférences par secteurs géographiquespréférences par secteurs géographiques
– Bancaire : suivi des clients, gestion de portefeuillesBancaire : suivi des clients, gestion de portefeuillesmailing ciblés pour le marketingmailing ciblés pour le marketing
– Télécommunications : pannes, fraudes, mobiles, ...Télécommunications : pannes, fraudes, mobiles, ...classification des clients, détection fraudes, fuites de clientsclassification des clients, détection fraudes, fuites de clients
Introduction DW
Introduction DW
Datawarehouse : définitionDatawarehouse : définition
Entrepôt de donnéesEntrepôt de données– Ensemble de données historisées variant dans le temps, Ensemble de données historisées variant dans le temps,
organisé par sujets, consolidé dans une base de données organisé par sujets, consolidé dans une base de données unique, géré dans un environnement de stockage particulier, unique, géré dans un environnement de stockage particulier, aidant à la prise de décision dans l’entreprise.aidant à la prise de décision dans l’entreprise.
Trois fonctions essentielles :Trois fonctions essentielles :– collecte de données de bases existantes et chargementcollecte de données de bases existantes et chargement– gestion des données dans l’entrepôtgestion des données dans l’entrepôt– analyse de données pour la prise de décisionanalyse de données pour la prise de décision
Architecture typeArchitecture type
Cohabitation décisionnel-transactionnelCohabitation décisionnel-transactionnel
Les transactions doivent souvent cohabiter avec Les transactions doivent souvent cohabiter avec des requêtes décisionnelles, traitant un grand des requêtes décisionnelles, traitant un grand nombre de tuples en lecturenombre de tuples en lecture
Exemple :Exemple :– Moyenne des avoir des comptes par agenceMoyenne des avoir des comptes par agence– SELECT B.BranchId, AVG(C.Balance)SELECT B.BranchId, AVG(C.Balance)
FROM Branch B, Account CFROM Branch B, Account C
WHERE B.BrachId = C.BranchIdWHERE B.BrachId = C.BranchId
GROUP BY B.BranchId ;GROUP BY B.BranchId ;
5. Le Multimédia (GED)5. Le Multimédia (GED)
Archivage et recherche de données multimédiasArchivage et recherche de données multimédias– Texte (livres, articles, journaux, …)Texte (livres, articles, journaux, …)– ImagesImages– FilmsFilms– Données géographiques (cartes 2D, 2,5 D)Données géographiques (cartes 2D, 2,5 D)– Données spatiales (3D)Données spatiales (3D)
Recherche par proximitéRecherche par proximité– Textes : liste de mots-clés (à la Google)Textes : liste de mots-clés (à la Google)– Images : par proximité (couleur, forme, texture …)Images : par proximité (couleur, forme, texture …)– Cartes : par erctangle englobant, distance, zoomCartes : par erctangle englobant, distance, zoom
Recherche plein texteRecherche plein texte
Recherche sur mot-clés Recherche sur mot-clés
Recherche de phrase Recherche de phrase
Support des mots de Support des mots de liaison liaison
Recherche sur préfix, Recherche sur préfix, suffix, infixsuffix, infix
Normalisation des mots, Normalisation des mots, accents, capitales, …accents, capitales, …
Recherche par proximité Recherche par proximité (unité = mots)(unité = mots)
Spécification de l'ordre Spécification de l'ordre des motsdes mots
Combinaison logic avec Combinaison logic avec AND, OR , NOT AND, OR , NOT
Recherche par similaritéRecherche par similarité
Tri des résultats par Tri des résultats par pertinencepertinence
Recherche d’imagesRecherche d’images
Histogramme de couleurHistogramme de couleur
TextureTexture
Formes et contoursFormes et contours
SimilaritéSimilarité
Exemple: trouver toutes les images qui Exemple: trouver toutes les images qui ressemble au bandit ?ressemble au bandit ?
6. Fichiers versus BD6. Fichiers versus BD
Fichiers composés d’articlesFichiers composés d’articles
Gérés par les systèmes opératoiresGérés par les systèmes opératoires
Accédés par les applicationsAccédés par les applications– LusLus– ÉcritsÉcrits– Stockés sur disquesStockés sur disques– Avec des tables des matières (index)Avec des tables des matières (index)
Technique connue depuis les années 60Technique connue depuis les années 60
Chirurgie
Psychiatrie
Systèmes de fichiersSystèmes de fichiers CaractéristiquesCaractéristiques
Comptabilité
Consultations
Problèmes
Format des fichiersFormat des fichiers CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Problèmes Difficultés de gestion
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Redondance (données)Redondance (données) CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Redondance de donnéesRedondance de données
Problèmes Difficultés de gestion Incohérence des données
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Interrogations Interrogations CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Redondance de donnéesRedondance de données
Pas de facilité Pas de facilité d’interrogation d’interrogation
Question Question développementdéveloppement
Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
Pannes ???Pannes ??? CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Redondance de donnéesRedondance de données
Pas de facilité Pas de facilité d’interrogation d’interrogation
Question Question développementdéveloppement
Redondance de codeRedondance de code
Problèmes Difficultés de gestion Incohérence des données Coûts élevés Maintenance difficile Gestion de pannes ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
Partage de donnéesPartage de données CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Redondance de donnéesRedondance de données
Pas de facilité Pas de facilité d’interrogation d’interrogation
Question Question développementdéveloppement
Redondance de codeRedondance 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 ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
ConfidentialitéConfidentialité CaractéristiquesCaractéristiquesPlusieurs applications Plusieurs applications plusieurs formatsplusieurs formats plusieurs langagesplusieurs langages
Redondance de donnéesRedondance de données
Pas de facilité Pas de facilité d’interrogation d’interrogation
Question Question développementdéveloppement
Redondance de codeRedondance 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é ???
DupontSymptomes : yTurlututu : sqjSymptomes : yTurlututu : sddAnalyses : xxx
DupondTurlututusqjskSymptom: yyyy Analyses xxxx
TurlututudhjsdAnalyses :xx
DuipontTurlututu : sq
Symptomyyyy Analysesxxxx
Turlututudhjsd
Duhpon
Symptomes : yy Analyses : xxxx
Symptomes : yy
Ch
iru
Sof
t
Con
sultS
oft Psy
chia
Sof
t
Com
ptaS
oft
7. L’approche ‘‘Bases de données’’7. L’approche ‘‘Bases de données’’
Modélisation des données Modélisation des données Eliminer la Eliminer la redondanceredondance de donnéesde données CentraliserCentraliser et et organiserorganiser correctement les données correctement les données Plusieurs niveaux de modélisationPlusieurs niveaux de modélisation Outils de conceptionOutils de conception
Logiciel «Logiciel «SSystème de ystème de GGestion de estion de BBases de ases de DDonnées»onnées»FactorisationFactorisation des modules de contrôle des applicationsdes modules de contrôle des applications
- Interrogation, cohérence, partage, gestion de pannes, etc…- Interrogation, cohérence, partage, gestion de pannes, etc…
Administration facilitées des donnéesAdministration facilitées des données
Champs, attributs, colonnes
Champs, attributs, colonnes
Champs, attributs, colonnes
Modélisation Relationnelle (1)Modélisation Relationnelle (1)
Id-DId-D NomNom PrénomPrénom
11 DupontDupont PierrePierre
22 DurandDurand PaulPaul
33 MasseMasse JeanJean
…….. ………….... …………
Relation ou table
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
Tuples, lignes ou n-uplets
Modélisation Relationnelle (2)Modélisation Relationnelle (2)
DocteursDocteursId-DId-D NomNom PrénoPréno
mm
11 DupoDupontnt
PierrePierre
22 DuranDurandd
PaulPaul
33 MassMassee
JeanJean
…….. ………….... …………
VisitesVisitesId-DId-D Id-PId-P Id-Id-
VVDateDate PrixPrix
11 22 11 15 juin15 juin 250250
11 11 22 12 12 aoûtaoût
180180
22 22 33 13 13 juilletjuillet
350350
22 33 44 1 mars1 mars 250250PatientsPatients
Id-PId-P NomNom PrénoPrénomm
VilleVille
11 LebeaLebeauu
JacqueJacquess
ParisParis
22 TrogeTrogerr
ZoeZoe EvryEvry
33 DoeDoe JohnJohn ParisParis
44 PerryPerry PaulePaule ValentoValentonn
…….. ………….. ………….. …………..
PrescriptionsPrescriptionsId-Id-VV
LignLignee
Id-MId-M PosologPosologieie
11 11 1212 1 par 1 par jourjour
11 22 55 10 10 gouttesgouttes
22 11 88 2 par 2 par jourjour
22 22 1212 1 par 1 par jourjour
22 33 33 2 2 gouttesgouttes
…….. …….. …….. ……………………
MédicamentsMédicamentsId-MId-M NomNom DescriptionDescription
11 Aspegic Aspegic 10001000
…………………………………………………………....
22 FluisédalFluisédal …………………………………………………………....
33 MucomystMucomyst …………………………………………………………....
…….. ………….... …………………………………………………………....
Fonctions des SGBDFonctions des SGBD
BDVIII - 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
Qu’étudie-t-on en BD ?Qu’étudie-t-on en BD ?
Les modèles de donnéesLes modèles de donnéesLes méthodes de stockageLes méthodes de stockageLes langages de requêtesLes langages de requêtesLes algorithmes d’optimisation de requêtesLes algorithmes d’optimisation de requêtesLes algorithmes de contrôlesLes algorithmes de contrôlesLes méthodes de publication de donnéesLes méthodes de publication de donnéesLes architectures de systèmesLes architectures de systèmesLa répartition des donnéesLa répartition des donnéesLa prise en compte du webLa prise en compte du web