Memegoat LogoMemegoat

Modèle de Données

Structure et organisation des données

📊 Modèle de Données

Conceptuel (MCD)

Le Modèle Conceptuel de Données décrit les grandes entités du système et leurs relations métier, incluant la gestion des accès et la modération.

Logique (MLD)

Le Modèle Logique de Données précise les tables, les colonnes et les clés étrangères (FK).

Physique (MPD)

Le Modèle Physique de Données détaille l'implémentation spécifique pour PostgreSQL.

Sécurité et Chiffrement

  • Chiffrement PGP (Native) : Les colonnes email et two_factor_secret sont stockées au format bytea et chiffrées/déchiffrées via les fonctions pgp_sym_encrypt et pgp_sym_decrypt de PostgreSQL (via l'extension pgcrypto).
  • Hachage aveugle (Blind Indexing) : La colonne email_hash stocke un hash (SHA-256) de l'email pour permettre les recherches d'unicité et les recherches rapides sans déchiffrer la donnée.

Index et Optimisations

  • Index B-Tree systématiques sur toutes les clés étrangères (user_id, role_id, etc.).
  • Index sur deleted_at : Pour optimiser les requêtes excluant les données supprimées logiciellement.
  • Index unique sur email_hash et username.

Conformité RGPD

  • Soft Delete : Implémenté via deleted_at pour permettre le "droit à l'oubli" tout en conservant l'intégrité référentielle temporaire.
  • Purge Automatique : La colonne expires_at dans la table reports permet de programmer la suppression automatique des données de signalement après traitement.