Version 6.4 release
[clsql.git] / doc / csql.xml
index b01abe132ff06aa2760b25f5bab98ec3ee76f671..f4944410282822326b347c3652938d440c5f78ab 100644 (file)
@@ -83,7 +83,7 @@
       <footnote>
        <para>
        <ulink
-        url="http://www.arsdigita.com/books/sql/data-modeling.html">
+        url="http://philip.greenspun.com/sql/data-modeling.html">
          <citetitle>Philip Greenspun's "SQL For Web Nerds" - Data
          Modeling</citetitle>
        </ulink>
@@ -250,7 +250,7 @@ mapped into a database).  They would be defined as follows:
 
   <listitem>
     <para>
-      <symbol>:column-</symbol> - A string which will be used as the
+      <symbol>:db-type</symbol> - A string which will be used as the
       type specifier for this slots column definition in the database.
       </para></listitem>
 
@@ -292,6 +292,17 @@ mapped into a database).  They would be defined as follows:
   <symbol>:base-table</symbol> option specifies what the table name
   for the view class will be when it is mapped into the database.
 </para>
+
+<para>
+  Another class option is <symbol>:normalizedp</symbol>, 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 <link linkend="def-view-class">
+  <function>def-view-class</function></link>.
+</para>
   </sect1>
 
 <sect1 id="csql-rel">
@@ -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.
 </para>
 
+<simplesect>
+  <title>Object Oriented Class Relations</title>
+
+  <para>
+    &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 <symbol>:normalizedp</symbol>
+    can be used to disable the default behaviour and have &clsql;
+    normalize the database schemas of inherited classes.
+  </para>
+  
+  <para>
+    See <link linkend="def-view-class"><function>def-view-class</function></link>
+    for more information.
+  </para>
+</simplesect>
 </sect1>
 
 <sect1 id="csql-creat">