118
Introduction pratique aux bases de données relationnelles
fois aussi bien dans la colonne R.A que dans la colonne S.B. Si le cas
se présente, il est évident que plusieurs tuples de S peuvent être joints
à un tuple précis de R, et vice versa. Par conséquent, l'algorithme doit
prévoir une sous-jointure imbriquée afin de joindre les tuples
correspondants dans R et S pour chaque valeur répétitive des attributs
A et B.
Coût linéaire de la
jointure par trifusion
Dans notre exemple d'interrogation des tables EMPLOYÉ et
DÉPARTEMENT, nous constatons que le coût de l’étape tri-fusion est
linéairement dépendant du nombre de tuples dans les tables grâce à
l'unicité des valeurs de l'attribut clé D#. Les deux tables EMPLOYÉ et
DÉPARTEMENT ne seront parcourues qu'une seule fois pour réaliser
leur jointure.
La mise à jour des
tables système est
nécessaire
En principe, le choix d'une stratégie de jointure appropriée - tout
comme celui d'une stratégie d'accès - n'est pas une décision a priori
que peut prendre un système de bases de données. Contrairement à
l'optimisation algébrique, ce choix dépend notamment de l'état
courant du contenu d'une base de données. C'est pourquoi il est
primordial que des données statistiques contenues dans les tables
système soient régulièrement actualisées, de manière périodique ou
par l’action de l'expert en bases de données.
4.3 Fonctionnement d’un système de bases
de données multi-utilisateur
4.3.1 Le concept de transaction
Le travail sans
conflit est assuré
par un système
multi-utilisateur
Assurer l'intégrité des données est une des exigences
fondamentales du point de vue des utilisateurs d'une base de données.
La gestion des transactions dans un système de bases de données doit
permettre à plusieurs utilisateurs de travailler sans conflit entre eux.
Pour cela, tout changement dans la base de données doit respecter les
contraintes d'intégrité définies par les utilisateurs avant qu'il ne leur
soit rendu visible.
Définition d’une
transaction
Une transaction (transaction, en anglais) est un ensemble
d'opérations soumises aux contraintes d'intégrité, qui met à jour une
Introduction pratique aux bases de données relationnelles
fois aussi bien dans la colonne R.A que dans la colonne S.B. Si le cas
se présente, il est évident que plusieurs tuples de S peuvent être joints
à un tuple précis de R, et vice versa. Par conséquent, l'algorithme doit
prévoir une sous-jointure imbriquée afin de joindre les tuples
correspondants dans R et S pour chaque valeur répétitive des attributs
A et B.
Coût linéaire de la
jointure par trifusion
Dans notre exemple d'interrogation des tables EMPLOYÉ et
DÉPARTEMENT, nous constatons que le coût de l’étape tri-fusion est
linéairement dépendant du nombre de tuples dans les tables grâce à
l'unicité des valeurs de l'attribut clé D#. Les deux tables EMPLOYÉ et
DÉPARTEMENT ne seront parcourues qu'une seule fois pour réaliser
leur jointure.
La mise à jour des
tables système est
nécessaire
En principe, le choix d'une stratégie de jointure appropriée - tout
comme celui d'une stratégie d'accès - n'est pas une décision a priori
que peut prendre un système de bases de données. Contrairement à
l'optimisation algébrique, ce choix dépend notamment de l'état
courant du contenu d'une base de données. C'est pourquoi il est
primordial que des données statistiques contenues dans les tables
système soient régulièrement actualisées, de manière périodique ou
par l’action de l'expert en bases de données.
4.3 Fonctionnement d’un système de bases
de données multi-utilisateur
4.3.1 Le concept de transaction
Le travail sans
conflit est assuré
par un système
multi-utilisateur
Assurer l'intégrité des données est une des exigences
fondamentales du point de vue des utilisateurs d'une base de données.
La gestion des transactions dans un système de bases de données doit
permettre à plusieurs utilisateurs de travailler sans conflit entre eux.
Pour cela, tout changement dans la base de données doit respecter les
contraintes d'intégrité définies par les utilisateurs avant qu'il ne leur
soit rendu visible.
Définition d’une
transaction
Une transaction (transaction, en anglais) est un ensemble
d'opérations soumises aux contraintes d'intégrité, qui met à jour une
