Introduction - Georges Gardarin

publicité
Bases de Données
Georges Gardarin
1. BD: Qu’est-ce que c’est ?
Ensemble de données apparentées (même thématique)
Facilement interrogeable et modifiable par un langage de
haut niveau (proche langue naturelle)
Stocké sur mémoire secondaire (disques)
Exemples:
– Base des véhicules {voitures, personnes, liens de propriétés }
Quelles sont les véhicules de M. Dupont ?
Qui possèdent des véhicules de prix > 10000 € ?
– Base des vins {vins, buveurs …}
Listes des vins de qualité excellente ?
Ajouter un abus au buveur Dupont Jules
Pourquoi faire ?
Mémoriser des données
– Structurées (voitures, personnes, employés, vins …)
– Documents (texte, images, films …)
Retrouver en ligne la bonne donnée au bon moment
– Le salaire de Dupont, sa photo
– L’avoir de votre compte en banque
Mettre à jour les données variant dans le temps
Volume de données de plus en plus grands
– Giga, Terra, Péta bases (10**15 octets)
– Numériques, Textuelles, Multimédia (images, films,...)
– De plus en plus de données archivées
Structure des données
Les données sont structurées et identifiées
– Données élémentaires ex: Votre salaire, Votre note en L1
– Données composées ex: Votre CV, vos résultats de l'année
– Identifiant humain ex: NSS ou machine: P26215
De plus en plus de données faiblement structurées
–
–
–
–
Texte libre, document, Images
Emergence du semi-structuré avec le Web
Il faut aussi les stocker et les interroger
Interrogation approximative type Google
Google maintient sans doute la plus grande base du
monde
– Interrogation par mots-clés
– Interrogation approximative (top 10)
La hiérarchie des mémoires
Capacité
vs
Coût &
Vitesse
Mémoire
terciaire
5-10 ms
Mémoire
secondaire
80-200 ns
Mémoire principale
(RAM)
3-10 ns
Cache (SRAM)
2-5 ns
Registres
Un accès disque est
environ 100,000 fois
plus lent qu’un accès
mémoire!

