Vous êtes sur la page 1sur 53

Introduction Aux Bases de

donnes

Prsent par Diabat Kramoko


Enseignant-chercheur INP-
1 HB Yamoussoukro
Sommaire

2
Dfinition (BD) 1/5

Base de donnes : ensemble structur et organis


permettant le stockage de grandes quantits
dinformations afin d'en faciliter l'exploitation (ajout, mise
jour, recherche de donnes).

3
Dfinition (BD) 2/5

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 de base de donnes


Annuaire lectronique
Catalogue lectronique dune bibliothque

4
Dfinition (BD) 3/5

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

5
Les limites lutilisation des fichiers 1/5

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
6 programmes qui manipulent ces fichiers.
Les limites lutilisation des fichiers 2/5

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

7
Les limites lutilisation des fichiers 3/5

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.

8
Les limites lutilisation des fichiers 4/5

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

9
Les limites lutilisation des fichiers 5/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

10
Historique
1950-1960
Des fichiers squentiels, du batch
1960 1970
Le dbut des bases de donnes hirarchiques
1970 1980
La naissance du modle relationnel
Dbut des annes 90
Sql, laide la dcision
Fin des annes 90
Croissance du volume des donnes, Internet, modle multi
tiers

11
SGBD 1/3

Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de


Gestion de Base de Donnes (SGBD)

Utilisateur

SGBD BD

12
SGBD 2/3

Systme de Gestion de Base de Donnes (SGBD) : ensemble de


logiciels systmes permettant aux utilisateurs d'insrer, de
modifier, et de rechercher efficacement des donnes spcifiques
dans une grande masse d'informations (pouvant atteindre plusieurs
milliards d'octets) partage par de multiples utilisateurs. Un SGBD
est caractrise par un modle de description des donnes.

13
SGBD 3/3

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
Programme 1

Fichier 1
SGBD
Programme 2
Fichier 2

Fichier 3 Programme 3
14
Quelques SGBD rgulirement utiliss

ACCESS : plate-forme Windows, mono-poste, licence commerciale


SQL SERVER : plate-forme Windows, mode client/serveur, licence
commerciale
ORACLE : plate-forme Windows et Linux, mode client/serveur, licence
commerciale
SYBASE : plate-forme Windows et Linux, mode client/serveur, licence
commerciale
POSTGRESQL : plate-forme Windows et Linux, mode client/serveur,
licence libre
MYSQL : plate-forme Windows et Linux, mode client/serveur, licence
libre

15
Objectifs des SGBD 1/6

Indpendance physique : la faon dont les donnes sont


dfinies doit tre indpendante des structures de stockage
utilises
Indpendance logique : un mme ensemble de donnes peut
tre vu diffremment par des utilisateurs diffrents. Toutes ces
visions personnelles des donnes doivent tre intgres dans une
vision globale.
Non redondance dinformation : afin dviter les problmes lors
des mises jour, chaque donne ne doit tre prsente quune
seule fois dans la base
Partage des donnes : interrogations et modifications en
mme temps dans un contexte multiutilisateurs
Scurit et reprise sur panne
16
Objectifs des SGBD 2/6

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 physique
Image logique

Fichiers
physiques
17
Objectifs des SGBD 3/6

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.

18
Objectifs des SGBD 4/6

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.

19
Objectifs des SGBD 5/6

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 multiutilisateurs. Il sagit alors de
pouvoir :
Permettre deux (ou plus) utilisateurs de modifier la mme donne en mme
temps ;
Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une
table pendant quun autre la modifie.

20
Objectifs des SGBD 6/6

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.

21
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)

22
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.
23
Les diffrents modles de SGBD

Quelques modles logiques :


Modle hirarchique
Modle rseau
Modle relationnel
Modle objet

24
Larchitecture des SGBD

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

Architecture du type client-serveur (architecture client-


serveur )
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 )
25
Architecture Client/serveur

Le client met une requte vers le serveur grce son adresse IP


et le port, qui dsigne un service particulier du serveur
Le serveur reoit la demande et rpond l'aide de l'adresse de la
machine cliente et son port
Exemple: MySQL le serveur gre la base, les clients communiquent
avec le serveur

26
Architecture client / serveur

BD
Rseau

Programme
SGBD
d'application
Logiciel Logiciel
intermdiaire intermdiaire
Pilote de Pilote de
tlcommunication tlcommunication

Client Serveur
27
Architecture 3 tiers

BD

Rseau Rseau

Interface Application SGBD

Logiciel Logiciel Logiciel


intermdiaire intermdiaire intermdiaire
Pilote de Pilote de Pilote de
tlcommunication tlcommunication tlcommunication
Client Serveur Serveur de
mince d'application donnes

28
Base de donnes parallles

Mmoire vive
Unit de Unit de Unit de
traitement traitement traitement

Disque Disque Disque Disque Disque

29
Base de donnes distribues

BD BD
locale locale

Rseau Rseau

