doc/book/en/B0010-define-schema.en.txt
changeset 1808 aa09e20dd8c0
parent 1693 49075f57cf2c
parent 1807 6d541c610165
child 1810 e95e876be17c
equal deleted inserted replaced
1693:49075f57cf2c 1808:aa09e20dd8c0
     1 .. -*- coding: utf-8 -*-
       
     2 
       
     3 Data model definition: the *schema*
       
     4 ===================================
       
     5 
       
     6 The **schema** is the core piece of a `CubicWeb` application as it defines
       
     7 the handled data model. It is based on entity types that are either already
       
     8 defined in the `CubicWeb` standard library; or more specific types, that 
       
     9 `CubicWeb` expects to find in one or more Python files under the directory 
       
    10 `schema`.
       
    11 
       
    12 At this point, it is important to make clear the difference between
       
    13 *relation type* and *relation definition*: a *relation type* is only a relation
       
    14 name with potentially other additionnal properties (see XXXX), whereas a 
       
    15 *relation definition* is a complete triplet 
       
    16 "<subject entity type> <relation type> <object entity type>". 
       
    17 A relation type could have been implied if none is related to a 
       
    18 relation definition of the schema.
       
    19 
       
    20 
       
    21 .. include:: B0011-schema-stdlib.en.txt
       
    22 .. include:: B0012-schema-definition.en.txt
       
    23