Document database structure
The Kentico database stores documents (nodes in the content tree of websites) in several joined tables:
Database table |
Description |
CMS_Tree |
Stores:
Contains only one record for each document, regardless of the number of language versions. The tables does not store any versioned data. |
CMS_Document |
Stores:
May contain multiple records per document, one for each language version. Some of the document columns are versioned. |
Coupled data tables |
Stores the fields of individual document types. For example, the News document type has the CONTENT_News coupled table with the columns defined for news documents, such as NewsTitle, NewsSummary, NewsText.
|
Document attachments and versions
Database table |
Description |
CMS_Attachment |
Stores files uploaded to the database as document attachments. |
CMS_VersionHistory |
Stores document 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 document versions. The main purpose of this table is to avoid redundancy for document versions that use the same attachments. When a document 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 document versions and their document attachments. |
Document relationships
Database table |
Description |
CMS_Relationship |
Stores records representing relationships between two documents. |
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. |