I would like to know why there are no relationships been built between tables in Drupal Database.

I was just going through the Drupal database structure and wondering why haven't any relationship been created.

any explanation would be appreciated. one of the main thing that i was reminded was that, mysql database engines could be a limitation.

1 Answer 1


Quite a vast topic among many reasons:

  • MyISAM doesn't support foreigns keys and Drupal used this as a default engine until D7 (which now use InnoDB as default if available).
  • Schema now support foreign keys so you can benefit from this in documentation.
  • Enforcing FK in Drupal would be quite a challenge (Damien Tournoud - one of Drupal most prolific core contributor - stated: Drupal is far from being able to use foreign keys properly).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.