Vous êtes sur la page 1sur 39

Cours Base de donnes relationnelles

Quest-ce donc quune base de donnes ? Que peut-on attendre dun systme de gestion de bases de donnes ? Que peut-on faire avec une base de donnes ? Une mise en uvre pratique Des lectures complmentaires ! Evaluation : les TPs sont rendre la fin de toutes les sances : anticipez !

Des rfrences complmentaires


Philippe Rigaux "Pratique de MySQL et PHP", 2nde dition, O'Reilly, 2003 J. Ullman et J. Widom, "a first course in database systems", Prentice Hall, 2002 Polycopi de Ph Rigaux - LRI / CNAM http://www.lamsade.dauphine.fr/rig aux/bd/ Des transparents issus de ceux de Ph Rigaux, J Ullman (Stanford), Barry (Bath), Godin (UQAM)

Des donnes ? Est ce important pour vous ?


Des relevs de banques, de cartes de crdit Des carnets dadresses La consommation de tlphone Des inscriptions des clubs, associations, Des papiers utiles Des horaires et disponibilits de transport Des programmes de tl

Des donnes ? Est ce important pour vous ?


Assurer laccs aux donnes Assurer la scurit de ces donnes


Confidentialit Authentification Signature digitale Intgrit

Le tout efficacement, rapidement, partout etc

Des donnes ? Est ce important pour vous ?


Cest important pour vous Cest impratif pour les entreprises !

Le stockage / laccs

Un point dans le temps

1950-1960

Des fichiers squentiels, du batch Le dbut des bases de donnes hirarchiques La naissance du modle relationnel Sql, laide la dcision Croissance du volume des donnes, Internet, modle multi tiers

1960 1970

1970 1980

Dbut des annes 90

Fin des annes 90

Les limites lutilisation des fichiers (1)


Lutilisation de fichiers impose lutilisateur de connatre : le mode daccs (squentielle, indexe, ) la structure physique des enregistrements et la localisation des fichiers quil utilise afin de pouvoir accder aux informations dont il a besoin.

Pour des applications nouvelles, lutilisateur devra obligatoirement crire de nouveaux programmes et il pourra tre amen crer de nouveaux fichiers qui contiendront peut-tre des informations dj prsentes dans dautres fichiers. Toute modification de la structure des enregistrements (ajout dun champ par exemple) entrane la rcriture de tous les programmes qui manipulent ces fichiers.

Les limites lutilisation des fichiers (2)

De telles applications sont rigides, contraignantes longues et coteuse mettre en uvre Les donnes associes sont : mal dfinies et mal dsignes, redondantes peu accessibles de manire ponctuelle peu fiables

Les limites lutilisation des fichiers (3)

La prise de dcision est une part importante de la vie dune socit. Mais elle ncessite dtre bien inform sur la situation et donc davoir des informations jour et disponibles immdiatement. Les utilisateurs, quant eux, ne veulent plus de systmes dinformation constitus dun ensemble de programmes inflexibles et de donnes inaccessibles tout non spcialiste; ils souhaitent des systmes dinformations globaux, cohrents, directement accessibles (sans quils aient besoin soit dcrire des programmes soit de demander un programmeur de les crire pour eux) et des rponses immdiates aux questions quils posent.

Les limites lutilisation des fichiers (4)

Redondance des donnes et incohrences Isolation des donnes et accessibilit Un accs aux donnes = un programme Atomicit et environnement multi utilisateurs Scurit et protection des donnes

Les limites lutilisation des fichiers (5)

Source des difficults avec les fichiers

Le modle des donnes est intgr dans les programmes Absence de contrle pour laccs et la manipulation des donnes

Notions de bases Dfinition intuitive dune BD (1)

Dfinition intuitive : on peu considrer une Base de Donnes (BD) comme une grande quantit de donnes (ou ensemble dinformations), centralises ou non, servant pour les besoins dune ou plusieurs applications, interrogeables et modifiables par un groupe dutilisateurs travaillant en parallle. Exemples dapplication Systme Socrate : SNCF Annuaire lectronique Catalogue lectronique dune bibliothque

Notions de bases Dfinition intuitive dune BD (2)

Dfinition ; une base de donnes est un ensemble structur de donnes (1) enregistres sur des supports accessibles par lordinateur (2) pour satisfaire simultanment plusieurs utilisateurs (3) de manire slective (4) en un temps opportun (5).

(1) (2) (3) (4) (5)

: : : : :

Organisation et description de donnes Stockage sur disque Partage des donnes Confidentialit Performance

SGBD (1)
Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de Gestion de Base de Donnes (SGBD)

SGBD

BD