– Eviter les accès disques
grande mémoire principale
– Amortir les accès disques
placement des données
– Minimiser le nombre d’accès
disques
méthodes d’accès
Un peu d'histoire
Années 60:
– Récipients logique de données  fichiers sur disque
– Accès séquentiel puis sur clé
Lire (Nomf, Article), Ecrire (Nomf, Article)
Lire (Nomf, Article, Clé), Ecrire (Nomf, article, Clé)
Années 70:
– Avènement des Bases de Données Réseaux (issues d’Apollo)
– Ensemble de fichiers reliés par des pointeurs
– Langage d'interrogation par navigation
Années 80:
– Avènement des Bases de Données Relationnelles (BDR)
– Relations entre ensemble de données
– Langage d'interrogation par assertion logique
2. BD et Monde réel
Les données représente des entités (objets) du
monde réel
– Nom du type d’objet
Exemple: voiture
– Caractéristiques des objets
Exemple: puissance, couleur marque
– Liens entre objets
Exemple: Pierre possède la voiture 212 BDW 75
Une BD représente une partie du monde réel
– Entreprise, Application, Univers
Modélisation du réel
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
Modèle
Physique
Dépendant du
modèle de
données
Dépendant du
SGBD
Médecin
effectue
Visite
Codasyl Relationnel Objet XML
Organisation physique des
données
Structures de stockage des
données
Structures accélératrices (index)
3. Le transactionnel (OLTP)
Opérations typiques
– mises à jour ponctuelles de lignes par des écrans
prédéfinis, souvent répétitives, sur les données les
plus récentes
Exemple
– Benchmark TPC-A et TPC-B : débit / crédit sur une
base de données bancaire
– TPC-A transactionnel et TPC-B avec traitement par
lot
– Mesure le nombre de transactions par seconde (tps)
et le coût par tps
La base TPC-A/B
1
100000
Agences
Caissiers
Comptes
Historique
100
Taille pour 10 terminaux, avec règle d'échelle ( scaling rule)
La transaction Débit - Crédit
Begin-Transaction
– Update Account Set
Balance = Balance + Delta
Where AccountId = Aid ;
– Insert into History (Aid, Tid,
Bid, Delta, TimeStamp)
– Update Teller Set Balance
= Balance + Delta
Where TellerId = Tid ;
– Update Branch Set
Balance = Balance + Delta
Where TellerId = Tid ;
End-Transaction.
90 % doivent avoir un
temps de réponse < 2
secondes
Chaque terminal génère
une transaction toute les
10s
Performance = Nb
transactions commises /
Ellapse time
4. Le décisionnel (OLAP)
Utilisation des données pour aider à la prise de décision
dans l’entreprise
Maintient et prise en compte des versions historiques (6
mois, un an,…)
Requêtes complexes sur toute la base
–
–
–
–
Evolution du CA par produit
Evolution des performances des vendeurs en France
Que se passe-t-il si on ferme la filiale française ?
Quid d’une campagne de marketing pour vendre des
guimauves ?
– Quels prospects cibler ?
Explosion de l ’OLAP
Facteurs économiques & technologiques
18
CA en Milliards de $
16
14
12
10
8
6
4
2
0
1994
1995
1996
1997
1998
Années
Introduction DW
1999
2000
2001
Motivations des entreprises
Besoin des entreprises
– accéder à toutes les données de l’entreprise
– regrouper les informations disséminées
– analyser et prendre des décisions rapidement (OLAP)
Exemples d'applications concernées
– Grande distribution : marketing, maintenance, ...
produits à succès, modes, habitudes d’achat
préférences par secteurs géographiques
– Bancaire : suivi des clients, gestion de portefeuilles
mailing ciblés pour le marketing
– Télécommunications : pannes, fraudes, mobiles, ...
classification des clients, détection fraudes, fuites de clients
Introduction DW
Datawarehouse : définition
Entrepôt de données
– Ensemble de données historisées variant dans le temps,
organisé par sujets, consolidé dans une base de données
unique, géré dans un environnement de stockage particulier,
aidant à la prise de décision dans l’entreprise.
Trois fonctions essentielles :
– collecte de données de bases existantes et chargement
– gestion des données dans l’entrepôt
– analyse de données pour la prise de décision
Introduction DW
Architecture type
Cohabitation décisionnel-transactionnel
Les transactions doivent souvent cohabiter avec
des requêtes décisionnelles, traitant un grand
nombre de tuples en lecture
Exemple :
– Moyenne des avoir des comptes par agence
– SELECT B.BranchId, AVG(C.Balance)
FROM Branch B, Account C
WHERE B.BrachId = C.BranchId
GROUP BY B.BranchId ;
5. Le Multimédia (GED)
Archivage et recherche de données multimédias
– Texte (livres, articles, journaux, …)
– Images
– Films
– Données géographiques (cartes 2D, 2,5 D)
– Données spatiales (3D)
Recherche par proximité
– Textes : liste de mots-clés (à la Google)
– Images : par proximité (couleur, forme, texture …)
– Cartes : par erctangle englobant, distance, zoom
Recherche plein texte
Recherche sur mot-clés
Recherche de phrase
Support des mots de
liaison
Recherche sur préfix,
suffix, infix
Normalisation des mots,
accents, capitales, …
Recherche par proximité
(unité = mots)
Spécification de l'ordre
des mots
Combinaison logic avec
AND, OR , NOT
Recherche par similarité
Tri des résultats par
pertinence
Recherche d’images
Histogramme de couleur
Texture
Formes et contours
Similarité
Exemple: trouver toutes les images qui
ressemble au bandit ?
6. Fichiers versus BD
Fichiers composés d’articles
Gérés par les systèmes opératoires
Accédés par les applications
– Lus
– Écrits
– Stockés sur disques
– Avec des tables des matières (index)
Technique connue depuis les années 60
Systèmes de fichiers
Comptabilité
Caractéristiques
Chirurgie
Problèmes
Consultations
Psychiatrie
Format des fichiers
Caractéristiques
Plusieurs applications
 plusieurs formats
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
 plusieurs langages
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
Problèmes
 Difficultés de gestion
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
Redondance (données) Caractéristiques
Plusieurs applications
 plusieurs formats
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
 plusieurs langages
