• Aucun résultat trouvé

Chapitre IV. Méthode de conception d’un schéma

2. Modèle de l’entrepôt

Au sein de notre équipe, nous avons proposé un modèle conceptuel orienté objet pour la représentation des données de l’entrepôt qui intègre des données temporelles et archivées (Teste, 2000). Le choix de l’orienté objet est justifié par le fait que le modèle objet permet de présenter facilement les différents types de données existants dans les différentes sources de production (Bukhres et al, 1993). En outre, l’entrepôt doit permettre de gérer les données temporelles nécessaires à la prise de décision (Yang et al, 2000) (Pedersen et al, 1999). Aussi, le modèle de l’entrepôt est un modèle orienté objet temporel dédié à la prise de décision.

Ce modèle se base sur le langage de modélisation objet UML. Nous présentons dans la section suivante, les concepts de base du modèle d’entrepôt défini au sein de notre équipe. Ce modèle étend la définition de classes UML et introduit le concept d’environnement afin de supporter l’historique des données (détaillé et archivé).

2.1. Concept d’objet entrepôt

Au niveau de l’entrepôt, chaque objet source extrait (ou groupe d’objets source) est représenté par un objet, appelé objet entrepôt. L’entrepôt de données peut conserver les changements d’états des objets, tandis que la source de données ne contient que l’état courant

S 1 E D C O N S T R U C T I O N E O R G A N I S A T I O N M D1 M D2 M DN I N T E R R O G A T I O N S 2 S n Outils d’analyse Légende : ED : Entrepôt de Données MD : Magasin de Données Si : Source opérationnelle

ou bien une partie récente des évolutions, insuffisante pour la prise de décision (Chaudhuri et al, 1997) (Yang et al, 2000). Dans un entrepôt, l’administrateur peut décider de conserver : − uniquement, l’image source, c’est-à-dire son état courant,

− les états successifs que prend l’objet source dans le temps, appelés états passés,

− un résumé de ses états passés successifs, c’est-à-dire l’agrégation de certains états passés en états archivés.

La Figure IV.2 décrit le principe de la modélisation des objets entrepôt, en représentant un objet entrepôt possédant un état courant, deux états passés et un état archivé.

Figure IV.2 : Principe de modélisation d’un objet entrepôt

La mise à jour de l’entrepôt est réalisée de manière périodique. Autrement dit, elle s’effectue à un point d’extraction correspondant à un instant où la base de données source est dans un état cohérent (fin des transactions de mise à jour). Ainsi, l’état d’un objet entrepôt ne correspond pas forcément à l’état courant de la source et certaines évolutions de la source ne sont pas immédiatement répercutées dans l’entrepôt. L’administrateur doit équilibrer l’exigence de performance de l’entrepôt de données tout en garantissant un rythme (période) de rafraîchissement suffisant pour ne pas perdre des évolutions utiles de la source.

Nous formalisons le concept d’objet entrepôt par les définitions suivantes :

Définition

Un objet entrepôt O est défini par le quadruplet (Oid, S0, EP, EA) où : − Oid est l’identifiant interne,

− S0

est l’état courant, − EP

= {Sp1, S p2,….. S pn} est un ensemble fini d’états passés,

− EA

= {S a1, S a2,…. S am} est un ensemble fini d’états archivés.

Définition

Un état Si d’un objet entrepôt est défini par le couple (hi, vi) où :

− hi est le domaine temporel correspondant aux instants durant lesquels l’état Si est courant,

− vi est la valeur de l’objet durant les instants de hi.

Monde réel Entrepôt

Objet entrepôt Entité Objet source d’extraction Points

Entité courante Etat passé d’une entité Objet source courant Etat passé d’un objet sourc e Objet entrepôt

Etat courant d’un objet entrep ôt Etat passé d’un objet entrepô t Etat archivé d’un objet entrepô t Légende :

Source

2.2. Concept de classe entrepôt

Le concept de classe entrepôt étend le concept standard de classe défini dans UML afin d’intégrer le caractère évolutif des objets entrepôt et de caractériser le processus de construction par extraction.

Définition

Une classe entrepôt c est définie par un n-uplet (Nomc, Typec, Superc, Extensionc, Mappingc, Tempoc, Archic) où

- Nomc

est le nom de la classe, - Typec

est le type de la classe ; il définit la structure et le comportement des objets de la classe,

- Superc

est l’ensemble des super-classes de c, - Extensionc

