350 likes | 453 Views
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:
E N D
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 • 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 Mémoire secondaire 5-10 ms Mémoire principale (RAM) 80-200 ns 3-10 ns Cache (SRAM) 2-5 ns Registres
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 effectue Médecin Visite
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 Comptes Caissiers Historique 100 Taille pour 10 terminaux, avec règle d'échelle ( scaling rule)
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 La transaction Débit - Crédit
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 Introduction DW
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
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 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 plein texte
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 Caractéristiques Comptabilité Chirurgie Problèmes Consultations Psychiatrie
Format des fichiers Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages • Problèmes • Difficultés de gestion Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd
Redondance (données) Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx Caractéristiques Plusieurs applications • plusieurs formats • plusieurs langages Redondance de données • Problèmes • Difficultés de gestion • Incohérence des données Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd
Interrogations Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft 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 Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Pannes ??? Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft 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 ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Partage de données Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft 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 ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
Confidentialité Dupont Symptomes : y Turlututu : sqj Symptomes : y Turlututu : sdd Analyses : xxx Dupond Turlututusqjsk Symptom: yyyy Analyses xxxx Turlututudhjsd Analyses :xx ChiruSoft ComptaSoft 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é ??? Duhpon Symptomes : yy Analyses : xxxx Symptomes : yy Duipont Turlututu : sq Symptomyyyy Analysesxxxx Turlututudhjsd ConsultSoft PsychiaSoft
7. L’approche ‘‘Bases de données’’ • Modélisation des données Eliminer la redondancede données • Centraliseret organiser correctement les données • Plusieurs niveaux de modélisation • Outils de conception • Logiciel «Système de Gestion de Bases de Données» • Factorisationdes 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 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
Fonctions des SGBD Système de gestion de bases de données I- Indépendance Physique X - Standards II- Indépendance Logique IX - Gestion de la confidentialité III – Langage de manipulation BD VIII - Concurrence d’accès 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