Orchard Database design

Topics: Core, Customizing Orchard, General, Writing modules
Jul 14, 2012 at 2:40 AM

orchard database has different design i need to know what is the concept name of orchard database design i need to know what are the principles of this design because i think it is a big major factor for building plugin architecture like orchard architecture

Jul 14, 2012 at 12:14 PM

Do you have any specific questions?

Jul 14, 2012 at 2:46 PM


what is the scientific concept name of orchard database normalization?

in orchard db there's no relation and there are content type table and content items table and version tables contains the data of items fields and each part has table related to content item by content_item_id as one to one relation

my question  "is what is the scientific concept name of orchard database normalization?"

Jul 16, 2012 at 10:59 PM

I don't know.

Jul 17, 2012 at 8:47 AM

@Khalifa_hassan: As for design: the table names are generated based on a simple convention: table names start with the name of the module that hosts the entity (the classes stored in the Models folder and end with Record), followed by the name of the entity class. I don't know if there is a scientific name for this convention, but what do you think of: "Modular Schema Definition Design Pattern' for a concept name.

Jul 18, 2012 at 4:55 AM

The Orchard database does not follow any normalization rules, as these are rules for relational databases. Orchard uses the Repository design pattern and persists data through nHibernate, an ORM library that uses SQL tables just for data storage. As a matter of fact, the Orchard database breaks all normalization rules. For example, the Settings column in the Settings_ContentPartFieldDefinitionRecord table breaks 1NF; it has repeating groups.

Jul 18, 2012 at 1:49 PM


@sfmskywalker thank you but i know orchard record naming convention but i asking for database design rules for design the database to be suitable for content parts and any part has record this record and each record merge data to content item by contentItemId it means any item has row in its part record with same primarykey


my questation is is this design way standard design and if it standard what is the name of it?

thank you everybody

Jul 23, 2012 at 12:18 PM

Not that I know of, although other CMS such as Drupal do it in a similar way.