Redondance de données
Turlututudhjsd
Analyses :xx
Problèmes
 Difficultés de gestion
 Incohérence des données
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
Interrogations
Caractéristiques
Plusieurs applications
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
 plusieurs formats
 plusieurs langages
Redondance de données
Pas de facilité
d’interrogation
 Question développement
Problèmes
ConsultSoft
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
PsychiaSoft
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
Pannes ???
Caractéristiques
Plusieurs applications
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
 plusieurs formats
 plusieurs langages
Redondance de données
Pas de facilité
d’interrogation
 Question développement
Redondance de code
ConsultSoft
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
PsychiaSoft
Problèmes
 Difficultés de gestion
 Incohérence des données
 Coûts élevés
 Maintenance difficile
 Gestion de pannes ???
Partage de données
Caractéristiques
Plusieurs applications
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
 plusieurs formats
 plusieurs langages
Redondance de données
Pas de facilité
d’interrogation
 Question développement
Redondance de code
ConsultSoft
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
PsychiaSoft
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é
Caractéristiques
Plusieurs applications
ComptaSoft
Dupont
Symptomes : y
Turlututu : sqj
Symptomes : y
Turlututu : sdd
Analyses : xxx
Dupond
Turlututusqjsk
Symptom: yyyy
Analyses xxxx
Turlututudhjsd
Analyses :xx
ChiruSoft
 plusieurs formats
 plusieurs langages
Redondance de données
Pas de facilité
d’interrogation
 Question développement
Redondance de code
ConsultSoft
Duhpon
Duipont
Symptomes : yy
Analyses : xxxx
Symptomyyyy
Analysesxxxx
Symptomes : yy
Turlututudhjsd
Turlututu : sq
PsychiaSoft
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é ???
7. L’approche ‘‘Bases de données’’
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
Modélisation Relationnelle (1)
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
Modélisation Relationnelle (2)
Docteurs
Id-D
Nom
Préno
m
1
Dupo
nt
Pierre
Duran
d
Paul
Mass
e
Jean
……..
……
2
3
….
Patients
Id-P
Nom
Prescriptions
Visites
Id-D
Id-P
IdV
Date
Prix
1
2
1
15 juin
250
1
1
2
12 août
180
2
2
3
13
juillet
350
1 mars
250
2
Préno
m
Ville
3
4
IdV
Lign
e
Id-M
Posolog
ie
1
1
12
1 par
jour
1
2
5
10
gouttes
2
1
8
2 par
jour
2
2
12
1 par
jour
2
3
3
Médicaments
Id-M
Nom
2
gouttes
Description
….
…. …………
…………………………
…..
1
Lebea
u
Jacque
s
Paris
1
….
Aspegic
1000
2
Troge
r
Zoe
Evry
2
Fluisédal
…………………………
…..
3
Doe
John
Paris
3
Mucomyst
…………………………
…..
Fonctions des SGBD
I- Indépendance
Physique
X - Standards
II- Indépendance
Logique
III – Langage de
manipulation
IX - Gestion de la
confidentialité
VIII - Concurrence
d’accès
BD
IV - Gestion des
vues
V - Optimisation des
questions
VII - Gestion des
pannes
VI - Gestion de la
cohérence
Qu’étudie-t-on en BD ?
Les modèles de données
Les méthodes de stockage
Les langages de requêtes
Les algorithmes d’optimisation de requêtes
Les algorithmes de contrôles
Les méthodes de publication de données
Les architectures de systèmes
La répartition des données
La prise en compte du web
Téléchargement