SGBD (2)
Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques Un SGBD facilite - la gestion de donnes, avec une reprsentation intuitive simple sous forme de table par exemple - la manipulation de donnes. On peut insrer, modifier les donnes et les structures sans modifier les programmes qui manipulent la base de donnes Base de donnes Fichier 1 Fichier 2 Fichier 3

Programme 1 SGBD Programme 2 Programme 3

Objectifs des SGBD (1)


Faciliter la reprsentation et la description de donnes

Indpendance physique (1) : Plus besoin de travailler directement sur les fichiers physiques (tels quils sont enregistrs sur disque). Un SGBD nous permet de dcrire les donnes et les liens entre elles dune faon logique sans se soucier du comment cela va se faire physiquement dans les fichiers. On parle alors dimage logique de la base de donnes, (ou aussi description logique ou conceptuelle ou encore de schma logique). Ce schma est dcrit dans un modle de donnes par exemple le modles de tables, appel le modle relationnel.
Image logique
Image physique

Fichiers physiques

Objectifs des SGBD (2)

Indpendance physique (2) : La manipulation des donnes doit tre faciliter en travaillant directement sur le schma logique. On peut insrer, supprimer, modifier des donnes directement sur limage logique. Le SGBD va soccuper de faire le travail sur les fichiers physiques. Indpendance logique : Un mme ensemble de donnes peut tre vu diffremment par des utilisateurs diffrents. Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale. Manipulations des donnes par des non informaticiens. Il faut pouvoir accder aux donnes sans savoir programmer ce qui signifie des langages quasi naturels . Efficacit des accs aux donnes : Ces langages doivent permettre dobtenir des rponses aux interrogations en un temps raisonnable . Il doivent donc tre optimiss et, entre autres, il faut un mcanisme permettant de minimiser le nombre daccs disques. Tout ceci, bien sur, de faon compltement transparente pour lutilisateur.

Objectifs des SGBD (3)

Administration centralise des donnes : Des visions diffrentes des donnes (entre autres) se rsolvent plus facilement si les donnes sont administres de faon centralise. Cohrence des donnes. Les donnes sont soumises un certain nombre de contrainte dintgrit qui dfinissent un tat cohrent de la base. Elles doivent pouvoir tre exprimes simplement et vrifies automatiquement chaque insertion, modification ou suppression de donnes, par exemple :

lge dune personne suprieur zro Salaire suprieur zro Etc

Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse.

Objectifs des SGBD (4)

Non redondance des donnes : Afin dviter les problmes lors des mises jour, chaque donne ne doit tre prsente quune seule fois dans la base. Partageabilit des donnes : Il sagit de permettre plusieurs utilisateurs daccder aux mmes donnes au mme moment. Si ce problme est simple rsoudre quand il sagit uniquement dinterrogations et quand on est dans un contexte mono-utilisateur, cela nest plus le cas quand il sagit de modifications dans un contexte multi-utilisateurs. Il sagit alors de pouvoir :

Permettre deux (ou plus) utilisateurs de modifier la mme donne em mme temps ; Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une table pendant quun autre la modifie.

Objectifs des SGBD (5)

Scurit des donnes. Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pour cela, il faut pouvoir associer chaque utilisateur des droits daccs aux donnes. Rsistance aux pannes : Que se passe-t-il si une panne survient au milieu dune modification, si certains fichiers contenant les donnes deviennent illisibles? Les pannes, bien qutant assez rares, se produisent quand mme de temps en temps. Il faut pouvoir, lorsque lune delles arrive, rcuprer une base dans un tat sain . Ainsi, aprs une panne intervenant au milieu dune modification deux solutions sont possibles : soit rcuprer les donnes dans ltat dans lequel elles taient avant la modification, soit terminer lopration interrompue.

Trois Fonctions dun SGBD

Description des donnes : codification structuration, grce un Langage de Description de Donnes (LDD) Manipulation et restitution des donnes (insertion, mise jour, interrogation)

Mise en uvre laide dun Langage de Manipulation de Donnes (LMD) S.Q.L. (Structures Query Langage) : Langage standard

Contrle (partage, intgrit, confidentialit, scurit)

Dfinition et description des donnes 3 niveaux de description


Interview Documents

Schma Externe1
T Schma Externe2

Modlisation

Schma conceptuel

Schma physique

Dfinition et description des donnes niveau logique (conceptuel)

Permet la description

Des objets : exemple OUVRAGES, ETUDIANTS Des proprits des objets (attributs) : exemple Titre de OUVRAGES Des liens entre les objets : un OUVRAGE peut tre emprunt par un ETUDIANT Des contraintes : le nombre dexemplaires dun OUVRAGE est suprieur zro

