Système d’information pour la gestion d’un parc de véhicules

Ce rapport, reflet de l’avancement étape par étape d'un projet de création d’une base de données pour une société de transport et la gestion de son parc de véhicules, contient premièrement le cahier des charges ainsi que le modèle entité/association et relationnel avec la validation associée et le bilan global du projet puis, en annexe, le dictionnaire des données ainsi que l’implantation, insertion des données dans la base et les requêtes demandées.

Gestion d’un parc de véhicules


Groupe 4

Introduction

Les activités humaines génèrent des données. Il en a toujours été ainsi et, plus notre civilisation se développe, plus le volume de ces données croît. Aujourd’hui, les données sont de plus en plus souvent gérées par des moyens informatiques. L’informatique est la technique qui permet le traitement automatique de l’information. D’où l’émergence des bases de données.

Une base de données est une entité dans laquelle il est possible de stocker des données de façon structurée et avec le moins de redondance possible. Ces données doivent pouvoir être utilisées par des programmes et par des utilisateurs différents. Ainsi, la notion de base de données est généralement couplée à celle de réseau, afin de pouvoir mettre en commun ces informations, d’où le nom de base. On parle généralement de système d’information pour désigner toute la structure regroupant les moyens mis en place pour pouvoir partager des données.

Une base de données permet de mettre des données à la disposition d’utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s’assurant des droits accordés à ces derniers. Cela est d’autant plus utile que les données informatiques sont de plus en plus nombreuses.

Une base de données peut être locale, c’est-à-dire utilisable sur une machine par un utilisateur, ou bien répartie, c’est-à-dire que les informations sont stockées sur des machines distantes et accessibles par réseau. L’avantage majeur de l’utilisation de bases de données est la possibilité de pouvoir être accédées par plusieurs utilisateurs simultanément.

Très rapidement, la nécessité de fournir un contrôle sérieux sur les données et leurs utilisateurs s’est fait ressentir et des outils dédiés à ces tâches sont apparus : les systèmes de gestion de bases de données.

Le SGBD est un ensemble de services (applications logicielles) permettant de gérer les bases de données, c’est-à-dire :

  • permettre l’accès aux données de façon simple
  • autoriser un accès aux informations à de multiples utilisateurs
  • manipuler les données présentes dans la base de données (insertion, suppression, modification)

Il est donc incontournable en informatique de savoir créer, développer et gérer une base de données aussi bien en théorie qu’en pratique. C’est l’objectif auquel se propose de répondre l’apprentissage par projet se basant sur une problématique, analogue à celle d’un véritable projet professionnel concret, à résoudre au fur et à mesure en respectant différentes étapes.

Ce rapport, reflet de l’avancement étape par étape de ce projet de création d’une base de données pour une société de transport, contient premièrement le cahier des charges ainsi que le modèle entité/association et relationnel avec la validation associée et le bilan global du projet puis, en annexe, le dictionnaire des données ainsi que l’implantation, insertion des données dans la base et les requêtes demandées.


Cahier des Charges

Afin d’éclaircir certains points du cahier des charges, nous avons pris rendez-vous avec le client. Nous avons recueilli les informations suivantes :

Un véhicule est-il associé à un conducteur, un circuit, ou une étape ?

  • Pour un contrat, on a un véhicule et un chauffeur défini

Si un véhicule n’a pas assez de places ?

  • Normalement ils sont choisis pour avoir assez de places, sinon création de deux contrats.

Que signifie régulier ?

  • Un trajet est régulier s’il est fréquent sur une durée, il a un seul contrat associé (et non un contrat pour chaque jour).

Qu’est-ce qu’un intervalle : entre le départ et l’arrivée ? Entre 2 trajets ?

  • C’est l’intervalle entre l’arrivée et le départ suivant. Cela précise la durée des visites, des pauses.

Doit-on indiquer la durée du trajet réelle ou prévue ?

  • On veut la durée réelle (les dates réelles du trajet).

Comment doit-on caractériser les destinations ?

  • Par des noms de villes : ville_départ et ville_arrivée.

Plusieurs demandeurs sont-ils concernés par le même contrat pour une entreprise ? Peut-il y avoir plusieurs demandeurs pour une seule entreprise ?

  • Une entreprise a 1 ou plusieurs demandeurs (les responsables dans notre schéma, association « concerner ») mais il y a un seul interlocuteur par contrat (responsable qui signe, association « signer »)

