I was going through the database schema of Tridion Broker database. Is there any specific reason for PAGE_ID in PAGE_CONTENT table not being a foreign associated to ITEM_REFERENCE_ID in PAGE table. As I believe it will always be a one to one relationship.

2 Answers 2


In general, the CD database design is focused on performance rather than normalization or data integrity. Foreign key constraints are great for integrity, but come at a cost (insert/update/delete performance).


The data model of any of the SDL Tridion databases is not open or public, so you should never try (or need) to access these databases directly.

To access content from the Broker, you really should use the Content Delivery APIs. Since any upgrade might change the data model of the Broker database (or possibly even remove it all together).

  • I agree with you and already faced the situation while migrating from R5 to 2011 SP1 but was curious for this data model I mean whether it was intentional(since page is also of type item like other entities) or just like that. Apr 1, 2015 at 14:19
  • Hi Bart, i had an issue with XPM Editing of a page where some portion of it is dynamic. After finish editing, page refreshes and XPM ribbon bar gets disabled (hanged). Also, the content on the page was too old (5 versions old content). I found that Page_content table row for this page was not updating on publishing or unpublishing of page.. When I removed that row from the database XPM editing is running fine.. Can you please help me out in understanding when Page_content table gets updated? Apr 30, 2015 at 5:22
  • This page was earlier having all CPs as static (embedded on page), but then I updated some of the CPs to be dynamic. Apr 30, 2015 at 5:23

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.