doc/book/en/B0010-define-schema.en.txt
author Sandrine Ribeau <sandrine.ribeau@logilab.fr>
Wed, 22 Apr 2009 21:43:06 -0700
changeset 1440 4fc48f2a1748
parent 1205 79d33f7db590
permissions -rw-r--r--
[doc] Typos and minor changes.

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

Data model definition: the *schema*
===================================

The **schema** is the core piece of a `CubicWeb` application as it defines
the handled data model. 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