Page database structure
The Kentico database stores pages (nodes in the content tree of websites) in several joined tables:
Database table | Description |
---|---|
CMS_Tree _______________________ __________________ | Stores:
Contains only one record for each page, regardless of the number of language versions. The tables does not store any versioned data. |
CMS_Document | Stores:
May contain multiple records per page, one for each language version. Some of the page columns are versioned. |
Coupled data tables | Stores the fields of individual page types. For example, the News page type has the CONTENT_News coupled table with the columns defined for news pages, such as NewsTitle, NewsSummary, NewsText.
|
Page attachments and versions
Database table | Description |
---|---|
CMS_Attachment | Stores files uploaded to the database as page attachments. |
CMS_VersionHistory _______________________ | Stores page versions, including older versions and versions that are being edited. When a version is published, the system updates the corresponding records in the CMS_Tree and CMS_Document tables using the data of the version record. |
CMS_AttachmentHistory | Stores attachments of page versions. The main purpose of this table is to avoid redundancy for page versions that use the same attachments. When a page version is published, the system updates the records in the CMS_Attachment table using the data of the version record. |
CMS_VersionAttachment | Stores relationships between page versions and their page attachments. |
Page relationships
Database table | Description |
---|---|
CMS_Relationship | Stores records representing relationships between two pages. |
CMS_RelationshipName | Stores the relationship names (types) defined in the system. |
CMS_RelationshipNameSite | Binding table that connects relationship names to websites. Each entry indicates that a relationship can be used on a given site. |