27
INTRODUCTION AUX BASES de DONNEES ´ Equipe Bases de Donn´ ees LRI-Universit´ e Paris XI, Orsay Universit´ e Paris Sud Ann´ ee 2003– 2004 1

Base de données

Embed Size (px)

Citation preview

Page 1: Base de données

INTRODUCTION AUX BASES de DONNEES

Equipe Bases de Donnees

LRI-Universite Paris XI, Orsay

Universite Paris Sud Annee 2003– 2004

1

Page 2: Base de données

SGBD : Fonctionnalites et Principes

• Qu’est qu’une base de donnees ?

• Un Systeme de Gestion de Base de donnees (SGBD),

Pourquoi faire ?

• Pourquoi pas un Systeme de Gestion de Fichiers ?

• Les grands principes et architecture fonctionnelle.

• Historique et Evolution des SGBDs

2

Page 3: Base de données

Base de donnees et SGBD

• Base de donnees : Database

grande masse de donnees (Giga octets = 109 octets)

memoire secondaire (disque, disque optique)

liens abstraits/thematiques entre donnees

longevite des donnees (dizaines d’annees)

• SGBD : Database Management System (DBMS)

gestion du stockage des donnees

traitements des donnees

* modification

* interrogation, extraction

* programmation d’applications

3

Page 4: Base de données

Usage des bases de donnees – Les applications dites “classiques”

Applications de gestion

Banque - Finance - Assurance

Gestion du personnel / client d’une entreprise

Gestion des stocks d’une entreprise commerciale

Systeme d’information d’une entreprise

Applications transactionnelles

Gestion de reservations

Transports passagers (train, avion, voiture, ...),

Hotels, Spectacles

consultations/modifications tres frequentes

4

Page 5: Base de données

Fonctionnalites d’un SGBD

• Gestion du stockage en memoire secondaire

Acces efficaces aux donnees

Gestion des transferts memoires centrale - secondaire

• Persistance

les modifications sont ecrites en MS a priori

• Resistance aux pannes (fiabilite)

pannes logicielles,

pannes materielles

• Confidentialite (securite)

utilisation malveillante

5

Page 6: Base de données

Fonctionnalites d’un SGBD

• Coherence – Integrite (fiabilite)

donnees 6= informations

donnees + proprietes = representation d’informations

• Partage des donnees – Concurrence (fiabilite)

acces aux donnees est partage par

de nombreux utilisateurs !

• Interface

classes d’utilisateurs :

administrateur , developpeur d’applications ,

secretariat, tout le monde

langage specialise, interface graphique, formulaires, menus

6

Page 7: Base de données

Pourquoi ne pas utiliser un SG de Fichiers ?

Description des Donnees

Description des Donnees

Description des Donnees

Programme 1

Programme 2

Programme 3 DO

NN

EE

S R

ED

ON

DA

NT

ES

FICHIER 1

FICHIER 2

FICHIER 3

7

Page 8: Base de données

Pourquoi ne pas utiliser un SG de Fichiers ?

• Structure des donnees dans les programmes

• problemes :

duplication de l’information i.e. redondance

accroissement de la masse de donnees

cout d’acces aux donnees

consistance des donnees

maintenir des copies “conformes”

deterioration des performances

8

Page 9: Base de données

Pourquoi ne pas utiliser un SG de Fichiers ?

• les problemes (suite) :

exploitation des donnees

1 traitement = 1 programme

pas d’environnement dedie

fonctionnalites “sgbd”

coherence, concurrence, confidentialite

pas de programmes generique

developpement et maintenance sur des 10zaines d’annees !!!

difficile, peu sur

couteux en temps, ...

9

Page 10: Base de données

Quelques principes

• rapport DTBG de CODASYL – rapport ANSI/SPARC

• schema versus instance

schema = description centralisee des donnees

“la description des donnees est une donnee”

stockee + modifiable + interrogeable

instance = donnees

“les donnees sont organisees en fonction du schema”

schema = recipient instance = contenu

10

Page 11: Base de données

Quelques principes

SCHEMA

MANIPULATION

...

PROGRAMME 1

PROGRAMME 2

PROGRAMME 3

BA

SE

de D

ON

NE

ES

SGBD

11

Page 12: Base de données

Quelques principes

• Trois Niveaux d’Abstraction

Niveau physique (interne)

organisation et stockage des donnees en memoire secondaire

Niveau logique ou conceptuel

description et manipulation abstraites des donnees

Niveau externe (vues)

description et manipulation des donnees dedies

a un groupe d’utilisateurs

12

Page 13: Base de données

Trois niveaux d’abstraction

Schema 1EXTERNE

Schema nEXTERNE

. . .

INTERFACE UTILISATEUR

INTERFACE

EXTERNE CONCEPTUEL

SCHEMA INTERNE

INTERFACE

CONCEPTUEL INTERNE

INTERFACE

BASE de DONNEES

BASE de DONNEES

Groupe 1

Utilisateurs

Groupe 2

Utilisateurs Utilisateurs

Groupe n. . .

SYSTEME de GESTION de BASE de DONNEES

