X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=doc%2Fcsql.xml;h=f4944410282822326b347c3652938d440c5f78ab;hb=0b757e652eda05d8d824438d925665f17e764d93;hp=272c62536b0674330ef0e90f4cfd0bd74c741ab5;hpb=81456a9d051332aa728013a819fe1c38b6be7529;p=clsql.git diff --git a/doc/csql.xml b/doc/csql.xml index 272c625..f494441 100644 --- a/doc/csql.xml +++ b/doc/csql.xml @@ -250,7 +250,7 @@ mapped into a database). They would be defined as follows: - :column- - A string which will be used as the + :db-type - A string which will be used as the type specifier for this slots column definition in the database. @@ -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. + +