est l’ensemble fini d’objets entrepôt regroupés dans la classe c, - Mappingc

est la fonction de construction qui caractérise le processus d’extraction à partir duquel la classe c est générée et alimentée en instances,

- Tempoc

est le filtre temporel qui caractérise l’ensemble des propriétés temporelles de la classe décrivant des données pertinentes pour le système décisionnel. Il est constitué d’attributs temporels dont les évolutions de valeurs sont conservées par des états passés, - Archic

est le filtre d’archives qui caractérise l’ensemble des attributs archivés de la classe dont les évolutions sont conservées de manière agrégée. Le filtre d’archives est un ensemble de couples (attribut, fonction) ; l’ensemble des attributs archivés est associé à une fonction d’agrégation qui indique comment sont résumées les évolutions détaillées dans les états d’archives.

2.3. Concept d’environnement

Dans un entrepôt de données, les classes n’ont pas toutes le même comportement temporel. Ainsi, certaines classes sont mises à jour quotidiennement et d’autres à un rythme mensuel. Le concept d’environnement (Ravat et al, 2000b) permet de modéliser cette réalité en définissant des parties temporelles homogènes, cohérentes et configurables dans l’entrepôt.

Définition

Un environnement Env est défini par le triplet (NomEnv, CEnv, ConfigEnv) où : - NomEnv

est le nom identifiant l’environnement, - CEnv

={c1, c2, …, cm} est l’ensemble fini des classes contenues dans l’environnement,

- ConfigEnv

est un ensemble de règles de configuration, visant à définir différents paramètres locaux à l’environnement (période de rafraîchissement, …).

Toute classe historisée doit appartenir à un environnement qui détermine, à l’aide de sa configuration, les périodes de rafraîchissement et d’archivage des données.

2.4. Concept d’entrepôt

Définition

Un entrepôt ED est défini par le n-uplet (NomED, CED, EnvED, ConfigED) où : - NomED

est le nom de l'entrepôt, - CED

= {c1, c2, …, cn} est l'ensemble fini des classes de l'entrepôt,

- EnvED

={env1, env2, …, envm} est l'ensemble fini des environnements de l'entrepôt,

- ConfigED

est l'ensemble des paramètres de configuration, visant à définir différents paramètres globaux.

2.5. Exemple d’un entrepôt historisé

Nous présentons dans ce paragraphe un exemple d’entrepôt de données historisées. Nous précisons que les travaux initiés dans la thèse d’Olivier Teste (Teste, 2000) ont proposé un outil de conception du schéma de l’entrepôt à partir des sources opérationnelles. Nous utilisons cet outil pour la représentation du schéma de notre exemple d’entrepôt.

Classes entrepôt

Attribut historisé

Attribut archivé

Environnements

Figure IV.3 : Schéma de l’entrepôt de données selon le diagramme de classes UML étendu

Nous souhaitons modéliser une application de gestion de location de véhicules d’une société qui possède plusieurs agences en France et aux États-unis. Une location est réalisée selon plusieurs types (forfait journalier, heure, kilométrage, ...). Elle concerne un seul client et un seul véhicule. Un véhicule est caractérisé par sa catégorie et son modèle. Chaque type de location possède un tarif de location qui dépend de la catégorie et du modèle du véhicule.

Pour répondre à ces besoins, nous avons construit l’entrepôt Location présenté par le diagramme de classes UML de la Figure IV.3.

Nous souhaitons également conserver l’historique des locations journalières et réaliser le suivi mensuel des salaires des employés. Pour cela nous avons défini les environnements ‘Suivi_Location’ et ‘Suivi_Salaire’. L’environnement ‘Suivi_Location’ comporte les classes Client, Type_Location, Véhicule et Location. La création de ces environnements permet de définir l’ensemble des informations à historiser par jour et par mois. L’historisation permet de garder le détail des évolutions des attributs dans le temps (les différentes valeurs affectées à chaque attribut dans le passé). L’ensemble des attributs historisés dans une classe forme son filtre temporel. L’archivage de ces attributs, leur affectation au filtre d’archives, permet de résumer une partie de ces valeurs pour ne conserver que l’information pertinente à l’utilisateur. Le deuxième environnement ‘Suivi_Salaire’ permet d’historiser les informations relatives aux salariés et notamment l’évolution de leur salaire et les changements de leur adresse dans le temps.

Dans la section suivante, nous proposons une méthode de conception de bases de données dimensionnelles à partir d’un entrepôt de données historisées.

Documents relatifs