Relations dans une base de données Dotclear 2

Il peut être utile de connaître un peu plus en détail les différentes relations qui existent entre les tables d’une installation Dotclear 2 standard — je passe sous silence les tables qui peuvent être rajoutées par certains plugins. Voilà un schéma de la structure de la base de données[1] :

dc2_db.png

Cliquez sur le schéma pour zoomer.

Les relations sont indiquées par des flèches pleines lorsque la suppression d’une clé étrangère provoque la suppression des enregistrements liés dans les tables en relation ou creuses lorsque la suppression d’une clé étrangère provoque sa remise à null dans les tables en relation, ce qui est le cas pour l’identificateur du blog par défaut d’un utilisateur et pour l’identificateur de la catégorie d’un billet.

Un cas où connaître ces dépendances peut s’avérer utile est celui où, lorsque la base de données d’un blog est relativement grosse, il faut déplacer les tables une à une sur un autre serveur. Pour éviter les erreurs d’importation liées à la gestion des clés étrangères il faut importer les tables dans un ordre précis que je détaille ci-après :

  1. Première liste (en vert sur le schéma) :
    • dc_blog
  2. Deuxième liste (en orange) :
    • dc_user
    • dc_category
    • dc_link
    • dc_setting
    • dc_spamrule
  3. Troisième liste (en jaune) :
    • dc_permissions
    • dc_media
    • dc_post
  4. Quatrième liste (en bleu) :
    • dc_post_media
    • dc_comment
    • dc_ping
    • dc_meta
  5. Cinquième et dernière liste[2] (en gris) :
    • dc_spam_token
    • dc_version
    • dc_log
    • dc_session

Notez que l’ordre des tables dans chacune des listes n’est pas important d’une part et que le préfixe utilisé ici, dc, dépend de votre installation.

Notes

[1] J’ai volontairement limité la liste des champs des différentes tables aux clés utilisées pour les relations. En gras la clé définie dans la table, sinon ce sont des clés étrangères.

[2] Ces tables sont complètement indépendantes des autres tables de la base.

Ajouter un commentaire

Les champs suivis d'un * sont obligatoires

Les commentaires peuvent être formatés en utilisant la syntaxe Markdown Extra.

Ajouter un rétrolien

URL de rétrolien : https://open-time.net/trackback/3431

Haut de page