doc/book/en/B0010-define-schema.en.txt
author Emile Anclin <emile.anclin@logilab.fr>
Wed, 01 Apr 2009 17:27:15 +0200
changeset 1204 79c80b5e71e6
parent 1163 232aef110a0a
child 1205 79d33f7db590
permissions -rw-r--r--
[doc] show full documentation depth

.. -*- coding: utf-8 -*-

Data model definition (*schema*)
================================

The schema is the core piece of a `CubicWeb` application as it defines
the data model handled. It is based on entity types that are either already
defined in the `CubicWeb` standard library; or more specific types, that 
`CubicWeb` expects to find in one or more Python files under the directory 
`schema`.

At this point, it is important to make clear the difference between
*relation type* and *relation definition*: a *relation type* is only a relation
name with potentially other additionnal properties (see XXXX), whereas a 
*relation definition* is a complete triplet 
"<subject entity type> <relation type> <object entity type>". 
A relation type could have been implied if none is related to a 
relation definition of the schema.


.. include:: B0011-schema-stdlib.en.txt
.. include:: B0012-schema-definition.en.txt