Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Bases de donn´ees
Cours 2 : Architecture pour les bases de donn´ees
Odile PAPINI
ESIL
Universite´ de la m´editerranee´
[Link]@[Link]
[Link]
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Plan du cours
1 Architecture SPARC-ANSI
niveau conceptuel
niveau externe
niveau interne
2 Architecture client-serveur
3 architecture BD r´eparties
4 Architecture BD web
5 Architecture BDS
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC
sch´ema externe sch´ema exte rne ...
sch´ema externe
sch´ema conceptuel
sch´ema interne
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC
C’est un standard pour tout SGBD
Propose´ vers 1965 par Charles
Bachman : concept de la BD
IDMS-2 : le 1er SGBD moderne model`
e de donnees´ res´ eau
(Codasyl)
architecture Open System
Interconnection (OSI)
Prix Turing de l’ACM (Association for
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
niveau conceptuel ou sch´ema conceptuel :
niveau logique : vue commune `a tous les utilisateurs (abstraite)
vue conceptuelle : diverses ocurrences des
types d’enregistrements
sch´ema conceptuel : defi´ nition de divers types
d’enregistrements, defi´ nition de containtes d’integr´ ite´ et de
secu´ rite´
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
Le sch´ema conceptuel : d´efinition logique de la
BD
une et une seule
les donnees´ logiques, leurs structures et
types
relations, attributs, domaines
entit´es, · · ·
Objets, Types, Classes
Leur manipulations
proc´edures, fonctions, m
´ethodes, · · ·
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
Le sch´ema conceptuel : d´efinition logique de la BD
(suite)
liens sema´ ntiques
donn´ees d’un mme objet r´eel
les contraintes d’integr´ tie´
les contraintes d’int´egrit´e
r´ef´erentielles
···
les contraintes de
secu´
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
le sch´ema conceptuel est d´efini par :
l’administrateur de la base de donn´ees (DBA) seul
complexit
´e s´ecurit
´e
l’integr´
ation de
donnees´
des differ´
entes
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
la BD est d´efinie en utilisant :
le langage de d´efinition de donn´ees (LDD)
la BD est manipul´ee au niveau du SC `a travers le langage
de manipulation de donn´ees (LMD)
les deux sous-langages forment :
le langage de base de donn´ees
SQL pour une BD
relationnelle
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau conceptuel
exemple : institut de formation permanente
schema´ conceptuel : entite-a´ ssociation
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema
conceptuel
exemple : institut de formation permanente (suite)
traduction du schema´ conceptuel
en un schema´ logique dans les concepts du
model` e utilise´ par le SGBD choisi
on appelle model` e logique le model` e sur lequel est construit
un SGBD.
relationne
l objet
...
ne pas
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema
logique
exemple : institut de formation permanente (suite)
Sch´ema Logique (SL) relationnel : 4 relations
´etudiant : nom, pren´ om, date de naissance, no ´etudiant
´etudiant = nom de la relation
nom, pr´enom,date de naissance, n ´etudiant = noms
d’attributs
enseignant : nom, pren´ om, statut, no compte bancaire
cours : nom cours, cycle, nom enseignant
inscription : no ´etudiant,
Odile PAPINI
nomBases
cours, note1, note2
de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema
logique
exemple : cave viticole
Buveur(Nom, Pr´enom, Adresse) :
N om :
chaˆıne de 10 caract`eres P r
´enom : chaˆıne de 8
caract`eres A dresse : chaˆıne
de 20 caract`eres
Cave(Vin, Producteur, Adresse, Nb) :
V in : chaˆıne de 10 caracter` es
P roducteur : chaˆıne de 8 caracter`
es Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau externe
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau externe
niveau externe ou sch´ema externe :
niveau de l’utilisateur : la fac¸on dont l’utilisateur voit la partie de
la BD qui l’int´eresse
une vue externe : collection d’ocurrences d’enregistrements
sch´ema externe : defi´ nition de divers types
d’enregistrements externes
chaque utilisateur dispose d’un langage :
programmeurs d’application : JAVA, C++, PL/1, ...
utilisateur final : langage de requetˆ es : SQL,
M ySQL, ...
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau externe
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema
logique
Sch´ema externe pour le professeur de base de donn´ees :
´etudiant B D : nom, pr´enom, note1, note2, note finale
´etudiant B D r´esulte de la combinaison de
´etudiant et
inscription du Sch´ema Logique,
tels qu’il existe une inscription de cet ´etudiant pour le
cours BD
(no ´etudiant dans ´etudiant = no ´etudiant dans
inscription et nom cours dans inscription = ’BD’),
et note finale = (note1 + note2)/2
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema
externe
Sch´ema externe pour le service de gestion du personnel
enseignant :
professeur : nom, pr´enom, no compte
bancaire, nombre de cours, liste(nom cours)
professeur r´esulte de la combinaison de
enseignant
cours du Sch´ema Logique,
tels que liste(nom cours) est la liste de nom cours qui
se trouvent dans cours tel que
nom enseignant dans cours = nom dans enseignant, et
nombre de cours = Cardinalit´e(liste(nom cours))
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Exemple de sch´ema externe
Sch´ema externe pour une cave viticole
Vin
Nom
Producteu
Adress
r Ann´ee
e Pr
Nb
´enom
Nom
Adress
e Pr
´enom
Vin
Ann´ee
Nb
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau interne
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau interne
niveau interne ou sch´ema interne :
niveau d’implemen´tation : relatif `a la memoi´ re physique
une vue interne : repres´ entation de bas niveau de l’ensemble de
la BD
sch´ema interne : defi´ nition de divers types
d’enregistrements memoi´ re, speci´ fie les index
existants, le seq´ uencement des enregistrements
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau interne
Le sch´ema interne
d´efinit la repr´esentation interne de la BD
niveau interne ou physique
les disques, fichiers hach´es, · · · contenant la BD
la repr´esentation physique des valeurs de donn´ees
r´eel, entier, texte,
encodage, · · ·
d´efinit l’application du SC sur le SI
Selon le principe de l’ind´ependance des niveaux logique
et physique
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : niveau interne : exemple
´etudiant : fichier FEtud,
contenu : nom, pr´enom, date de naissance, no ´etudiant
index´e sur no ´etudiant,
index secondaire sur nom+pr´enom
enseignant + cours : fichier FEnsCours,
contenu : nom, pr´enom, statut, no compte
bancaire, liste(nom cours, cycle)
tel que nom enseignant dans cours = nom dans
Enseignant
index´e sur nom,
deux index secondaires, l’un sur nom cours, l’autre
sur cycle
Inscription : fichier FInscrits,
contenu : no ´etudiant, nom cours, note1, note2
index´e sur no ´etudiant,
index secondaire sur nom cours
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : les liens entre les diff
´erents niveaux
lien conceptuel/interne :
d´efinit la correspondance entre vue conceptuelle et BD m
´emoire
lien externe/conceptuel :
defi´ nit la correspondance entre vue conceptuelle et et une
vue externe particulier` e
possibilit´e de liens externe/externe :
defi´ nit une vue en fonction d’autres vues
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
administration de la B D (BDA)
Definition
administrateur des donn´ees : deci´ de de la strategi´ e et de
la politique
administrateur de la base de donn´ees : responsable
de l’ensemble des contrˆoles du systeme`
defi´ nit le schema´
conceptuel defi´ nit le
schema´
interne
assure la relation avec les
utilisateurs
defi´ nit les regl`Odilees de
PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
SGBD dans l’architecture 3 niveaux
le SGBD est le logiciel qui prend charges acces` `a la B D :
1) l’utilisateur ´emet une requetˆ e
2) le SGBD recoit¸ la requetˆ e et l’analyse
3) le SGBD inspecte le schema´ externe, le lien
externe/conceptuel, le schema´
concepu
te
,l le lien conceptuel/interne et la defi´ nition de la
BD memoi´ re
4) le SGBD execu´ te les oper´ ations au niveau de
la BD memoi´ re
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur niveau conceptuel
architecture B D r´eparties niveau externe
Architecture B D web niveau interne
Architecture B D S
Architecture ANSI/SPARC : limitations
Limitations
notion d’une base unique au niveau d’une entreprise
en g´en´eral impossible en
pratique complexit´e
organisationnelle complexit´e
technique
impreci´ sions de concepts
fondamentaux
entreprise, BD, ...
notion de vue (schema´
externe)
limites th´eoriques sur la mise `a
jour des vues
distinction entre les langages de defi´ nition et de
manipulation une vue est souvent d´efinie par un langage de
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture centralis´ee
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture client-serveur
utilisateurs
applications clients
SGBD
serveur
base de donn´ees
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture client-serveur
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture client-serveur
Structure composee´ de 2 parties :
le serveur : correspond au SGBD
les clients : les differ´ entes applications
applications ´ecrites par l’utilisateur
applications fournies par le vendeur de SGBD
processeurs de langages de requetˆ es
processeurs de langages naturels, gener´´ ateurs de
rapports, tableurs, g’ener´ ateurs d’applications, modules
statistiques
... Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Acc`es distant
clients
applications
acc`es distant transparent
SGBD serveur
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Acc`es distant
....
clients
r´eseau de
communication
serveu
r
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Traitement distribu´e
traitement des donnees´ rep´ arti sur plusieurs machines du res´
eau
avantages
traitement parallele` du client et du
serveur machine ”serveur” : machine ded´ iee´
au SGBD machine ”client” : station de travail
personnelle plusieurs clients peuvent partager
la memeˆ Odile PAPINIBD Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Traitement distribu´e
differ´ ents types d’acces`
un client acced` e `a un nombre quelconque de serveurs
MAIS
uniquement un `a la fois
un client acced` e `a plusieurs serveurs simultanemen´ t
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture
Base de Donn´ees Distribu´ees ou R´epartie (BDR)
BD avec les fragments dans les SGBDs sur diff´erents sites d’un
r´eseau
Si c’est un r´eseau local et la r´epartition est une partition
au niveau physique, alors c’est une BD parall`ele (BDP)
Multibase
collection de bases de donn´ees munie d’un langage
multibase Sur diff´erents sites ou le mme
on les appelle aussi BDs int´eroperables
en g´en´eral autonomes et h´et´erog`enes
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture web
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture web
serveur Cache
met en cache les pages souvent usit
´ees Inktomi
serveur Web
g`ere les donn´ees en HTM L &
XM L
transforme les donn´ees et les requtes CGI
en SQL distribue la charge
Netscape, Inktomi...
SGBD contient la base
DB2, SQL Server...
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture BDS
Odile PAPINI Bases de donn´ees
Architecture SPARC-ANSI
Architecture client-serveur
architecture B D r´eparties
Architecture B D web
Architecture B D S
Architecture B D scalable
peut contenir des milliers de sites
la BD utilise les ressources cumul´ees
Go de RAM, To de disques durs
les donn´ees et les traitements de la BD se r
´epartissent sur autant de sites qu’il faut
le nombre de sites serveurs de la BD peut
crotre dynamiquement avec sa taille
d’une mani`ere transparente pour les
applications la BD devient scalable (BDS)
Odile PAPINI Bases de donn´ees