Syst - PowerPoint PPT Presentation

About This Presentation
Title:

Syst

Description:

Une base de donn es est une tr s large collection de donn es int gr es. ... de simples contraintes d'integrit sur les donn es et le SGBD les appliquera. ... – PowerPoint PPT presentation

Number of Views:230
Avg rating:3.0/5.0
Slides: 22
Provided by: RaghuRamak246
Category:
Tags: appliquera | syst

less

Transcript and Presenter's Notes

Title: Syst


1
Systèmes de Gestion des Bases de
DonnéesChapitre 1
  • Professeur Iluju Kiringakiringa_at_site.uottawa.ca
  • http//www.site.uottawa.ca/kiringa
  • SITE 5072

2
Définition dun SGBD
  • Les organisations font face à de larges quantités
    de données qui doivent être gerées efficacement.
  • Une base de données est une très large collection
    de données intégrées.
  • Modèle le monde réel des organisations /
    enterprises.
  • Entités (p.ex., étudiants, cours, corps
    professoral et salle de cours)
  • Relation (p.ex., Michel est enrollé dans CSI3717
    Iluju enseigne CSI3717, CSI3717 a lieu dans la
    salle MST207)
  • Un système de gestion des bases de données (SGBD)
    est un ensemble de logiciels conçu pour stocker
    et gérer des bases de données.

3
Défauts des Systèmes de Fichiers
  • Chaque application doit déplacer de large
    quantités de données entre la mémoire principale
    et la mémoire sécondaire (doit donc soccuper
    p.ex. de la gestion des mémoires tampon, de
    laccès aux pages, etc.)
  • Chaque application doit avoir une méthode
    didentification de toutes les données pour le
    cas où le mode dadressage sous-jacent ne suffit
    pas (p.ex., un adressage 32-bits ne peut pas
    directement accéder à des données dépassant plus
    4GB.)

4
Défauts des Systèmes de Fichiers
  • Besoin dun code special pour différente
    requêtes.
  • Besoin de protection des données dinconsistences
    dues aux multiples usagers simultanés qui
    changent ces données.
  • Assurer un crash recovery consistant.
  • Fournir plus de sécurité et un contrôle de
    laccès que le méchanisme de mots de passe offert
    par les système dexploitation.

5
Pourquoi Utiliser un SGBD?
  • Indépendance des données une application ne voit
    pas les détails de la répresentation et du
    stockage des données.
  • accès efficient utilisation de méthodes de
    stockage et daccès très sophistiquées.
  • Temps de développement dapplications réduit les
    fonctionalités dun SGBD nont pas besoin dêtre
    dédoublées.
  • Integrité et sécurité des données appliquer les
    contraintes dintégrité et un contrôle daccès.
  • Administration uniforme de données des
    utilisateurs expérimentés administrent les
    données utilisées par des utilisateurs
    inexpérimentés.
  • accès concurrent, recouvrement des crashs un
    utilisateur acckde aux données sans tenir compte
    des autres utilisateurs du système.

6
Pourquoi Etudier les SGBDs?
?
  • Le volume des données et leur diversité sacroit
    énormement
  • Bibliothèques digitales, système de video
    interactif, project du génome humain, project EOS
  • ... Les besoins pour des SGBDs explosent
  • La gestion efficiente dune masse si diverse de
    données implique de la recherche sur beaucoup de
    problèmes fondamentaux.
  • Les SGBDs comprennent la plupart des sujets de
    recherche en informatique
  • SE, langues, théorie, IA, multimedia, logique,
    etc.

7
modèles des données
  • Un modèle des données est une collection
    déléments de haut niveau pour la description des
    données.
  • Un schéma est une description dune collection
    particulière de données utilisant un modèle des
    données precis.
  • Une instance dun schéma est un ensemble de
    données organisées selon un schéma donné.
  • Le modèle relationel est le modèle le plus
    largement utilisé aujourdhui.
  • Concept principal instance relationelle
    (relation), i.e. une table ayant des lignes et
    des colomnes.
  • Chaque relation a un schéma relationel (schéma)
    qui décrit le nom et les colomnes ou attributs de
    la dite relation.

8
Niveaux dAbstraction
  • Les schémas de données sont décrits à 3
    niveaux dabstractions vues, schéma conceptuel
    (logique) et schéma physique.
  • Les Vues (schémas externes) décrivent comment les
    utilisateurs voient les données.
  • Un schéma conceptuel définit la struture logique.
  • Un schéma physique décrit les fichiers et indexs
    à utiliser.

