Vous êtes sur la page 1sur 5

DBA Companion:

un outil pour lanalyse de bases de donnes


Stphane Lopes Fabien De Marchi

Jean-Marc

Petit

Laboratoire PRiSM, CNRS FRE-2510,


Universit de Versailles St-Quentin en Yvelines,
45, avenue des tats-Unis 78035 Versailles Cedex,
 
 !#"#$&%
 

Laboratoire LIMOS, CNRS UMR-2239,


Universit Blaise Pascal - Clermont-Ferrand II,
Complexe scientifique des Czeaux 63177 Aubire Cedex,
'( ) *+
-,/.*021 -/
3 /" 4*56+/ /&%

RSUM. Comprendre la smantique des donnes dans les bases de donnes (BDs) relationnelles existantes est une tche importante pour de nombreuses applications comme lanalyse et
la maintenance de BDs, la rtro-conception des BDs ou loptimisation de requtes. La smantique des donnes est contenue principalement dans les contraintes dintgrit. Pour la plupart
des BDs oprationnelles, en particulier pour les plus anciennes, nous ne pouvons pas supposer que nous disposons de cette connaissance. Dans cet article, nous prsentons un prototype
appel DBA Companion qui peut apporter une aide pour la comprhension des BDs relationnelles existantes. Cet outil intgre des algorithmes pour lextraction des contraintes dintgrit
ainsi que dautres problmes connexes. Parmi les diverses applications possibles, nous nous
focalisons sur le rglage logique des BDs.

Understanding data semantics from existing relational databases is important for


several applications such as database maintenance and analysis, database re-engeenering or
query optimization. Data semantics is carried out in particular by integrity constraints. For
most operational databases, particularly for the oldest ones, we cannot assume to dispose of
this knowledge. In this paper, we present a tool called DBA Companion which can be an help to
deal with the understanding of existing relational databases. This tool integrates algorithms to
deal with the extraction of integrity constraints and several related problems. From this mined
knowledge, the logical tuning of databases can be achieved.
ABSTRACT.

rglage logique des BDs, analyse de schmas de BDs, contraintes dintgrit, infrence des dpendances fonctionnelles, infrence des dpendances dinclusion.

MOTS-CLS :

logical database tuning, database schema analysis, integrity constraints, functional


dependency inference, inclusion dependency inference.

KEYWORDS:

1. Introduction
Comprendre la smantique des donnes dans les bases de donnes (BDs) relationnelles existantes est une tche importante pour de nombreuses applications comme
lanalyse et la maintenance de BDs, la rtro-conception, la construction dentrepts
de donnes ou loptimisation de requtes. La smantique des donnes est contenue
principalement dans les contraintes dintgrit. Parmi ces contraintes, les dpendances
fonctionnelles (DFs), qui gnralisent la notion de cl, et les dpendances dinclusion
(DIs), qui gnralisent la notion de cl trangre, sont les contraintes dintgrit les
plus communes [MAN 94]. Dans le meilleur des cas, ces contraintes ont t spcifies
lors de la conception de la BD et sont donc disponibles dans le SGBD. Cependant,
nous ne pouvons pas prsumer que nous nous trouvons dans cette situation idale pour
une BD oprationnelle, particulirement pour les plus anciennes. Dans ce dernier cas,
cette connaissance doit tre extraite partir de la BD. Plusieurs sources dinformations sont pertinentes pour mener bien une telle tche. On peut citer notamment le
schma physique de la BD, lextension de la BD ou les programmes dapplication.
Dans cet article, nous prsentons un prototype appel DBA Companion qui peut
apporter une aide pour la comprhension des BDs existantes. Cet outil intgre plusieurs algorithmes ddis lanalyse de BDs. Cette analyse est ralise en sappuyant
sur des techniques de fouilles de donnes ce qui a permis de concevoir des algorithmes
efficaces. Laccent est mis sur lefficacit afin de pouvoir se confronter des situations relles. Nous traitons trois problmes principaux (infrence des DFs, infrence
des DIs et slection des dpendances intressantes) ainsi que divers problmes lis
(gnration de BDs dArmstrong, infrence des dpendances approximatives). Lide
est de fournir ladministrateur de BD des informations pertinentes qui lui permettent
damliorer les performances des applications et dassurer la cohrence des donnes.
Parmi les application pouvant bnficier de la comprhension des BDs existantes,
nous avons choisi de nous intresser plus particulirement au rglage logique de BDs.
Notre prototype a t ralis dans le but dassister un administrateur de BDs pour cette
tche.
Rglage logique des BDs De nos jours, les administrateurs de BDs doivent surveiller et rgler une nombre important de paramtres pour un fonctionnement optimal de leurs BDs. La difficult dune telle tche est largement reconnus alors que de
nombreuses entreprises ne disposent pas dun administrateur temps plein. Simplifier
ladministration des SGBDs devient donc un nouveau challenge pour la communaut
base de donnes.
Le rglage physique dune BD est intensivement tudi afin damliorer les performances du systme notamment en assistant ladministrateur pour la cration dindex
ou en collectant automatiquement des statistiques pour loptimisation de requtes.
Nous nous plaons ici dans le cadre du rglage logique dune BD, i.e. de lanalyse et de loptimisation du schma de la BD. Fournir ladministrateur de BD des
connaissances propos des dpendances satisfaites par une BD peut aider raliser

