Bonjour,
je galère toujours autant en conception et malgré les méthodes et les diagrammes je ne trouve pas les choses très triviales
je dois concevoir une application qui sera une sorte d'ETL qui importera les données de différentes base de données via des API pour les mettre à disposition sous forme csv.
Ces imports seront réalisés automatiquement chaque jour sous forme de tâche programmée.
je développe en Python/Django.
J'ai identifié les différentes entités :
- user : la table des utilisateurs du module d'authentification natif du framework Django
- profil : qui me permet d'ajouter des informations de profil à mes utilisateurs
- country, region et site : pour localiser les utilisateurs dans des sites de recherches
- Study : enregistrement d'une étude sur laquelle travaille un utilisateur
- Database : les bases de données pour une étude données
- Table : les différentes tables qui compose une base de données
Un utilisateur a un profil et un seul.
Un utilisateur appartient à un site et un seul.
Un pays est composé de régions (au moins une) elles-même composées de sites (au moins un).
Une étude peut avoir plusieurs bases de données (au moins une) et chaque base de données est composée d'au moins une table.
Un utilisateur peut travailler sur plusieurs étude ou aucune (au moment de la création de son compte).
Plusieurs utilisateurs peuvent travailler sur la même étude.
Un utilisateur peut télécharger les données de aucune ou plusieurs tables.
Plusieurs utilisateurs peuvent télécharger les mêmes données/tables.
La gestion des droits de téléchargement se fait au niveau d'une table et par utilisateur.
Un utilisateur ne peut télécharger les données d'une table uniquement si cette table appartient à une base de données d'une étude sur laquelle il travaille.
Ci-dessous le modèle entité-association que j'ai produit.
d'avance merci pour vos conseils.
![]()
Partager