CSI 2532 ----------------------------------------- Bases de Donn - PowerPoint PPT Presentation

About This Presentation
Title:

CSI 2532 ----------------------------------------- Bases de Donn

Description:

See the notes for information on how the s are organized. – PowerPoint PPT presentation

Number of Views:106
Avg rating:3.0/5.0
Slides: 29
Provided by: RaghuRamak277
Category:
Tags: csi | bases | cours | donn

less

Transcript and Presenter's Notes

Title: CSI 2532 ----------------------------------------- Bases de Donn


1
CSI 2532----------------------------------------
- Bases de Données I
  • Professeur Iluju Kiringakiringa_at_site.uottawa.ca
  • http//www.site.uottawa.ca/kiringa
  • SITE 5072

2
Survol des SGBDsChapitre 1
3
Objectifs
  • Survol du cours
  • Définition dun SGBD
  • Motivations pour lutilisation dun SGBD
  • Modèles des données
  • Requêtes et manipulation des données
  • Accès simultané aux données
  • Architecture dun SGBD
  • Personnel impliqué dans les SGBDs

4
Survol du Cours
  • Semaine Sujet
    Référence
  • 8 Janvier Survol des SGBDs et introduction du
    cours Chapitre 1
  • 15 Janvier Conception des bases de données
    modèle ER Chapitre 2
  • 22 Janvier Modèle relationnel
    Chapitre 3
  • 29 Janvier Algèbre et calcul relationnels
    Chapitre 4
  • 5 Février Contraintes et requêtes SQL
    Chapitre 5
  • 12 Février Triggers Chapitre 5
  • Semaine de relâche
  • 26 Février Examen de mi-session Jeudi 1/3/2007,
    en classe Chapitres 1--5
  • 5 Mars Formes normales Chapitre 19
  • 12 Mars Application des bases de données
    Chapitre 6
  • 19 Mars Applications Internet
    Chapitre 7
  • 26 Mars Fichiers, disques et indexes
    Chapitre 8-11
  • 2 Avril Fichiers, disques et indexes
    Chapitre 8-11

5
Survol du Cours (Suite)
  • Manuel (Achetez le!)
  • Raghu Ramakrishnan and Johannes Gehrke, Database
    Management Systems, 3e Edition, McGraw Hill, 2003
  • Charge de travail et évaluation
  • Devoir 1 5
  • Mi-session 20 (Jeudi 1/3/2007, en
    classe)
  • Devoir 2 5
  • Devoir 3 5
  • Projet 20 (En groupe de 3)
  • Examen Final 45 (Voir calendrier des examens
    en temps opportun)
  • IL FAUT AVOIR AU MOINS 50 A LENSEMBLE DES
    EXAMENS (MI-SESSION FINAL) POUR PASSER LE COURS

6
Définition dun SGBD
  • Une base de données est une très large collection
    de données intégrées.
  • Un système de gestion des bases de données (SGBD)
    est un ensemble de logiciels conçus pour stocker
    et gérer des bases de données
  • Les organisations font face à de larges quantités
    de données qui doivent être gérées efficacement.
  • Bien d enterprises entreposent des GBs, voire
    des TBs de données
  • Quelques applications scientifiques entreposent
    des PBs de données
  • Un SGBD modèle le monde réel des organisations
  • Entités (p.ex., étudiants, cours, corps
    professoral et salle de cours)
  • Relation (p.ex., Michel est enrôlé dans CSI2532
    Iluju enseigne CSI2532 le cours CSI2532 a lieu
    dans la salle LP154)

7
Motivations (1)
  • Les systèmes de gestion des fichiers ont des
    défauts
  • Chaque application doit elle-même déplacer de
    large quantités de données entre la mémoire
    principale et la mémoire secondaire
  • 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 permet pas
    daccéder directement à tous les enregistrements
    des données dépassant plus de 4GB.)

8
Motivations (2)
  • Défauts des systèmes de gestion des fichiers
    (suite)
  • Besoin dun code spécial pour différentes
    requêtes.
  • Besoin de protection des données dinconsistances
    dues aux multiples usagers simultanés qui
    changent ces données.
  • Besoin dassurer un sauvetage ( crash
    recovery ) consistant.
  • Besoin de fournir plus de sécurité et de contrôle
    de laccès que le mécanisme de mots de passe
    offert par les systèmes dexploitation.