certaines tches comme la spcification des cls candidates ou la dtection de relations dnormalises [LOP 00, LOP 01a]. Par exemple, une relation dnormalise peut
rsulter dune erreur de conception ou dune volution mal contrle dune BD et
pas toujours de besoins doptimisation. Notons galement que les dpendances approximatives peuvent apporter des indices propos des donnes inconsistantes. Par
exemple, une DF viole par un petit nombre de tuples peut signifier quune erreur de
saisie existe dans ces tuples.

2. Un cadre pour lanalyse de schmas de BDs


A partir dune instance de BD, la dcouverte des DFs et des DIs peut tre ralise de manire efficace en sappuyant sur des techniques de fouilles de donnes
[LOP 00, MAR 02a]. Parmi les connaissances dcouvertes, il reste slectionner les
plus pertinentes. En effet, certaines dpendances extraites partir des donnes peuvent
ne pas tre significatives. Par exemple, des dpendances accidentelles, i.e. vraies seulement pour une instance particulire de la BD, peuvent exister et ne doivent donc pas
tre prises en compte par la suite. Nous proposons deux alternatives pour apporter
une aide au choix des dpendances intressantes. La premire est base sur lutilisation de BDs exemples : une BD dArmstrong1 est une reprsentation alternative dun
ensemble de dpendances et permet ainsi de visualiser les dpendances dcouvertes
[MAR 02b]. La deuxime alternative sappuie sur lanalyse des programmes dapplications, i.e. une charge de requtes SQL : par exemple, les attributs impliqus dans
les ordres de jointures fournissent des indices pour slectionner les dpendances pertinentes [LOP 01b].

3. Un outil pour le rglage logique de BDs


Le prototype a t ralis en C++/STL (Standard Template Library)/MFC (Microsoft Foundation Classes) et fonctionne sous Windows. Laccs aux BDs se fait laide
de lAPI (Application Programming Interface) ODBC (Open DataBase Connectivity).
La figure 1 prsente une partie des fonctionnalits de loutil.
Lutilisateur se connecte tout dabord une source de donnes ODBC puis slectionne la ou les relations sur lesquelles il souhaite travailler. Il est ensuite possible
dexcuter divers algorithmes sur cette slection (infrence des DFs exactes et approximatives, infrence des cls, infrences des DIs exactes et approximatives, gnration de relation dArmstrong). Loutil collabore troitement avec le SGBD pour
les diffrents traitements. Par exemple, les relations dArmstrong sont gnres dans
le SGBD ce qui permet lutilisateur de les modifier puis de ritrer le processus
danalyse partir de ces relations.
7

. Informellement, une BD dArmstrong est une BD satisfaisant exactement un ensemble de


dpendances.

Figure 1. DBA Companion

Un certain nombre dextension peuvent permettre damliorer lapplication. Par


exemple, la gnration automatique de scripts SQL partir des connaissances extraites
peut permettre de renforcer des contraintes dintgrit sur la BD tout en autorisant des
modifications par ladministrateur. En effet, ladministrateur souhaitera probablement
tudier les modifications proposes avant de les raliser. La dcouverte dincohrences
dans la BD peut aussi sappuyer sur notre outil. A partir des dpendances approximatives, des incohrences dans les donnes peuvent tre mises en vidence et une
proposition de corrections peut tre faite par loutil.

4. Bibliographie
[LOP 00] L OPES S., P ETIT J.-M., L AKHAL L., Efficient Discovery of Functional Dependencies and Armstrong Relations , Proc. of EDBT 2000, Konstanz, Germany, vol. 1777
de LNCS, Springer, 2000, p. 350364.
[LOP 01a] L OPES S., P ETIT J.-M., L AKHAL L., A Framework for Understanding Existing
Databases , Proc. of IDEAS 2001, Grenoble, France, IEEE, 2001, p. 330338.

[LOP 01b] L OPES S., P ETIT J.-M., T OUMANI F., Discovering Interesting Inclusion Dependencies : Application to Logical Database Tuning , J. of Information Systems, vol. 27, n 8
1, 2001, p. 119, Elsevier Science.
[MAN 94] M ANNILA H., R IH K.-J., The Design of Relational Databases, Addison Wesley, 1994.
[MAR 02a] M ARCHI F. D., L OPES S., P ETIT J.-M., Efficient Algorithms for Mining Inclusion Dependencies , Proc. of EDBT 2002, Prague, Czech Republic, vol. 2287 de LNCS,
Springer, 2002, p. 464476.
[MAR 02b] M ARCHI F. D., L OPES S., P ETIT J.-M., Samples for Understanding Datasemantics in Relations , Proc. of ISMIS 2002, Lyon, France (to appear), 2002.