Académique Documents
Professionnel Documents
Culture Documents
Jacques Le Maitre
Université du Sud Toulon-Var
Serveur d’application
(2)
Serveur Web
SGBD
(3)
BD
Entrepôt
Intégrateur
Extracteur Extracteur
Source 1 Source 2
requête réponse
Médiateur
Adaptateur Adaptateur
Source 1 Source 2
pair
pair
requête
pair pair
pair
réponse
pair
Tables typées
Héritage :
hiérarchie de types
hiérarchie de tables
Méthodes associées aux UDT
SELECT film->note()
FROM acteurs
WHERE acteur.nom = 'Audrey Tautou';
SELECT DEREF(film)
FROM acteurs
WHERE acteur.nom = 'Audrey Tautou';
SELECT (p.adr_pro).ville
FROM personne p
WHERE p.nom='Dupont';
UPDATE personne
SET adr_pro.ville = 'Toulon',
adr_pro.cp = 83100
WHERE nom = 'Dupont';
titre
--------------------
Le lievre de Vatanen
L'equipier
relname | titre
--------+---------------------
livre | Le lievre de Vatanen
dvd | L'equipier
UPDATE emp_soc_australienne
SET salaire = 2 * salaire;
événement signification
start démarrage de la transaction
read D lecture d’une donnée D
write D modification d’une donnée D
rollback annulation de la transaction
commit confirmation de la transaction
T
start
read A
A = A - S
write A
read A
B = B + S
write B
commit
T1 T2 BD
A = 10
read A
read A
A = A + 10
write A A = 20
A = A + 50
write A A = 60
A + B = 200
A = 120
B = 80
read A
A = A - 50
write A A = 70
read A
read B
display A + B
(150 est affiché)
read B
B = B + 50
write B B = 130
T1 T2 BD
A = 50
A = 70
write A A= 70
read A
(70 est lu)
rollback A = 50
(La valeur initiale de A est
restaurée)
T1 T2 BD
A = 10
read A
(10 est lu)
A = 20
write A A = 20
read A
(20 est lu)
T1 T2 T1 T2
read A read A
write A write A
read A read B
read B write B
write A read A
write B write A
read B read B
write B write B
r1(A) w1(A) r2(A) r1(B) w2(A) w1(B) r2(B) w2(B) r1(A) w1(A) r1(B) w1(B) r2(A) w2(A) r2(B) w2(B)
T1 T2 T3
T1 T2 T3
MC S X
S oui non
X non non
Opération Signification
lock m D demande d’un verrou en
mode m sur la donnée D
unlock D déverrouillage d’une
donnée D
T1 T2 B(S) T
lock X A 2
lock X B
lock S B
A(S)
attente lock S A T
attente attente 1
BD
table
bloc
ligne
MC IS IX SIX S X
IS oui oui oui oui non
IX oui oui non non non
SIX oui non non non non
S oui non non oui non
X non non non non non
T1 T2
SELECT COUNT(*) INSERT INTO livre
FROM livre VALUES ("Les BD", 2003);
WHERE annee = 2003;
(réponse n)
SELECT COUNT(*)
FROM livre
WHERE annee = 2003;
(réponse n + 1)
T1 T2
LOCK IS livre LOCK X livres
SELECT COUNT(*) attente
FROM livre l attente
(Verrouillage de l en S) attente
WHERE l.annee = 2003; attente
(réponse n) attente
SELECT COUNT(*) attente
FROM livres l INSERT INTO livres
(verrouillage de l en S) VALUES ("Les BD", 2003);
WHERE l.annee = 2003;
(réponse n)
COMMIT
4 a
10 b
8 11 16 c
9 d
7 14 e
2 f
5 g
T
K I
1 un
2 deux
3 trois
T1 T2
BEGIN;
SELECT * FROM T WHERE K = 2;
(2, ‘deux’)
BEGIN;
UPDATE T SET I = 'two' WHERE K = 2;
COMMIT;
la mise à jour est effectuée
SELECT * FROM T WHERE K = 2;
(2, ‘two’)
COMMIT;
T1 T2
BEGIN;
SELECT COUNT(*) FROM T;
3
BEGIN;
INSERT INTO T VALUES (4, 'quatre')
COMMIT;
l’insertion est effectuée
SELECT COUNT(*) FROM T;
4
COMMIT;
T1 T2
BEGIN ISOLATION LEVEL SERIALIZABLE;
SELECT * FROM T WHERE K = 2;
(2, ‘deux’)
BEGIN;
UPDATE T SET I = 'two' WHERE K = 2;
COMMIT;
la mise à jour est effectuée
SELECT * FROM T WHERE K = 2;
(2, ‘deux’)
COMMIT
T1 T2
BEGIN ISOLATION LEVEL SERIALIZABLE;
SELECT COUNT(*) FROM T;
3
BEGIN;
INSERT INTO T VALUES (4,
′quatre′)
COMMIT;
l’insertion est effectuée SELECT COUNT(*) FROM T;
3
COMMIT
MC AS RS RX SUX S SRX X AX
AS oui oui oui oui oui oui oui non
RS oui oui oui oui oui oui non non
RX oui oui oui oui non non non non
SUX oui oui oui non non non non non
S oui oui non non oui non non non
SRX oui oui non non non non non non
X oui non non non non non non non
AX non non non non non non non non
vm niveau i
enregistrements de F enregistrements de F
dont la valeur pour la dont la valeur pour la
dimension i modulo k dimension i modulo k
est ≤ vm est > vm
F F’
objet
4
3 B
5
1
A D
2
6 C 7
A B C
1 2 3 4 5 6 7
4
3 B
5
1
A D
2
6 C 7
A B C
1 2 3 4 5 6 7
école
route 1
r maison 2
o
maison 1 u canalisation
t
e
2
Jacques Le Maitre Bases de données avancées 151
Construction d’un arbre R (2)
((0, 0), (28, 10)) ((14, 4), (50, 16))
école ct
route 1
r maison 2
o
maison 1 u canalisation
t
e
2
Jacques Le Maitre Bases de données avancées 152
Construction d’un arbre R (3)
((0, 0), (41, 10)) ((14, 4), (50, 16))
école ct
route 1
r maison 2
o
maison 1 u canalisation
t
e maison 3
2
Jacques Le Maitre Bases de données avancées 153
Index textuels
Référence bibliographique :
R. Baeza-Yates, B. Ribeiro-Neto,
Modern Information Retrieval,
Addison Wesley, 2002,
Chapter 8.
Objectifs
Recherche d’un mot dans un ensemble de
mots.
Recherche d’une sous-chaîne dans une
chaîne.
Recherche de documents dont le texte
contient (ou non) certains mots.
bas
bateau
batte
baume
bauxite
berge
berger
cap
s bas
bateau
batte
baume
bauxite
berge
berger
cap
s t bas
bateau
batte
e baume
bauxite
berge
a berger
cap
s t bas
bateau
batte
e t baume
bauxite
berge
a e berger
cap
s t u bas
bateau
batte
e t m baume
bauxite
berge
a e e berger
cap
s t u bas
bateau
batte
e t m x baume
bauxite
berge
a e e i berger
cap
u t
a e
s t u r bas
bateau
batte
e t m x g baume
bauxite
berge
a e e i e berger
cap
u t
a e
s t u r bas
bateau
batte
e t m x g baume
bauxite
berge
a e e i e berger
cap
u t r
a e a
s t u r p bas
bateau
batte
e t m x g baume
bauxite
berge
a e e i e berger
cap
u t r
pierre
0 1
0 0 jumelles 0101010101
jouet 0101001111
0 1 1 pierre 1000001001
corde 0001101111
avion corde avion 0000110110
0
0 1
jouet jumelles
jumelles 0101010101
jouet 0101001111
pierre 1000001001
corde 0001101111
avion 0000110110
0 jumelles 0101010101
jouet 0101001111
1 pierre 1000001001
corde 0001101111
avion 0000110110
0
0 1
jouet jumelles
pierre
1
0 jumelles 0101010101
jouet 0101001111
1 pierre 1000001001
corde 0001101111
avion 0000110110
0
0 1
jouet jumelles
pierre
0 1
corde
0 jumelles 0101010101
jouet 0101001111
1 pierre 1000001001
corde 0001101111
avion 0000110110
0
0 1
jouet jumelles
pierre
0 1
0 0 jumelles 0101010101
jouet 0101001111
0 1 1 pierre 1000001001
corde 0001101111
avion corde avion 0000110110
0
0 1
jouet jumelles
jumelles 0101010101
2 pierre jouet 0101001111
pierre 1000001001
corde 0001101111
avion 0000110110
4 6
a na s
6
na s nas s ananas
123456
5 2 4
nas s
1 3
requête réponse
Livres sur XML et les réseaux ? 0011 & 0010 = 0010 = livre 3
Livres sur Java ou la compilation 1001 | 0010 = 1011 = livres 1, 3 et 4
Livres sur XML mais pas sur les réseaux ? 0011 & ~0010 = 0001 = livre 4
Base de données
Transaction Items
T1 {Farine, Lait, Sucre}
T2 {Chocolat, Œufs, Sucre}
T3 {Chocolat, Farine, Œufs, Sucre}
T4 {Chocolat, Œufs, Thé}
Base de données
Transaction Items
T1 {Farine, Lait, Sucre}
T2 {Chocolat, Œufs, Sucre}
T3 {Chocolat, Farine, Œufs, Sucre}
T4 {Chocolat, Œufs, Thé}
L3 {{C, O, S}: 2}
Confiance minimum = 50 %