vue 1
vue 2
vue 3
schéma conceptuel
schéma physique
  • Les schémas sont définis en utilisant un
  • language de définition de données (DDL).

9
Exemple Base de données Universitaires
  • schéma conceptuel
  • Students(sid string, name string, login
    string,
  • age integer, gpa real)
  • Courses(cid string, cname string, credits
    integer)
  • Enrolled(sid string, cid string, grade
    string)
  • schéma physique
  • Relations stockées comme fichiers nontriés.
  • Index sur la première colomne de Students et
    Courses index sur les deux premières colomnes de
    Enrolled, etc.
  • schéma externe (Vue)
  • Course_info(cid string, enrollment integer)

10
Indépendance des données
  • Les applications sont isolées de la manière dont
    les données sont structurées et stockées.
  • Chaque niveau dabstraction est protégé des
    changements dans la structure du niveau
    inférieur.
  • Indépendance logique protection des changements
    dans la structure logique des données.
  • Indépendance physique protection des
    changements dans la structure physique des
    données.
  • Un des plus importants bénéfices de
    lutilisation dun SGBD

11
Requêtes
  • Une requête est une question impliquant les
    données stockées, p. ex.
  • Quel est le nom du professeur qui enseigne
    CSI3717?
  • Quel est le nombre total détudiants enrollés
    dans CSI3717?
  • Quel est le pourcentage détudiants ayant eu un
    A dans CSI3717?
  • Un language de requêtes est language specialisé
    dans lequel des requêtes peuvent être posées sur
    une base de données.
  • Les données sont modifiées /requises en utilisant
    un language de manipulation des données (DML).
    Ainsi un language de requêtes est un
    sous-language dun DML.
  • Le modèle relationel supporte 2 languages de
    requêtes
  • Calcul relationel language de requêtes basé sur
    la logique
  • Relational algebra basé sur un ensemble
    dopérateurs pour la manipulation des relations.

12
Contrôle dAccès Simultanés
  • Lexécution simultanée des programmes
    dutilisation est essentiel pour une bonne
    performance des SGBDs.
  • il est important de garder le cpu occupé en
    travaillant simultanément sur plusieurs
    programmesdutilisateurs.
  • Lentrelacement des actions de différents
    utilisateurs peut conduire à des inconsistences
    p. ex. lors dun retrait dargent pendant que la
    balance du compte est calculée.
  • Le SGBD garantit que des inconsistences
    narrivent pas un utilisateur peut utiliser le
    système comme sil sagissait dun système à
    usager unique.

13
Transaction
  • Une transaction est une séquence atomique
    dactions sur la base de données (reads/writes)
    correspondant à lexécution dun programme de
    transaction.
  • Chaque transaction, exécutée complètement, doit
    laisser la BD dans un état consistent si la BD
    était consistente au début de la transaction.
  • Les utilisateurs peuvent spécifier de simples
    contraintes dintegrité sur les données et le
    SGBD les appliquera.
  • Au delà de cela, le SGBD ne comprend pas la
    sémantique des données. (p. ex. il ne comprend
    pas comment calculer la moyenne cumulée sur un
    compte détudiant).
  • Doù, lutilisateur est en dernier ressort
    responsable du maintien de la consistence des
    données!

14
Scheduling de Transactions Simultannées
  • Un SGBD garantit que lexécution de T1, ... ,
    Tn est équivalente à une exécution sérielle de
    T1, ..., Tn.
  • Avant de lire/écrire un objet, une transaction
    réquiert un lock sur cet object et attend jusquà
    ce que le SGBD rende le lock. Tous les locks
    sont relachés à la fin de la transaction.
    (protocolle de locking 2PL strict.)
  • Idée Si une action de Ti (soit writes X) affecte
    Tj (qui pourrait être entrain dexécuter un reads
    X), un parmi les deux, soit Ti, veut obtenir un
    lock sur X dabord et Tj est forcé dattendre
    jusqua ce que Ti soit à la fin ceci entraine
    que les transactions seront ordonnées.
  • Si p. ex. Tj a déjà un lock sur Y et Ti réquiert
    plutard un lock sur Y, il y a dans ce cas un
    deadlock! Ti ou Tj est annullé et redémarré!

15
Garantie dAtomicité
  • Un SGBD garantit latomicité (proprieté du
    tout-ou-rien) même si il y a un crash au milieu
    de la transaction.
  • Idée garder un log (history) de toutes les
    actions exécutées par le SGBD lors de lexécution
    dun ensemble de transactions
  • Avant que un changement ne soit fait sur une BD,
    lentrée correspondante dans le log est
    forcément stockée à un endoit sûr. (protocolle
    WAL les SO noffrent souvent à ce sujet quun
    support inadéquat.)
  • Après un changement, les effets de la transaction
    partiellement exécutée sont defaits en utilisant
    le log. (Grâce au protocolle WAL, si une entrée
    dans le log nétait pas sauvée avant le crash, le
    changement associé à cette entrée na donc pas
    été appliqué à la base de données!)

