Université de Fribourg Département d’informatique (DIUF) La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web Travail de séminaire de Matthias Vögeli Rte. de la CitéBellevue 11 1700 Fribourg encadrement par Dr. rer. pol. Stefan Hüsemann Juin 2006
37
Embed
La gestion de temps de l’entreprise - diuf.unifr.chdiuf.unifr.ch/main/is/sites/diuf.unifr.ch.main.is/files/file/...Le système se base sur un serveur MySQL et le langage de ... des
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Université de Fribourg
Département d’informatique (DIUF)
La gestion de temps de l’entreprise –
conception d’une base de données relationnelle basée web
Travail de séminaire
de
Matthias Vögeli
Rte. de la CitéBellevue 11
1700 Fribourg
encadrement par
Dr. rer. pol. Stefan Hüsemann
Juin 2006
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 Travail de séminaire
Abstract
Le but de ce travail est d’établir en collaboration avec l’entreprise de conseil en
gestion management de Zurich – ZIEL Consulting AG un outil pour la gestion
des heures de travail et des frais professionnels. Outre le résultat conceptionelle,
un prototype basé web va être implémenté et évalué à partir des données
collectionnées. Le système se base sur un serveur MySQL et le langage de
programmation PHP.
La solution vise à proposer un outil pour le rapport des heures de travail et des
frais de gestion qui se produisent pour le personnel de l’entreprise. La base de
données doit être accessible hors du bureau et hors de main d’oeuvre si
l’employé travaille sur un projet extérieur.
En s’appuyant sur le cycle de vie de l’application d’une base de données les
phases majeures du travail de séminaire sont: l’analyse des données et des
exigences, la modélisation conceptionnelle et logique, la réalisation et
l’implémentation du prototype et finalement l’évaluation du prototype.
Motsclés
§ Système de gestion de base de données (SGBD)
§ Modèle entitéassociation (ERM)
§ Schéma de base de données relationnelle
§ MySQL
§ PHP
§ PhpMyAdmin
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
1.1 ENONCE DU PROBLEME ..................................................................................... 2 1.2 OBJECTIFS .................................................................................................... 2 1.3 DEMARCHE ET QUESTIONS ................................................................................ 3
2 L’ANALYSE DES EXIGENCES.......................................................................... 6
2.1 ETAT ACTUEL ................................................................................................. 6 2.2 DETERMINATION DES EXIGENCES ..................................................................... 10 2.3 DESCRIPTION DU SYSTEME A CONSTRUIRE ET DES DONNEES ................................... 11
3.2 SCHEMA DE BASE DE DONNEES RELATIONNELLE.................................................... 16 3.2.1 Les règles ............................................................................................ 17 3.2.2 Les tables ............................................................................................ 18 3.2.3 Les contraintes d’intégrité structurelles.................................................... 19
4 REALISATION ET IMPLEMENTATION DU PROTOTYPE ................................. 21
4.1 TECHNOLOGIES UTILISEES POUR L’IMPLEMENTATION ............................................ 21 4.2 CONSTRUCTION DE LA BASE DE DONNEES ........................................................... 22 4.3 CREATION DE L’INTERFACE UTILISATEUR SIMPLIFIEE ............................................ 23
5 EVALUATION DU PROTOTYPE ..................................................................... 29
6 CONCLUSION ET PERSPECTIVES................................................................. 30
8.1 RESULTAT DE L’ENQUETE DANS L’ENTREPRISE ZIEL CONSULTING AG (EXTRAITS) ...... 32 8.2 CAPTURES D’ECRAN DE PHPMYADMIN ............................................................... 33
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 2
1 Préliminaire
1.1 Enoncé du problème
La gestion des heures de travail et des défraiements est en général géré avec
beaucoup de différences dans les petites et moyennes entreprises. Quelques
solutions utilisées par des PME sont loin de satisfaire objectivement les besoins
des employeurs et aussi des employés. En plus une généralisation du problème
des outils de décompte des heures et par conséquence une solution partout
applicable n’est pas possible étant donné qu’ils existent des différences
considérables entre les secteurs d’activités des entreprises. Ce qui est en général
demandé par les PME est un système centralisé avec l’intégration des processus
de l’entreprise et une haute accessibilité par les utilisateurs. La simplification de
la collection et de l’échange des données dans et entre les différents
départements de l’entreprise est à viser.
Par rapport à une entreprise startup, les dépenses administratives sont
d’ordinaire et malheureusement négligées pendant les premières années de
croissance. À partir d’une certaine taille de l’entreprise, les moyens du contrôle
deviennent insuffisants tandis que la gestion de l’enregistrement du temps et des
frais de travaux deviennent de plus en plus embrouillé.
1.2 Objectifs
Le but de ce travail est d’établir en collaboration avec l’entreprise de conseil en
gestion management de Zurich – ZIEL Consulting AG un outil pour la gestion
des heures de travail et des frais professionnels. ZIEL Consulting est fondée en
2002 avec l’objectif de conseiller le management au niveau stratégique en
questions de croissance d’entreprise. ZIEL Consulting a connue une forte
croissance des nombres des employés ainsi que du volume des commandes.
Outre le résultat conceptionnel, un prototype basé web va être implémenté et
évalué à partir des données collectionnées.
Les acteurs du marché des outils de gestion de temps ont compris les avantages
compétitifs que l’Internet pouvait leur apporter. Le système de gestion de base
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 3
de données constitue la technologie clé de l’économie Internet en mettant à
disposition leur propre langage et leur puissante fonction d’analyse de données.
Dans le but d’améliorer la situation actuelle, il est incontournable d’établir un tel
système comme outil pour la gestion du temps des entreprises. Les composants
du système doivent être des logiciels et des applications open source. Un logiciel
est dit open source lorsqu’il accompli les principaux critères nécessaires comme
la libre redistribution, un code source disponible ainsi que la possibilité de
travaux dérivés.
Si on a pu faire le bilan positif de l’évaluation du prototype, l’idée est de créer
une interface utilisateur sophistiquée, d’implémenter la version finale et de
maintenir le système de façon opérationnel dans l’entreprise ZIEL Consulting.
Cette démarche ne va pas être l’objet de ce travail.
1.3 Démarche et questions
En s’appuyant sur le cycle de vie de l’application d’une base de données (cf. Fig.
1.3.1.) on peut identifier quatre phases majeures: l’analyse des données et des
exigences, la modélisation conceptionnelle et logique, la réalisation et
l’implémentation du prototype et finalement l’évaluation du prototype.
Fig. 1.3.1.: Le cycle de vie de l’application d’une base de données [Connolly, Begg, Strachan 1996, p.125]
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 4
L’analyse des données vise à identifier l’état actuel avec une approche
systémique pour pouvoir déterminer les marges de fonctionnement du système
actuel, la délimitation des soussystèmes et de définir les interfaces en
s’appuyant sur [Jenny 1997]. Par la suite, les exigences envers le nouveau
système de gestion des heures de travail et le système de gestion de base de
données doivent être déterminés en collaboration avec ZIEL Consulting. Les
données pertinentes, leurs liaisons et leurs structures doivent permettre
d’élaborer une documentation complète. En plus, les fonctionnalités et les limites
du système doivent être fixées. Les questions suivantes se posent dans cette
phase: Quel est l’état actuel du système? Quelles données doiton pouvoir gérer?
Quelles sont les exigences envers un outil de gestion de temps pour ZIEL
Consulting?
La modélisation conceptionnelle et logique vise à concevoir un modèle entité
association. A l’aide de ce modèle, les données, leurs liaisons et les informations
qui sont mis à disposition pendant la phase de l’analyse sont représentés
graphiquement pour que l’on puisse convertir le modèle entitéassociation en un
schéma de base de données relationnelle. Les questions suivantes se posent
dans cette deuxième phase: Comment les données doiventelles être modelées
dans le modèle entitéassociation? Quelle est la spécification de la structure des
données et de leurs contraintes d’intégrité?
La prochaine phase sert à la réalisation et l’implémentation d’un prototype.
Prototyping est la création d’un modèle simplifié utilisable d’une application de la
base de données [Connolly, Begg, Strachan 1996, p. 132]. Avant la construction
de la base de données, les technologies utilisées, surtout PHP et MySQL, sont
brièvement présentées. La création d’une interface utilisateur simplifiée selon
quelques critères de [Shneiderman 1992] avec la connexion de la base de
données et la possibilité de simples interrogations achève cette phase de
construction. Les questions pertinentes dans cette phase sont: Quelles sont les
technologies informatique utilisée dans la construction du système? Comment on
connecte une page web dynamique avec une base de donnée?
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 5
La dernière phase vise à évaluer le prototype et proposer des améliorations. Les
questions posées dans cette partie sont: Estce que la solution proposée satisfait
les exigences et les besoins de l’utilisateur qu’on a identifié pendant la première
phase? Quelles sont les forces et les faiblesses d’un tel système? Quelles sont les
améliorations qui doivent être effectuées avant de construire la version finale du
système?
Les questions de la dernière phase doivent servir à identifier des faiblesses et
proposer des améliorations pour que l’on puisse les incorporer dans
l’implémentation d’un nouveau système de gestion des heures de travail dans
ZIEL Consulting pendant un projet qui va suivre à ce travail de séminaire.
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 6
2 L’analyse des exigences
2.1 Etat actuel
Le travail de ZIEL Consulting est organisé par projet. Cet à dire qu’on a plusieurs
clients générant des honoraires avec différents projets qui sont identifiable par
un code. De plus, on a des dépenses administratives et des dépenses du
développement des clients qui ne génèrent pas des honoraires. L’objectif de la
direction de ZIEL Consulting est de minimiser le ratio coûts / volume des
honoraires 3 et de maximiser le ratio volume des honoraires / jours décomptés 4 .
Le premier ratio vise à augmenter l’efficacité, tandis que le deuxième ratio à une
répercussion à la valeur ajoutée de l’entreprise. Le problème c’est qu’on n’a
quasiment pas de moyen de mesurer ces ratios avec le système actuel des
heures de travail et des défraiements.
La délimitation d’un système observé des autres systèmes devient nécessaire
pour garder la vue d’ensemble [selon Jenny 1997, p.3]. Un système au sens
organisationnel est identifiable et différenciable de ce qui l’entoure. En plus, il a
un comportement et agit en fonction d’un but [Huesemann 2005; p.25]. Par la
suite, les systèmes qui sont concernés dans l’entreprise vont être identifié de
manière systémique pour que l’on puisse décrire le flux de travail dans les
processus de ZIEL Consulting.
Dans un premier pas, la constitution de la marge de fonctionnement du système
et les éléments de l’environnement doivent être établie (cf. Fig. 2.1.1.). On
définit ce qui peutêtre grouper dans ou hors du cercle de problème. Nous
définissions la gestion du temps dans l’entreprise comme cercle de problème et
par conséquence comme système que nous allons observer. Les cercles qui sont
représentés hors du système principal 5 ont une relation directe par un ou
plusieurs soussystèmes de la gestion du temps. L’environnement fournit des
entrées au système qui lui permet d’opérer. La gestion du temps génère à son
tour des sorties vers l’environnement [Huesemann 2005; p.25].
3 En anglais: “CostIncomeRatio” 4 En anglais: “Value added” 5 Selon [Jenny 1997]: „Umsysteme“
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 7
Employés Clients
Comptabilité
Autres départements
Bulletin de paye Banque
La gestion du temps marge du système
Fig. 2.1.1.: Marge du système adapté de l’exemple dans [Jenny 1997; p. 7]
La prochaine étape, qui est visualisée dans la Fig. 2.1.2. vise à délimiter les
soussystèmes de la gestion du temps. Les soussystèmes interagissent entre
eux et chaque soussystème a luimême les caractéristiques d’un système. Les
composants de la gestion du temps sont l’enregistrement du temps comme la
preuve des défraiements qui est fait par les employés. L’allocation des ressources
ainsi que la gestion de projets est organisé par le chargé du projet et la gérance.
Ces deux derniers soussystèmes ne vont pas être considérés dans le travail de
séminaire.
La gestion du temps
Enregistrement du temps
Preuve des défraiements
Gestion de projets
Allocation des ressources
Fig. 2.1.2.: Soussystèmes adapté de l’exemple dans [Jenny 1997; p. 9]
La dernière nécessitée dans l’approche systémique est la définition des interfaces
(cf. Fig. 2.1.3.). Cette définition montre les dépendances entre les sous
systèmes séparés et les éléments de l’environnement. On différencie les
interfaces externes et les interfaces internes.
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 8
Employés
Clients
Comptabilité
Autres départements
Bulletin de paye
Banque
Enregistrement du temps
Preuve des défraiements
Gestion de projets
La gestion du temps
Ne sont pas considéré en solution
Impact sur le SGBD
Interfaces internes
Interfaces externes
Allocation des ressources
Fig. 2.1.3.: Interfaces adapté de l’exemple dans [Jenny 1997; p. 10]
A partir de la définition des interfaces, le système de la gestion du temps et ces
soussystèmes sont représentés de manière intégrale. Le déroulement du
processus et le flux de travail 6 de la gestion de temps dans l’entreprise peuvent
être représentés graphiquement.
Il existe aussi d’autres méthodes pour l’analyse et la description d’un système.
On aurait aussi pu appliquer le modèle de cas d’utilisation 7 qui est un produit de
travail dans RUP 8 . Un cas d’utilisation sert à représenter les exigences
fonctionnelles envers le système.
6 Anglais: „Workflow“ 7 Anglais: „use case model“ 8 Rational Unified Process
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 9
Le flux de travail (cf. Fig. 2.1.4.) peut être d’abord décrit sous le point de vue de
l’employé. Chaque employé à son propre Timesheet sur un mois. Ce Timesheet
est un fichier en Excel où les données sont remplies jour par jour.
Fig. 2.1.4.: Workflow ZIEL Consulting
L’exemple dans la Fig. 2.1.5. montre le remplissage d’un fichier de temps 9 . On a
d’abord le remplissage de la date. Le code se compose d’une abréviation du
projet et de son numéro. La colonne billable décide si la comptabilité peut
facturer le travail effectué et les frais de gestion au client.
Date Project Hours Bil lable (Y/N) Task Expenses (Y/N) Currency Amount Justification
12.04.2006 ADM 00X 8 N comptabilité N 13.04.2006 UNI 002 4 Y analyse concurrenciel Y CHF 75. train ZürichFribourg
Fig. 2.1.5.:Fichier Excel pour la gestion du temps (exemple)
9 Timesheet
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 10
En fin de mois, l’employé envoie son Timesheet au responsable du département
de comptabilité et du bulletin de paye. En même temps les preuves des
défraiements pour les montants des frais dans le fichier de temps doivent être
transmises. Le département de comptabilité réunit toutes les données des
employés. Elles sont soumises à une évaluation pour pouvoir payer les salaires et
facturer les comptes débiteurs. Par la suite, les documents sont classé à
l’archive.
L’avantage de cette solution en Excel est que la réalisation est relativement
simple avec un petit nombre des employés. En plus on est capable d’effectuer
des analyses par les employés par mois et année.
Il y a un grand nombre de désavantages qui sont que le système de gestion du
temps avec la solution des Timesheets est gérée en décentralisation et que des
interrogations sophistiquées ne sont pas effectuable. Avec une plus grand
nombre d’employés ça devient de plus en plus difficile de collecter, d’évaluer et
de stocker les donnés d’une manière propre. De plus, une contrôle des ratios
n’est pas applicable d’une manière satisfaisante. Le niveau d’automatisation, la
grande source d’erreurs et l’accessibilité limitée sont aussi des facteurs
désavantageux.
2.2 Détermination des exigences
Partant de l’analyse de l’état actuel avec ses forces et ses faiblesses, les
exigences envers le nouveau système doivent être définies. En outre on doit
savoir, quelles données sont à gérer. Pour obtenir ces informations cruciales, des
sondages avec les utilisateurs potentiels doivent être effectués dans l’entreprise
autant que la considération des documents accessibles et l’observation de
l’entreprise dans l’opération. Selon [Meier 2004, p.15] il est crucial d’utiliser le
langage des utilisateurs pour formuler les faits nécessaires au développement
ultérieur d’une base de données. Les exigences envers l’interface utilisateur et le
système à interrogation sélectif peuvent être décrite indépendamment.
Sur la base de l’étude du processus de gestion existant et de l’entretien avec les
collaborateurs et la direction, les exigences peuvent être constituées comme
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 11
suit: L’utilisateur doit avoir un accès sécurisé à l’interface utilisateur par son
navigateur Web de n’importe où dans le monde. Il doit avoir la possibilité de
remplir ses informations relatives à la gestion du temps dans des formulaires
prédéfinies. Les données pertinentes sont précisées en Fig. 2.3.2. Au niveau de
données il n’y aurait pas une grande différence visàvis de l’état actuel.
En ce qui concerne le système à interrogation sélective, on doit avoir un bond en
avant au niveau de la collection des données de tous les employés ainsi que
l’exploitation des informations nécessaires pour les autres départements
concernés. Des interrogations standardisées qui servent à un meilleur contrôle
doivent être prédéfinies. Des analyses par projet, par employé, par tout
personnel et par les frais de gestion, mais aussi des évaluations journalières,
mensuelles et annuelles doivent être possibles. Surtout, le département de
comptabilité aura besoin de ces interrogations. Cela implique, qu’elles doivent
s’effectuer sur une interface utilisateur qui ne requièrent pas des connaissances
de langages d’interrogation et de manipulation de données.
Ce qui est en question sont les limites des fonctionnalités du système. Le résultat
final n’aura pas un collecticiel, ni un outil de gestion de projet. Le nouveau
système de gestion de base de données ne va non plus automatiser
complètement le processus du bulletin de paye ni la facturation des clients.
2.3 Description du système à construire et des données
Une application est dite distribuée lorsqu’elle utilise plus d’une machine pour
assurer les services rendus. L’architecture du système à construire suit les règles
de répartition des fonctions
élémentaires de l’application sur ces
machines. Dans la Fig. 2.3.1. une
architecture client/serveur 2 couches
est représentée. D est la fonction du
stockage des données, T est la
fonction traitements des données
alors que IU est la fonction d’interface
utilisateur. Transposé sur le système à Fig. 2.3.1.: Fonction distribuable d’une application informatique
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 12
construire, cela signifie que le contrôle et la présentation s’effectuent locale au
poste de travail et qu’on a un serveur Web pour le stockage des données. Cela
veut dire, qu’il existe une interface utilisateur avancée où l’administrateur peut
effectuer des traitements des données 10 . En raison d’une interface utilisateur
sophistiquée, l’architecture client/serveur 2 couches est préférable pour une
version finale qui ne va pas être l’objectif du travail.
Le prototype implémenté va être construit selon une architecture client/serveur 3
couches (ou 3Tiers) visualisé dans la Fig. 2.3.2. Le serveur d’application est
alors séparé du serveur de données (SGBD). Avec cette solution il n’est pas
absolument nécessaire de construire une interface utilisateur haut niveau, parce
qu’on peut effectuer des traitements des données sur le poste de travail pour la
validation de l’IU.
Fig. 2.3.2.: Fonction distribuable d’une application informatique selon [Huesemann 2005; p.33]
Avant le lancement dans la modélisation des données, leur structure et leur
pertinence sont à identifier. Au Fig. 2.3.3. les différentes sortes de données sont
énoncées, leur format est assigné et un exemple est donné. Les formats des
données sont d’une part choisi selon l’utilisation par l’entreprise ZIEL Consulting,
comme les données concernant les projets, la compensation, l’activité ou les
frais. D’autre part des standards globalement acceptés sont appliqués comme la
date, les heures, la monnaie ou le montant.
10 En Anglais: „thick client, fat client, rich client”
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 13
Description Format Exemple date YYYYMMDD 20060412
20041102 project code (accordant to ZIEL Consulting) ADM 00X (internal task)
CDE 00X (internal task) UNI 003 (client) MAT 001 (client)
hours integer 8 4
billable boolean value (True or False) Y N
task character string Market analysis for China Due dilligence for M&A strategy Fact sheet for client
expenses boolean value (True or False) Y N
currency ISO4215 (currency code) CHF EUR USD GBP
amount decimal number 14.50 85.00
rationale character string Train from Zurich to Fribourg Business lunch
Fig. 2.3.3.: Description des données
Ce sont les données qui vont être remplies par les employés dans des
formulaires prédéfinis en interface utilisateur et qui vont apparaître dans la base
de donnés.
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 14
3 Modélisation
Après l’analyse des exigences et des données, l’idée principale de la modélisation
est la représentation graphique des données et de leurs relations. Dans le
modèle entitéassociation, les clés d’identifications pour les entités sont établi et
les types d’association entres les différentes relations sont assignés. Ca se passe
indépendamment du propre logiciel de la base de données. Dès que le modèle
entitéassociation est établi, le schéma de base de données relationnelle est mis
en place. A partir de ce schéma, la vraie programmation de la base de données
va s’effectuer.
3.1 Modèle entitéassociation
3.1.1 Entités
«Une entité est un objet spécifique qui peut être identifié distinctement parmi
d’autres objets dans le monde réel ou dans notre pensée. Elle peut désigner une
personne, un objet, un concept abstrait ou un événement. Les entités de même
type forment un ensemble d’entités caractérisées par un certain nombre
d’attributs» [Meier 2004, p. 16]. Pour chaque ensemble d’entités, on définit une
clé d’identification, c’estàdire un attribut ou une combinaison d’attributs qui
permet de distinguer de manière univalente les entités dans l’ensemble
considéré. 11
En appliquant la définition d’une entité au problème, on peut identifier les
ensembles d’entités présentées en Fig. 3.1.1.
Fig. 3.1.1. : Ensemble d’entités
Les différentes entités doivent avoir une relation en forme d’association. En
général, les liaisons définissent toujours des associations dans les deux directions
dans le modèle entitéassociation. Lors du système de gestion du temps, nous
aurons les associations représentées dans le Fig. 3.1.2.
11 De définitions semblables vous trouverez dans [Meier 2004, p. 16]
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 15
Fig. 3.1.2. : Associations
3.1.2 Les types d’associations
«Une association d’un ensemble d’entités (EE_1) à un deuxième ensemble EE_2
définit un lien orienté dans cette direction. Chaque association d’un ensemble
d’entités EE_1 à un autre ensemble EE_2 est caractérisée par un type. Le type
d’association de EE_1 à EE_2 indique le nombre d’entités provenant de
l’ensemble associé EE_2 qui sont reliées à une entité dans EE_1. On distingue
essentiellement quatre types d’associations» [Meier 2004, p. 18].
Association simple (Type 1)
À chaque entité dans l’ensemble d’entités EE_1 correspond une et une seule
entité dans l’ensemble EE_2.
Association conditionnelle (Type c)
À chaque entité dans l’ensemble EE_1 correspond au plus une entité dans
l’ensemble EE_2.
Association multiple (Type m)
À chaque entité dans l’ensemble d’entités EE_1 correspondent plusieurs entités
dans l’ensemble EE_2.
Association multiple conditionnelle (Type mc)
À chaque entité dans l’ensemble d’entités EE_1 correspondent aucune, une ou
plusieurs entités dans l’ensemble EE_2. Le type d’association multiple
conditionnelle se distingue du type d’association multiple par le fait qu’une entité
dans EE_1 peut ne pas être reliée à une entité dans EE_2.
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 16
Les types d’association déterminent le degré d’une liaison.
§ Liaisons de type simplesimple: (1,1) (1,c) (c,c)
§ Liaisons de type simplecomplexe (1,m) (1,mc) (c,m) (c,mc)
§ Liaisons de type complexecomplexe (m,m) (m,mc) (mc,mc)
3.1.3 Modèle
La représentation graphique du modèle entitéassociation (cf. Fig. 3.1.3.) est
indispensable pour la conversion en schéma de base de données relationnelle et
pour l’implémentation ultérieure.
Fig. 3.1.3. : Modèle entitéassociation
3.2 Schéma de base de données relationnelle
Après avoir disposé du modèle entitéassociation, la traduction en un schéma de
base de données relationnelle est à aborder. Il s’agit essentiellement de
représenter les ensembles d’entités et de liens par des tables. Ce schéma
contient la spécification de la structure des données et de leurs contraintes
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 17
d’intégrité. En outre, les tables, les attributs et les clés primaires sont définis.
Selon [Meier 2004] on peut appliquer cinq règles pour faciliter la traduction.
3.2.1 Les règles
Règle 1 (ensembles d’entités)
Chaque ensemble d’entités doit être traduit en une table distincte, avec une clé
primaire unique qui peut être soit la clé correspondante à l’ensemble d’entités,
soit une clé candidate. Les autres attributs de l’ensemble d’entités passent sur
les attributs correspondants de la table. [Meier 2004]
Règle 2 (ensembles de liens)
Chaque ensemble de liens peut être traduit en une table distincte. Elle doit
contenir les clés d’identification des ensembles d’entités participantes comme
clés étrangères. La clé primaire de la table ainsi obtenue peut être soit une clé
d’identification formée par la concaténation des clés étrangères, soit une autre
clé candidate, en créant par exemple une clé artificielle. Les autres attributs de
l’ensemble de liens complètent les attributs de la table. [Meier 2004]
Règle 3 (Liaisons de type complexecomplexe)
Chaque ensemble de liens complexecomplexe doit être transformé en une table
distincte. Les clés étrangères de la table sont formées au moins des clés
d’identification des ensembles d’entités qui participent à la liaison. La clé
primaire de la table est soit la clé d’identification formée par la concaténation des
clés étrangères, soit une autre clé candidate. D’autres attributs de l’ensemble de
liens deviennent les attributs de la table. [Meier 2004]
Règle 4 (liaisons de type simplecomplexe)
Un ensemble de liens simplecomplexe peut s’exprimer dans les deux tables des
ensembles d’entités participantes sans avoir besoin de créer une table distincte.
Pour cela, dans la table qui participe à l’association simple, on définit une clé
étrangère qui la relie à la table référencée en y ajoutant éventuellement d’autres
attributs de l’ensemble de liens considérés. Ainsi, en évitant de transformer une
liaison en une table distincte, la règle 4 permet de l’exprimer dans une table
existante, en ajoutant à l’une des deux tables une clé étrangère qui fait référence
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web
Matthias Vögeli Juin 2006 18
à l’autre table dans l’association. Pour mettre en évidence une liaison, il convient
d’ajouter un nom de rôle au nom de la clé d’identification correspondante. Un
nom de rôle rend explicite la signification des valeurs d’une clé spécifique dans
une table étrangère. [Meier 2004]
Règle 5 (liaison de type simplesimple)
Un ensemble de liens simplesimple peut s’exprimer dans les deux tables des
ensembles d’entités participantes sans avoir besoin de créer une table distincte.
Une des clés d’identification de la table référencée est choisie comme clé
étrangère dans la seconde table.
3.2.2 Les tables
employe eNB nom prenom poNB_designation
tache tNB description heures pNB_faitpartie
execution eNB tNB date
projet pNB startdate enddate
code cNB abreviation numero description
correspondant pNB cNB
appartenance pNB eNB
La gestion de temps de l’entreprise – conception d’une base de données relationnelle basée web