9
Motivations (3)
  • Pourquoi utiliser un SGBD?
  • Indépendance des données une application ne voit
    pas les détails de la représentation et du
    stockage des données.
  • accès efficient utilisation de méthodes de
    stockage et daccès très sophistiquées et
    efficientes.
  • Temps de développement dapplications réduit les
    fonctionnalités dun SGBD nont pas besoin dêtre
    dédoublées.

10
Motivations (4)
  • Pourquoi utiliser un SGBD? (Suite)
  • Intégrité 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, sauvetage (  crash recovery 
    -- reprise des plantages) un utilisateur accède
    aux données sans tenir compte des autres
    utilisateurs du système.

11
Motivations (5)
  • Pourquoi étudier les SGBDs?
  • Le volume des données et leur diversité saccroît
    énormément.
  • Bibliothèques digitales, système de vidéo
    interactif, projet du génome humain, projet EOS,
    lexploration de Mars
  • ... Les besoins pour des SGBDs explosent
  • La gestion efficiente dune masse si diverse de
    données implique des travaux dans la plupart des
    sujets de recherche en informatique.
  • Génie logiciel, langues, théorie, IA,
    multimédia, logique, etc.

12
Modèles des Données (1)
  • Un modèle des données est une collection
    déléments de haut niveau servant à décrire les
    données.
  • Un schéma est une description dune collection
    particulière de données utilisant un modèle
    précis des données.
  • Une instance dun schéma est un ensemble de
    données organisées selon un schéma donné.
  • Le modèle relationnel est le plus répandu.
  • Concept principal instance relationnelle
    (relation), i.e. une table ayant des lignes et
    des colonnes.
  • Chaque relation a un schéma relationnel (schéma)
    qui décrit le nom et les attributs de la dite
    relation.

13
Modèle des Données (2)
  • Niveaux dabstraction
  • Les schémas des données sont décrits à 3
    niveaux dabstractions vues, schéma conceptuel
    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 structure
    logique.
  • Un schéma physique décrit les fichiers et lindex
    à utiliser.
  • Les schémas sont définis en utilisant un langage
    de définition de données (DDL).

vue 1
vue 2
vue 3
schéma conceptuel
schéma physique
14
Modèle des Données (3)
  • Indépendance des Données conséquence de la
    distinction des niveaux dabstraction
  • 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.

15
Modèle de Données 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 non triés.
  • Index sur la première colonne de Students et
    Courses index sur les deux premières colonnes de
    Enrolled, etc.
  • schéma externe (Vue)
  • Course_info(cid string, enrollment integer)

16
Requêtes et Manipulation des Données
  • Une requête est une question impliquant les
    données stockées.
  • Quel est le nom du professeur qui enseigne
    CSI2532?
  • Quel est le nombre total détudiants enrollés
    dans CSI2532?
  • Quel est le pourcentage détudiants ayant eu un
    A dans CSI2532?
  • Un langage de requêtes est langage spécialisé
    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 langage de manipulation des données (DML).
    Ainsi un langage de requêtes est un sous langage
    dun DML.
  • Le modèle relationnel supporte 2 langages de
    requêtes
  • Calcul relationnel langage de requêtes basé sur
    la logique
  • Algèbre Relationnelle basée sur un ensemble
    dopérateurs pour la manipulation des relations.

17
Accès Simultané aux Données (1)
  • Lexécution simultanée des programmes
    dutilisation est essentiel pour une bonne
    performance des SGBDs.
  • Lexécution simultanée se fait par entrelacement
    des actions de différents utilisateurs.
  • Lentrelacement peut conduire à des
    inconsistances (incohérences) p. ex. lors dun
    retrait dargent effectué pendant que la balance
    du compte est calculée.
  • Le SGBD garantit que des inconsistances
    narrivent pas un utilisateur peut utiliser le
    système comme sil sagissait dun système à
    usager unique.

