Professional Documents
Culture Documents
Chapitre 1 Introduction
Introduction
Qu` est ce qu`une Base de donnee ? Dfinitions Donnes persistantes Dure de vie dpasse celle de lexcution dun programme Base de donnes Collection de donnes persistantes utilises par des systmes informatiques Exemples Organisations banques, hpitaux, universit, compagnies, etc. Systmes comptabilit, gestion du personnel, gestion de stock, etc.
Introduction
Introduction
Introduction
Introduction
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.
rigides, contraignantes longues et coteuse mettre en uvre mal dfinies et mal dsignes, redondantes peu accessibles de manire ponctuelle peu fiables
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.
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
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 SINDA : douane Systme SELIMA : Payement Annuaire lectronique Catalogue lectronique dune bibliothque
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) : Organisation et description de donnes (2) : Stockage sur disque (3) : Partage des donnes (4) : Confidentialit (5) : 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
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
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.
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.
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.
10
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.
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)
11
Modlisation
Schma conceptuel
Schma physique
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.
12
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 semi-automatique Objectifs : optimiser les performances
Objectifs : simplification, confidentialit Exemple : OUVRAGES dit par des diteurs franais
13
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
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.
14
Modles de SGBD
Quelques modles logiques : Modle hirarchique Modle rseau Modle relationnel Modle objet Quelques SGBD (relationnels du march) Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,
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
15
Programmeur
SGBD
Programme source incorporant des appels une librairie spcialise pour le SGBD Utilisateur
Compilateur
Programme d'application
Interprte du LDD
Architecture
Architecture centralise
programme d'application et SGBD sur mme machine (mme site) premiers systmes
SGBD = serveur (de donnes data server ) machines (sites) diffrentes deux couches, niveaux, strates (two tier )
16
BD Rseau
Client
Serveur
Architecture 3 tiers
BD Rseau Rseau
Client mince
Serveur d'application
Serveur de donnes
17
BD locale
Client
Serveur de donnes
Serveur de donnes
18