Notre modèle de données s'appuie sur le SGBDR PostgreSQL. Il s'agit de décrire ici la structure tabulaire du modèle est les relations qui lient les diverses entités de cette structure. Comme l'analyseur est le seul bloc fonctionnel autorisé à y accéder, la conception du modèle dépend fortement de ce bloc fonctionnel et de ses inetractions avec les autres blocs comme décrit dans les spécifications de l'archiveur.
Le modèle de données imaginé est le suivant :
Dans ce modèle les colonnes c_email, c_oldfrom, c_newfrom,
c_to, c_cc et c_bcc, lorsqu'elles ont un type texte,
contiennent des adresses courriel sans le nom d'affichage (displayname).
Le nom d'affichage peut être précisé dans la table t_display.
Les premiers modèles conçus référençaient les adresses courriels dans une table externe.
Toutefois, avec la recherche d'anonymat de plsu en plus fréquente, les adresses courriel,
si elles demeurent uniques, sont de plus en plus volatiles et donc changeantes.
Les conserver dans une structure dédiée afin d'établir une sorte de liste de contacts n'a pas vraiment
d'intérêt et il est toujours possible de la reconstituer en interrogenat les tables t_archive et
t_redirected.+
De ce schéma on déduit le script SQL de création du modèle dans sa globalité. Il est téléchargeable via ce lien et peut être visualisé ici.
ATTENTION : si vous enlevez les commentaire devant les instructions SQL
DROP ce script détruit toute la structure antérieure.
Il ne doit être utilisé en production qu'une seule fois et avec un compte DBA.
Notez que nous maintenons dans la table t_attachment les pièces jointes extraites des messages.
Cela évite de repasser par l'analyse des courriels pour récupérer une ou plusieurs pièces jointes,
ce qui devrait améliorer sensiblement les performances lorsque l'on s'intéresse principalement à elles.