Programme
SGBD rparti SGBD rparti
d'application
Logiciel Logiciel Logiciel
intermdiaire intermdiaire intermdiaire
Pilote de Pilote de Pilote de
tlcommunication tlcommunication tlcommunication
Serveur de Serveur de
Client
donnes donnes

30
Entrept de donnes

BD
oprationnelle
(OLTP)

Extraction :
BD filtrage, Analyse
oprationnelle synthse, Entrept de donnes (OLAP),
(OLTP) transformation, ( data wharehouse ) prospection
fusion

Autre
source de
donnes

31
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
32
Quelles donnes ?

Base de donnes sur des films (e.g. Allocin)


Base de donnes bibliothcaire (e.g. BN, Amazon, ...)
Location de voitures (e.g. Hertz, ...) / Rservation de place
davion
Communications tlphoniques (oprateurs)
Systmes dinformation gographique
Scurit sociale (carte Vital), Hpitaux, ...

33
Quelles donnes ?

Les clients
Les produits
Les commandes
Les factures

34
Comment stocker les donnes?

35
Comment les stocker?

Comment les ranger dans un ordinateur ?

scanner les bons de commande


copier les donnes dans un tableau Word
copier les donnes dans une feuille Excel
copier les donnes dans une base de donnes

36
Comment structurer les donnes?

En regardant d'un peu plus prs ...

37
Comment structurer les donnes?

Reportons ces donnes dans des tableaux :

38
Comment structurer les donnes?

Donnes sans redondances et avec rfrences :

Observation
si plusieurs dtails mentionnent le mme produit, ses caractristiques
sont rptes autant de fois : on isole les donnes des produits dans un tableau
spcifique
39
Comment structurer les donnes?

Distribution optimale des donnes des bons de commande

40
Comment structurer les donnes?

Ajoutons d'autres donnes : notre premire base de donnes

41
Comment structurer les donnes?

Quelques leons partielles


On a besoin de systmes spcifiques pour conserver et
manipuler les donnes
Les donnes sont reprsentes dans des tables
Les lignes sont des entits
Les colonnes sont des proprits
Le dcoupage en tables demande une analyse et une
optimisation
Lanalyse doit aller au-del des besoins immdiats
(abstraction)

42
Notions de base

Base de donnes = ensemble de tables


Chaque table a un nom unique (ex : Film)
Chaque table contient les donnes relatives des entits de mme
nature.
Chaque ligne (enregistrement) dune table dcrit les donnes relatives
une entit.
Chaque colonne dune table dcrit une proprit des entits (ex : Prix).
Les lignes dune table sont distinctes.
Les noms de table et de colonnes constituent le schma de la base.
Les lignes (entits) constituent le contenu de la base.

43
Notions de base

Tables, lignes et colonnes

44
Notions de base

Le schma d'une table dfinit sa structure. Il spcifie notamment :


le nom de la table,

pour chaque colonne, son nom, son type, son caractre obligatoire,
l'identifiant primaire (liste de colonnes)
les identifiants secondaires ventuels (liste de colonnes)
les cls trangres ventuelles (liste de colonnes et table cible).

Le contenu d'une table est form d'un ensemble de lignes conformes au schma.

Le contenu d'une table est sujet de frquentes modifications.


Le schma d'une table peut voluer mais moins frquemment.

45
Notions de base

46
Notions de base

Un identifiant est un groupe de colonnes d'une table T tel qu'il ne puisse,


tout moment, exister plus d'une ligne dans T qui possde des valeurs
dtermines pour ces colonnes.

La valeur de l'identifiant permet de dsigner une ligne de T.

Une cl trangre est un groupe de colonnes d'une table S tel qu'il existe,
tout moment, dans une table T, une ligne dont l'identifiant a pour valeur(s)
celle(s) de ce groupe.

La valeur de la cl trangre dans S sert rfrencer une ligne de la


table T.

47
Notions de base- Exemple

Un schma

48
Notions de base

49
Notions de base

50
Identifiants et cls trangres

Une table peut possder plusieurs identifiants. On choisit l'un d'eux, qu'on
dclare primaire (cl primaire). Les autres sont ds lors secondaires.
L'identifiant primaire est constitu de colonnes obligatoires.
Un identifiant est minimal si chacune de ses colonnes est ncessaire pour
garantir la contrainte d'unicit.

Il est possible de dclarer une table sans identifiant mais ceci n'est pas
recommand.

51
Identifiants et cls trangres

Une cl trangre est associe une contrainte rfrentielle.


Une cl trangre rfrence en principe l'identifiant primaire de la
table cible. Elle peut rfrencer un identifiant secondaire mais ceci n'est
pas recommand.
Une cl trangre et l'identifiant qu'elle rfrence ont la mme
composition :
mme nombre de colonnes et colonnes de mmes types prises deux
deux.

Contrainte rfrentielle : il faut que chaque cl trangre dsigne


une ligne existante de la table cible.

52
Identifiants et cls trangres

Un identifiant minimal est aussi appel cl candidate


(candidate key).
Un identifiant primaire s'appelle aussi cl primaire
(primary key).

Cl trangre = foreign key.

53

Vous aimerez peut-être aussi