16
Le Log
  • Les actions suivantes sont enregistrées dans le
    log
  • Ti ecrit un object la vielle et la nouvelle
    valeurs sont enregistrées.
  • Lenregistrement du log doit aller sur le disque
    avant la page qui a changé!
  • commits/aborts un enregistrement indiquant
    une telle action est inscrite dans le log.
  • Les enregistrements du log sont chainés sur base
    des numéros didentification des transactions. De
    la sorte, il est facile de défaire une
    transaction donnée.
  • Le log est souvent archivé sur un stockage
    stable.
  • Toute activité relative au log (ainsi que toute
    autre activité relative au contrôle daccès
    simultané telle que lock/unlock, traitement des
    deadlocks, etc.) est traité de manière
    transparente par le SGBD.

17
Personnes Impliquées dans les BDs
  • Utilisateur final accède seulement à un
    interface dun SGBD!
  • Vendeurs de SGBDs IBM, Oracle, Informix,
    Microsoft, etc
  • Chercheurs et implémenteurs inventent de
    nouvelles théories et algorithmes relatifs aux
    SGBDs et en ecrivent le code.
  • Programmeurs dapplications écrivent des
    programmes C/C/Java/ qui interagissent avec
    les SGBDs
  • P.ex. Webmasters avancés
  • Administrateur de base de données (DBA)
  • Conçoit les schémas logiques /physiques
  • Traite les questions de sécurité et
    dauthorisation
  • Disponibilité des données, recouvrement du crash
  • Adaptation de la base de données à levolution
    des besoins

Les DBAs doivent comprendre le fonctionnement
dun SGBD !
18
Structure dun SGBD
Ces couches doivent considérer Laccès simultané
et Le recouvrement
  • Un SGBD typique a une architecture à plusieurs
    couches (layers).
  • Notez que les modules daccès simultanés et de
    recouvrement du crash ne sont pas montrés.
  • Ceci est un parmi plusieurs choix possibles
    darchitectures, chaque système ayant ses
    propres particularités.

19
Perspectives Historiques
  • Début des années 60 GE concoit le 1er SGBD à
    caractère général et basé sur le modèle réseau.
  • Fin des années 60s IBM développe IMS qui est
    basé sur le modèle hiérarchique.
  • Début des années 70 E. Codd introduit le modèle
    relationel pour résoudre les problèmes relatifs
    aux modèles précédents.
  • Fin des années 70 et début 80 travaux sur le
    traitement des transactions, par Jim Gray et P.
    Bernstein.
  • Années 80 Lutilisation des BDs relationels
    devient courante dans les grandes entreprises,
    arrivée de plusieurs vendeurs de SGBDs,
    standardisation de SQL, le language de requêtes
    pour les BDs relationels, etc.

20
Perspectives Historiques (Suite)
  • Fin 80 et début 90s modèles de données plus
    riches (orienté-object, object-relationel, etc)
    et des languages de requêtes plus expressifs
    (Datalog, relations nichées, etc) sont
    introduits.
  • Fin 90 les grands vendeurs étendent les SGBD
    relationel avec de nouveaux types de données
    (images, texte, contenu multimédia, etc) ainsi
    que avec les requêtes basé sur cela.
  • Pendant toute lhistoire du développement des
    BDs
  • Reconnaissance scientifique Turing Awards aux
    chercheurs en BDs C. Bachman, E. Codd, et J. Gray
  • Naissance dune large industrie de plusieurs
    billions de dollars

21
Résumé
  • Un SGBD est utilisé pour maintenir et poser des
    requêtes à de larges collections de données.
  • Les bénéfices comprennent le recouvrement du
    crash, laccès simultané, dévelopment rapide des
    applications, integrité des données et sécurité.
  • Les niveaux dabstraction entrainent
    lIndépendance des données.
  • Un SGBD a généralement une architecture à
    niveaux.
  • Les chercheurs en BDs, les implémenteurs et les
    administrateurs ont des jobs de grande
    responsabilité et sont bien payés!
  • La recherche et le dévelopment en SGBDs est un
    domaine large et excitant au sein de
    linformatique.
  • Les BDs sont une industrie de plusieurs billions
    de !
Write a Comment
User Comments (0)
About PowerShow.com