X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fcsql.xml;h=f4944410282822326b347c3652938d440c5f78ab;hb=92cad9a9410b8e481987b90cc4f5edd8cc85e7ce;hp=f84dd50691c54b8e748cd2f1ef344caeda7d9df8;hpb=fd2493718d0e1114fcbe3dd578dab658ea383e81;p=clsql.git diff --git a/doc/csql.xml b/doc/csql.xml index f84dd50..f494441 100644 --- a/doc/csql.xml +++ b/doc/csql.xml @@ -292,6 +292,17 @@ mapped into a database). They would be defined as follows: :base-table option specifies what the table name for the view class will be when it is mapped into the database. + + + Another class option is :normalizedp, which signals + &clsql; to use a normalized schema for the mapping from slots to + &sql; columns. By default &clsql; includes all the slots of a parent + class that map to &sql; columns into the child class. This option + tells &clsql; to normalize the schema, so that a join is done on the + primary keys of the concerned tables to get a complete column set + for the classes. For more information, see + def-view-class. + @@ -454,6 +465,24 @@ There are other :join-info options available in &clsql;, but we will save those till we get to the many-to-many relation examples. + + Object Oriented Class Relations + + + &clsql; provides an Object Oriented Data Definition Language, which + provides a mapping from &sql; tables to CLOS objects. By default class + inheritance is handled by including all the columns from parent + classes into the child class. This means your database schema becomes + very much denormalized. The class option :normalizedp + can be used to disable the default behaviour and have &clsql; + normalize the database schemas of inherited classes. + + + + See def-view-class + for more information. + +