loading table of contents...

4.3.1. The Database Schema

In this section, you will find a description of the database schema used by the CoreMedia CMS system. The Content Server analyzes the content types file and automatically creates the database schema from it.

Resource tables

The following tables hold information concerning resources:

  • <documenttypename>: This table has the name of the corresponding content type.

  • resources: Holds information for each resource existing in the CoreMedia system.

Property tables

The following tables hold information concerning properties:

  • blobs: Connects blobdata with the content type table.

  • blobdata: Contains the actual blobs content in a LONG RAW column.

  • texts: Connects sgmldata and sgmltext with the content type table.

  • sgmldata: Contains markup data of an XML property.

  • sgmltext: Contains actual text data of an XML property.

  • linklist: Connects the content item which links with the item to which it links.

User Management

The following tables hold information for the user management:

  • cmusers: Contains the user data.

  • cmgroups: Contains the group data.

  • cmusergroup: Connects users with groups.

  • cmrules: Contains the rules of user groups.

The <documenttypename> table

The Content Sever creates the following columns for each property of the described type. Properties which are inherited are defined in the parent content type table and in all inheriting content type tables. Therefore, you have to change the table of the parent type and the tables of each subtype if you change a property of the parent type.

  • IntProperty: Column of type NUMBER(10) with the name of the property.

  • StringProperty: Column of type VARCHAR(<UTF-8 length>). The UTF-8 length results from the length defined via the length attribute of the StringProperty multiplied by an UTF-8 weight. By default, this factor is three. See Section 4.1, “Properties” for a description of the UTF-8 length.

  • DateProperty: Column of type DATE with the name of the property and another column of type VARCHAR(30) with the name <PropertyName>_tz.

In addition, each content type table contains the following system attributes:

Attribute Description
ID_ Unique ID of the content item. Attribute is never null.
VERSION_ Version of the content item. Attribute is never null.
ISAPPROVED_ Marker if this version of the content item is approved ("1") or not ("0").
ISPUBLISHED_ Marker if this version of the content item is published ("1") or not ("0").
EDITORID_ User ID of the editor.
APPROVERID_ User ID of the approver.
PUBLISHERID_ User ID of the publisher.
EDITIONDATE_ Date of the last change.
APPROVALDATE_ Date of the approval.
PUBLICATIONDATE_ Date of the publication

Table 4.7. System attributes of the content type table


The primary key of the content type tables consists of the ID_ and VERSION_ columns. There exists a foreign key connection to the resources table via the ID_ column.

The blobdata table

The primary key of the blobdata table consists of the following properties:

  • DocumentId: ID of the content item which contains the blob.

  • DocumentVersion: Version of the content item which contains the blob.

  • PropertyName: Name of the property which contains the blob.

The linklists table

The primary key of the linklists table consists of the following properties:

  • SourceDocument: ID of the content item which links to the other document.

  • SourceVersion: Version of the content item which links to the other document.

  • PropertyName: Name of the property which contains the link list.

  • LinkIndex: Position of the link in the link list.