Bases de Donn©es Relationnelles - [Cedric] .Vertigo/CNAM, Paris 1 Bases de Donn©es Relationnelles

  • View
    224

  • Download
    2

Embed Size (px)

Text of Bases de Donn©es Relationnelles - [Cedric] .Vertigo/CNAM, Paris 1 Bases de Donn©es...

  • Vertigo/CNAM, Paris 1

    Bases de Donnes RelationnellesCours SGBD - Module 6A - ENSTA

    M. Scholl, B. Amann

    http://cedric.cnam.fr/vertigo/Cours/ENSTA

    Septembre 2001

  • Vertigo/CNAM, Paris 2

    INTRODUCTION

  • Vertigo/CNAM, Paris 3

    OBJECTIF DU COURS?

    OBJECTIF: Comprendre et maitriser la technologie des systmes de bases de donnesrelationnelle:

    Modlisation des donnes

    Interrogation des donnes: valuation des requtes

    Mises--jour des donnes: concurrence et transactions

    Intgration des donnes: entrepts de donnes, mdiateurs

    Architectures et applications nouvelles: Web, portails, ...

    Et tout a en 21 heures?

  • Vertigo/CNAM, Paris 4

    PLAN

    1. Introduction

    2. Modle Relationnel

    3. Calcul et Algbre Relationnel

    4. SQL

    5. Organisation Physique, Index

    6. Algorithmes de Jointure

    7. Optimisation des requtes: lexemple dORACLE.

  • Vertigo/CNAM, Paris 5

    BIBLIOGRAPHIE

    Ouvrages en franais

    1. Date C.J, Introduction aux Bases de Donnes, Vuibert, 970 Pages, Janvier 2001

    2. Carrez C., Des Structures aux Bases de Donnes, Masson

    Ouvrages en anglais

    1. R. Ramakrishnan et J. Gehrke, DATABASE MANAGEMENT SYSTEMS, MacGraw

    Hill

    2. R. Elmasri, S.B. Navathe, Fundamentals of database systems, 3e dition, 1007

    pages, 2000, Addison Wesley

    3. Ullman J.D. and Widom J. A First Course in Database Systems, Prentice Hall, 1997

    4. Garcia-Molina H., Ullman J. and Widom J., Implementation of Database Systems,

    Prentice Hall, 1999

  • Vertigo/CNAM, Paris 6

    5. Ullman J.D., Principles of Database and Knowledge-Base Systems, 2 volumes,

    Computer Science Press

    6. Abiteboul S., Hull R., Vianu V., Foundations of Databases, Addison-Wesley

    Le standard SQL

    1. Date C.J., A Guide to the SQL Standard, Addison-Wesley

    Trois Systmes

    1. Date C.J., A Guide to DB2, Addison-Wesley

    2. Date C.J., A Guide to Ingres, Addison-Wesley

    3. ORACLE version 7 Server Concepts Manual 1992 Oracle

  • Vertigo/CNAM, Paris 7

    Applications SGBD

    1. CLASSIQUES:

    Donnes de Gestion (salaires, stocks, rservations davions)

    Applicationes Transactionnelles (gestion de comptes bancaires, centrales

    dachat)

    2. MOINS CLASSIQUES:

    Documents lectroniques

    Donnes Spatiales

    3. A LA MODE:

    Donnes du Web: HTML, XML

    Entrepts de donnes

    Portails dentreprise

  • Vertigo/CNAM, Paris 8

    Comment Stocker et Manipuler les Donnes?

    DONNES BASE DE DONNES (B.D.) Une B.D. est un GROS ENSEMBLE dinformations STRUCTURES mmorises

    sur un support PERMANENT.

    LOGICIEL SYSTME de GESTION de B.D. (S.G.B.D) Un Systme de Gestion de Bases de Donnes (SGBD) est un logiciel de HAUT

    NIVEAU qui permet de manipuler ces informations.

  • Vertigo/CNAM, Paris 9

    Diversit Complexit

    Diversit des utilisateurs, des interfaces et des architectures:

    1. utilisateurs : administrateurs, programmeurs, non informaticiens, . . .

    2. interfaces : langages de programmation, saisie de donnes, gnration de rapports,autres SGBD . . .

    3. architectures : donnes centralises, distribues, htrognes

  • Vertigo/CNAM, Paris 10

    En Rsum, un SGBD ...

    ... est un OUTIL GNRIQUE qui doit rpondre des besoins trs divers de gestionde un GROS VOLUME DINFORMATIONS

    persistantes (annes) et fiables (protection sur pannes)

    partageables (utilisateurs, programmes)

    manipules indpendamment de leur organisation physique

  • Vertigo/CNAM, Paris 11

    ARCHITECTURE dun SGBD : ANSI-SPARC (1975)

    vue 1 vue 2

    NIVEAU EXTERNE

    vue 3

    NIVEAU LOGIQUE

    NIVEAU PHYSIQUE

  • Vertigo/CNAM, Paris 12

    FONCTIONNALITS dun SGBD

    Chaque niveau du SGBD ralise un certain nombre de fonctions :

    NIVEAU PHYSIQUE

    Accs aux donnes sur mmoire secondaire (disques), index, ...

    partage de donnes et gestion de la concurrence daccs

    reprise sur pannes (fiabilit)

    distribution et interoprabilit

  • Vertigo/CNAM, Paris 13

    NIVEAU LOGIQUE

    Dfinition de la structure de donnes : Langage de Description de Donnes (LDD)

    Consultation et Mise Jour des donnes : Langages de Requtes (LR) et Langage de

    Manipulation de Donnes (LMD)

  • Vertigo/CNAM, Paris 14

    NIVEAU EXTERNE : Vues Utilisateurs

    1. Vue de la planification des salles : pour chaque cours

    Nom de Prof

    Horaires et salles

    2. Vue de la paye : un ensemble de Prof

    (nom, prnom, adresse, indice, nombre dheures. . . )

    3. Vue du service de scolarit (suivi des lves) : . . .

  • Vertigo/CNAM, Paris 15

    Intgration de ces Vues

    1. On laisse chaque usager avec sa vision du monde

    2. PASSAGE DU NIVEAU EXTERNE AU NIVEAU LOGIQUE:

    On intgre lensemble de ces vues en une description unique: SCHMALOGIQUE

  • Vertigo/CNAM, Paris 16

    Modlisation des donnes

  • Vertigo/CNAM, Paris 17

    Modles de donnes

    Un modle de donnes est caractris par :

    une structuration des informations et

    des oprations sur ces structures

  • Vertigo/CNAM, Paris 18

    Dans un SGBD, il existe plusieurs modles plus ou moins abstraits des mmesobjets, e.g. :

    le modle conceptuel : la description du systme dinformation

    le modle logique : interface avec le SGBD

    le modle physique : fichiers

    ces diffrents modles correspondent aux niveaux dans larchitecture dun SGBD.

  • Vertigo/CNAM, Paris 19

    Modle Conceptuel: Exemple Entit-Relation

    Modle trs abstrait, pratique pour :

    lanalyse du monde rel

    la conception du systme dinformation

    la communication entre diffrents acteurs de lentreprise

    Mais nest pas associ un langage.

    DONC UNE STRUCTURE

    MAIS PAS

    DOPRATIONS

  • Vertigo/CNAM, Paris 20

    Modle logique

    1. Langage de dfinition de donnes (LDD) pour dcrire la structure.

    2. Langage de manipulation de donnes (LMD) pour appliquer des oprations auxdonnes.

    Ces langages sont abstraits :

    1. Le LDD est indpendant de la reprsentation physique des donnes.

    2. Le LMD est indpendant de limplantation des oprations.

  • Vertigo/CNAM, Paris 21

    Les avantages de labstraction

    1. Simplicit daccs: les structures et les langages sont plus simples, donc plus facilespour lusager non expert.

    2. INDPENDANCE PHYSIQUE: on peut modifier limplantation physique (index,stockage, ...) sans modifier les programmes dapplication

    3. INDPENDANCE LOGIQUE: on peut modifier les programmes dapplicationsans toucher limplantation.

  • Vertigo/CNAM, Paris 22

    HISTORIQUE DES SGBD

    chaque gnration correspond un modle logique

    Les premiers taient peu abstraits (navigationnels)

    60 S.G.F. (e.g. COBOL)mi-60 HIRARCHIQUE IMS (IBM) navigationnel

    RSEAU (CODASYL) navigationnel

    73-80 RELATIONNEL dclaratif

    mi-80 RELATIONNEL explosion sur micro

    Fin 80 RELATIONNEL ETENDU nouvelles applications

    DATALOG (SGBD dductifs) pas encore de march

    ORIENT-OBJET navig. + dclaratif

    Fin 90 HIRARCHIQUE (XML) nouvelles applications Web

  • Vertigo/CNAM, Paris 23

    Oprations sur les donnes

  • Vertigo/CNAM, Paris 24

    Exemples doprations

    Insrer les informations pour lemploy Jean

    Augmenter le salaire de Jean de 10%

    Supprimer les informations de Jean

    Chercher les employs cadres

    Chercher les employs du dpartement comptabilit

    Chercher le salaire moyen des employs comptables, avec deux enfants, ns avant 1960

    et travaillant Paris

  • Vertigo/CNAM, Paris 25

    Quels types doprations ?

    4 types doprations classiques dans un SGBD:

    1. La cration (ou insertion) de donnes.

    2. La modification de donnes.

    3. La destruction de donnes.

    4. La recherche de donnes.

    Ces oprations correspondent des manipulations de donnes (LMD) et sont appels des

    requtes. La plus complexe est la recherche en raison de la varit des critres.

  • Vertigo/CNAM, Paris 26

    Le Traitement dune Requte

    ANALYSE SYNTAXIQUE

    OPTIMISATIONGnration (par le SGBD) dun programme optimis partir de la connaissance de

    la structure des donnes, de lexistence dindex, de statistiques sur les donnes.

    EXCUTION POUR OBTENIR LE RSULTAT.NB : on doit tenir compte du fait que dautres utilisateurs sont peut-tre en train de

    modifier les donnes quon interroge !

  • Vertigo/CNAM, Paris 27

    Concurrence daccs

    Architecture Client-Serveur: plusieurs clients (utilisateurs, applications) doivent pouvoir

    accder en mme temps aux mmes donnes.

    Le SGBD doit savoir :

    Grer les conflits si les deux font des mises--jour sur les mmes donnes.

    Offrir un mcanisme de retour en arrire si on dcide dannuler des modifications en

    cours.

    Donner une image cohrente des donnes si lun fait des requtes et lautre des

    mises--jour.

    Le but : viter les blocages, tout en empchant des modifications anarchiques.

  • Vertigo/CNAM, Paris 28

    Concurrence daccs: Exemple

    Deux clients (A et B) partagent un compte bancaire (X): client A retire 100 euros du

    compte X et client B dpose 20 euros sur le mme compte :

    compte X client A client B

    1 500 U=read(X)

    2 500 V=read(X)

    3 500 write(X,U-100)

    4 400 write(X,V+20)

    5 520

    Quest-ce qui sest pass?

    Solutions: verrouillage, estampillage

  • Vertigo/CNAM, Paris 29

    Revenons aux Utilisateurs dun SGBD

    Ladministrateur de la base