Autres remarques :

  • Ne pas calculer la prime, le client veut pouvoir l’entrer directement au clavier.
  • Les dates précises doivent apparaître dans le contrat.
  • Il y a au plus 2 numéros de téléphone, donc il n’est pas nécessaire de créer une table contenant les numéros de téléphone.
  • Il faut bien différencier les clients particuliers des entreprises (responsables).

Résultat de la modélisation

Nous avons réalisé la modélisation en essayant de répondre le plus fidèlement possible aux attentes du client :

Le Modèle Conceptuel de Données

Explication

Spécialisation/généralisation

Il existe 3 méthodes différentes :

1 – supprimer les tables filles et recopier tout les champs des filles vers la

mère

2 – supprimer la table mère et recopier les champs dans les tables filles

3 – garder toutes les tables et ajouter une clef étrangère dans les tables

filles vers la mère.

Pour chaque cas on a choisit :

TE individu : 2ème méthode car avec la 3ème méthode cela nous aurait obligé à effectuer plusieurs jointures dès que l’on veut des information sur un commercial ou conducteur. Avec la 1ère méthode cela engendre une surcharge d’attributs dans la table mère (problème d’intégrité des données).

TE personnel : 3ème méthode car il existe une clef étrangère dans la table Contrat_Travail vers personnel. Si on supprime la table personnel, on aura alors 2 clefs étrangères dans la table Contrat_Travail (l’une vers conducteur et l’autre vers commercial).

  • TE client : 3ème méthode car il existe une clef étrangère dans la table contrat vers client. Si on supprime la table client, il y aura alors 2 clefs étrangères dans la table contrat l’une vers particulier et l’autre vers responsable.

En résumé, on a choisi la 3ème méthode pour les tables mères qui sont reliées à d’autres tables afin de respecter les contraintes d’intégrités (pas de clé étrangères ayant une valeur nulle).

Pour la table individu, n’étant reliée à aucune autre table, on a choisi la 2ème méthode étant donné la facilité de récupération des informations par la suite.

La table demander

Un contrat peut désigner un demandeur qui est associé à une entreprise mais on peut avoir plusieurs
demandeurs par entreprises (dans le cas où on a plusieurs contrats avec une même entreprise dans différents services de l’entreprise).

La table contrat

Un seul véhicule par contrat, dans le cas d’une panne du véhicule (analogue avec le fait qu’un chauffeur tombe malade), on change alors la clé étrangère dans la table contrat vers le nouveau véhicule (ou respectivement, le nouveau conducteur, commercial ou client).

On a un contrat qui concerne
un et un seul conducteur, un et un seul véhicule, un et un seul commercial pour un et un seul client (qui peut être un responsable pour une entreprise ou un particulier).

La table étape

Une étape signifie un voyage d’un point de départ vers un point de destination. Un trajet est un ensemble d’étape.

Avant le voyage, chaque étape contient les dates prévues (définies par le client) puis, après le voyage, les étapes sont mises à jour afin de contenir les dates réelles qui ont été recueillies par le chauffeur.

Entre diverses étapes, on a un intervalle de temps entre l’arrivée et le prochain départ qui est calculé en fonction de la date prévue de la prochaine étape (date d’arrivée de l’étape courante – date de départ de l’étape suivante de ce contrat). L’interface d’interrogation de la base de données sera chargée de récupérer automatiquement ces informations en fonction des dates rentrées. Ceci pour établir la fiche conducteur qui sera, alors, en mesure de connaître le temps d’intervalle pour les différentes étapes.

Une information supplémentaire, permet de connaître la distance entre chaque lieu.

Dans la table lieu, la ville de départ pour une étape peut être la même que la ville d’arrivée (boucle, visite touristique de la ville…) mais, dans ce cas, l’adresse et donc l’identifiant du lieu seront obligatoirement différents.

Les étapes sont rattachées à un et un seul contrat, ainsi on a pas un modèle d’étapes mais que des occurrences d’étapes. Cela permet un historique des différentes étapes effectuées par un client. On a pas choisi d’effectuer des modèles d’étapes car les trajets contiennent des adresses précises et donc auraient été peu réutilisables.

La table commercial et Conducteur

Pour le personnel, les caractéristiques du contrat ne sont pas journalisées. On considère le dernier contrat en cours. Pour les conducteurs, la prime concerne l’année en cours. On ne gère pas les primes, ceci étant une demande explicite du client.


Le Modèle Logique Relationnel