SCHEMA CONCEPTUEL

13

Page 14: Base de données

Principes d’independance

• Independance physique

Programmes d’application invariants

Struture Physique modifiee

• Independance logique

Programmes d’application invariants

Struture Logique modifiee

14

Page 15: Base de données

Architecture Fonctionnelle

PRECOMPILATEUR

GENERATEUR SORTIES

MODULEMISE A JOUR

TRAITEMENTdes REQUETES

VERIFICATIONINTEGRITE

CODE EXECUTABLEGENERATEUR

OPTIMISEUR

GESTIONNAIRETRANSACTION

GESTIONNAIREde REPRISES JOURNALISATION

GESTIONNAIRE du DICTIONNAIRE GESTIONNAIRE des DONNEES

CONTROLE AUTORISATION

ANALYSEUR

Entree/SortieMODULE

BASE de DONNEESBASE de DONNEES

DICTIONNAIRESCHEMAS EXTERNES

SCHEMAS CONCEPTUELSSCHEMAS INTERNES

�����

�����

�����

�����

�����

�����

UTILISATEUR

����

����

15

Page 16: Base de données

Historique

60–70 SGBD Reseau

IDS (General Electric), APL, DMS 1100, ...,

ADABAS (Software AG)

60–70 SGBD Hierarchique

ISM IBM www.software.ibm.com

System 2000 MRI

gestion de pointeurs entre enregistrement

probleme : pas d’independance physique

16

Page 17: Base de données

Historique

• Modele relationnel (conceptuel)

parmi ses peres : Ted Codd (1970)

un modele simple decription = table

un modele mathematique

theorie des ensembles

logique

• SQL (Structured Query Language)

un langage normalise !!!

recherche ← 20 ans → systemes commerciaux

17

Page 18: Base de données

Historique

70–80 SGBD Relationnel :

System R (San Jose), Ingres, ...

Informix Informix

Oracle Oracle www.oracle.com

DB2 IBM www.software.ibm.com

Sybase Sybase www.sybase.com

SQL Server Microsoft www.microsoft.com

18

Page 19: Base de données

Historique

70–80 SGBD Relationnel

sur micros : Access (Microsoft), Paradox (Corel? Borland),

Visual Dbase (Borland) ...

logiciels libres :

MySQL web.tryc.on.ca.mysqk

MSQL Hughes.com.au

Postgres www.postgresql.org

InstantDB www.instantdb.co.uk

19

Page 20: Base de données

Historique

90–00 SGBD Oriente Objet

Matisse ADB

Object Store Object Design Fr.

Gemstone Gemstone Syst. Inc. www.gemstone.com

Poet Poet (LCI)

Versant Versant Object Tech. www.versant.com

20

Page 21: Base de données

Evolution

• Les machines:

1960 : Stocker un giga-octet −→ plusieurs disques.

SGBD −→ systeme complexe + couteux +

SGBD −→ ordinateur puissant

SGBD −→ machine base de donnees

2000 : Un giga-octet −→ c’est rien !

SGBD −→ installation sur un portable

aussi commun qu’un traitement de texte !

... parfois confondu avec les outils de bureautique !

SGBD −→ Client-Serveur

21

Page 22: Base de données

Evolution

• Les besoins

1960 : Un Giga octet −→ enorme

Memoire couteux

Applications gestion, stock

Donnees type alphanumerique

2000: Un Giga octet −→ peu

Memoire bon marche

Applications CAO , Genome, Mulimedia

Donnees image, son, video

Besoin Tera-octets (1000 Giga-octets= 1012 octets)

1 heure de video = 1 Giga octets

images satellite = peta octets (1015 octets)

22

Page 23: Base de données

Petits Avertissements

Un SGBD est un systeme complexe !

• La specificite d’un SGBD

3 niveaux d’abstration

fiabilite

concurrence

stockage massif sur disque !

• Le prix a payer

les interfaces entre niveaux

journalisation

verrouillage

techniques specialisees d’acces aux donnees sur disque

23

Page 24: Base de données

Petits Avertissements

Un SGBD est un systeme difficile a bien utiliser !

• Methodes de developpement et maintenance

analyse des besoins de l’application

conception du schema conceptuel

conception du schema interne

reglage (tuning) des applications

24

Page 25: Base de données

Conception et developpement iteratifs d’applications

ANALYSE des BESOINS

DESCRIPTION CONCEPTUELLE

DESCRIPTION LOGIQUE

DESCRIPTION PHYSIQUE

25

Page 26: Base de données

Plan du cours :

A FAIRE

26

Page 27: Base de données

Une Petite Bibliographie

Bases de donnees (objet & relationnel), G. Gardarin,

Editions Eyrolles.

Systeme de gestion des bases de donnees , H. Korth et A.

Silberschatz, ??

Internet/intranet et Bases de Donnes , G. Gardarin, Editions

Eyrolles.

A first course in Database System, J. Ullman et J. Widom,

Prentice Hall.

Database system implementation, H. Garcia-Molina, J.

Ullman et J. Widom, Prentice Hall.

Database Management Systems, R. Ramakrishnan,

McGraw-Hill.

27