Cette description est faite selon un modle de donnes. Un modle de donnes est un ensemble de concepts permettant de dcrire la structure dune base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel Cette description va donner lieu un schma de base de donnes. Un schma de base de donnes se compose dune description des donnes et de leurs relations ainsi que dun ensemble de contraintes dintgrit.

Dfinition et description des donnes niveau physique

Description informatique des donnes et de leur organisation : en terme de fichiers, dindex, de mthodes daccs, Passage du modle logique au modle physique tend tre assist par le SGBD : transparent et/ou semiautomatique

Objectifs : optimiser les performances

Dfinition et description des donnes niveau externe

Description des donnes vues par un utilisateur ( ou un groupe dutilisateurs)

Objectifs : simplification, confidentialit Exemple : OUVRAGES dit par des diteurs franais

Manipulation et restitution des donnes

Afin de raliser les oprations suivantes Insertion : saisir des donnes Supprimer Modifier Interroger : rechercher des donnes via des requtes La manipulation des donnes est mise en uvre laide dun Langage de manipulation de Donnes (LMD). SQL (Structured Query Language) est le langage standard de manipulation de BD

Contrles raliss par le SGBD

Partage de donnes : accs la mme information par plusieurs

utilisateurs en mme temps. Le SGBD inclut un mcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnes ( pour viter par exemple quon puisse lire une information quon est en train de mettre jour) Intgrit des donnes grce la dfinition de contraintes sur les donnes. Le SGBD veille ce que toutes les contraintes soient vrifies chaque insertion, suppression, ou modification dune donne. Confidentialit : plusieurs utilisateurs peuvent utiliser en mme temps une base de donnes, se pose le problme de la confidentialit des donnes. Des droits doivent tre grs sur les donnes, droits de lecture, mise jour, cration; qui permettent daffiner. Scurit : une base de donnes est souvent vitale dans le fonctionnement dune organisation, et il nest pas tolrable quune panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.

Modles de SGBD

Quelques modles logiques :

Modle hirarchique Modle rseau Modle relationnel Modle objet


Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,

Quelques SGBD (relationnels du march)


Larchitecture des SGBD

Base sur une architecture Client-Serveur


Donnes sur le serveur partages entre N clients Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardiss Clients et serveurs communiquant par des requtes avec rponses

SGBD

Programme source avec LMD enchss

Programmeur

pr-compilateur Utilisateur expert

Programme source incorporant des appels une librairie spcialise pour le SGBD Utilisateur

Administrateur de base de donnes (ABD)

Compilateur

Utilitaire d'dition du schma

Utilitaire d'dition et d'interprtation de commandes du LMD

Programme d'application

Utilitaire convivial de manipulation de donnes

Interprte du LDD

Evaluateur de requte (LMD)

Systme de gestion de base de donnes (SGBD)

Dictionnaire de donnes (contient le schma ou mta-donnes)

Base de donnes (contient les donnes)

Mmoire secondaire permanente

Architecture

Architecture centralise

programme d'application et SGBD sur mme machine (mme site) premiers systmes

Architecture du type client-serveur (client-server architecture)

programme d'application = client

interface ( GUI ) + traitement du domaine d application

SGBD = serveur (de donnes data server ) machines (sites) diffrentes

deux couches, niveaux, strates (two tier )

Architecture client / serveur


BD Rseau

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Client

Serveur

Architecture 3 tiers
BD Rseau Rseau

Interface Logiciel intermdiaire Pilote de tlcommunication

Application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Client mince

Serveur d'application

Serveur de donnes

Base de donnes distribues


BD locale Rseau Rseau BD locale

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

Client

Serveur de donnes

Serveur de donnes

Base de donnes parallles


Unit de traitement Unit de traitement Unit de traitement Mmoire vive

Disque

Disque

Disque

Disque

Disque

Entrept de donnes
BD oprationnelle (OLTP)

BD oprationnelle (OLTP)

Extraction : filtrage, synthse, transformation, fusion

Entrept de donnes ( data wharehouse )

Analyse (OLAP), prospection

Autre source de donnes

Entrept de donnes

Base de donnes oprationnelle


traitement des donnes quotidiennes et rcentes OLTP ( On Line Transaction Processing ).

Entrept de donnes (data wharehouse)

grand volume de donnes historiques extraites de bases oprationnelles pour le support la prise de dcision OLAP ( On Line Analytical Processing )

Prospection de donnes , ou forage, fouille, exploration de donnes, ou dcouverte de connaissances dans les BD (data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD)

extraction non triviale d'informations implicites, inconnues et utiles apprentissage machine , statistiques

Dmarche de construction dune BD relationnelle


Interview Documents Modlisation Entit association

Schma logique en Entit-Association

Transformation en relationnel

Schma conceptuel en relationnel