18
Accès Simultané 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 consistant si la BD
    était consistante au début de la transaction.
  • Les utilisateurs peuvent spécifier de simples
    contraintes dintégrité 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 consistance des
    données!

19
Accès Simultané Planification des Transactions
  • 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
    requiert un verrou sur cet objet et attend que le
    verrou soit libre. Tous les verrous sont relâchés
    à la fin de la transaction. (verrouillage 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, doit obtenir un
    verrou sur X dabord et lautre,Tj, sera forcé
    dattendre jusqua ce que Ti finisse ceci
    entraîne que les transactions seront
    effectivement ordonnées.
  • Si p. ex. Tj a déjà un verrou sur Y et Ti
    requiert plutard un verrou sur Y, il y a dans ce
    cas un interblockage (deadlock)! Ti ou Tj est
    annullé et redémarré!

20
Accès Simultané aux Données Atomicité
  • Un SGBD garantit latomicité (propriété du  tout
    ou rien ) même en cas de crash (plantage) au
    milieu de la transaction.
  • Idée garder un journal (log) 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 endroit sûr (protocole
    WAL) les systèmes dexploitation noffrent
    souvent à ce sujet quun support inadéquat.)
  • Après un changement, les effets de la transaction
    partiellement exécutée sont défaits en utilisant
    le log. (Grâce au 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!)

21
Accès Simultané aux Données le Log
  • Les actions suivantes sont enregistrées dans le
    log
  • Ti écrit un objet la vielle et la nouvelle
    valeurs sont enregistrées.
  • Lenregistrement du log doit aller sur le disque
    avant la page qui a changé!
  • commit/abort (validation/abandon) un
    enregistrement indiquant une telle action est
    inscrite dans le log.
  • Les enregistrements du log sont chaîné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 verrouillage/déverrouillage,
    traitement des deadlocks, etc.) est traité de
    manière transparente par le SGBD.

22
Personnes Impliquées dans les BDs
  • Utilisateur final accède seulement à une
    interface du SGBD
  • Vendeurs de SGBDs IBM, Oracle, Microsoft, etc
  • Chercheurs et programmeurs inventent de
    nouvelles théories et algorithmes pour les SGBDs
    et en écrivent le code
  • Programmeurs dapplications écrivent des
    programmes C/C/Java/ qui interagissent avec
    les SGBDs
  • P.ex. Webmasters avancés, programmeurs
    dapplications
  • Administrateur de base de données (DBA)
  • Conçoit les schémas logiques /physiques
  • Traite les questions de sécurité et
    dautorisation
  • Assure la disponibilité des données ( crash
    recovery )
  • Adapte la base de données à lévolution des
    besoins

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

24
Historique (1)
  • Début des années 60 GE conçoit 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
    relationnel 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

25
Historique (2)
  • Années 80 Lutilisation des BDs relationnelles
    devient courante dans les grandes entreprises,
    arrivée de plusieurs vendeurs de SGBDs,
    standardisation de SQL, le langage de requêtes
    pour les BDs relationnelles, etc
  • Fin 80 et début 90s modèles de données plus
    riches (orienté-objet, object-relationnel, etc)
    et des langages de requêtes plus expressifs
    (Datalog, relations nichées, etc) sont introduits

26
Historique (3)
  • Fin 90 les grands vendeurs étendent les SGBD
    relationnel avec de nouveaux types de données
    (images, texte, contenu multimédia, etc) ainsi
    que avec les requêtes basé sur ces nouveaux types
  • 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
    milliards de dollars

27
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éveloppement rapide
    des applications, intégrité des données et
    sécurité.
  • Les niveaux dabstraction entraînent
    lindépendance des données.

28
Résumé (Suite)
  • Un SGBD a généralement une architecture à
    niveaux.
  • Les chercheurs en BDs, les programmeurs et les
    administrateurs ont des jobs de grande
    responsabilité et sont bien payés!
  • La recherche et le développement en SGBDs est un
    domaine large et excitant au sein de
    linformatique le Canada y joue un
    rôle clé (3 conférences VLDB !).
  • Les BDs sont une industrie générant plus de 15
    milliards de dollars annuellement!
Write a Comment
User Comments (0)
About PowerShow.com