[Modeling-cvs] ProjectModeling/Modeling/doc/UserGuide DefiningaModel.tex,1.30,1.31
Status: Abandoned
Brought to you by:
sbigaret
From: <sbi...@us...> - 2003-08-30 15:03:28
|
Update of /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide In directory sc8-pr-cvs1:/tmp/cvs-serv24042/Modeling/doc/UserGuide Modified Files: DefiningaModel.tex Log Message: Reorganized PyModel / Relationships doc. Index: DefiningaModel.tex =================================================================== RCS file: /cvsroot/modeling/ProjectModeling/Modeling/doc/UserGuide/DefiningaModel.tex,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** DefiningaModel.tex 30 Aug 2003 14:42:33 -0000 1.30 --- DefiningaModel.tex 30 Aug 2003 15:03:25 -0000 1.31 *************** *** 1020,1025 **** %% ! \subsection{BaseRelationship\label{pymodel-relationship-props}} A \class{BaseRelationship} describes how two entities relate to each other. It has the following attributes: --- 1020,1050 ---- %% ! \subsection{Relationship\label{pymodel-relationship-props}} ! ! Relationships can be declared in two different manners: ! ! \begin{itemize} ! ! \item you can declare \class{RToOne} and \class{RToMany} ! relationships, joining an entity to an other one. Each of these objects ! defines a directional relationship, from a source entity (this is the entity ! where the relationship is defined) to a destination entity (pointed to by ! the object's field \code{destination}, see below). ! ! \item Instead of declaring two directional relationships, each being the ! inverse of the other, you can also declare a object \class{Association} ! which gives you the opportunity to declare a relationship and its inverse in ! a signle python statement. ! ! \end{itemize} ! ! In the next section, we'll see the defaults of \class{BaseRelationship}; while ! it's not a pymodel component \emph{per se}, it defines the defaults for all ! other component defining relationships: \class{RToOne} ! (cf.\ref{pymodel-relationship-props-toone}), ! \class{RToMany}((cf.\ref{pymodel-relationship-props-toone}) and ! \class{Association} (cf.\ref{pymodel-association-props}). + \subsubsection{BaseRelationship\label{pymodel-relationship-props-base-relationship}} A \class{BaseRelationship} describes how two entities relate to each other. It has the following attributes: *************** *** 1054,1057 **** --- 1079,1092 ---- own defaults (and override some of them). + \paragraph{Join semantic\label{pymodel-relationship-props-join-semantic}} + + The possible values for the attribute \code{joinSemantic}, and their respective + meaning are: + \begin{itemize} + \item{}\code{0}: Inner join + \item{}\code{1}: Full outer join + \item{}\code{2}: Left outer join + \item{}\code{3}: Right outer join + \end{itemize} %% *************** *** 1067,1075 **** should not be changed} \lineiv{multiplicity}{sequence}{\code{[0,1]}}{~} ! \lineiv{joinSemantic}{\code{~}}{~}{~} \end{longtableiv} (All other defaults are \class{BaseRelationship}'s ones, ! cf.\ref{pymodel-relationship-props}) Minimally, a \class{RToOne} needs a \code{name} and a the name of the --- 1102,1111 ---- should not be changed} \lineiv{multiplicity}{sequence}{\code{[0,1]}}{~} ! \lineiv{joinSemantic}{\code{int}}{\code{0}}{see ! \ref{pymodel-relationship-props-join-semantic} for possible values} \end{longtableiv} (All other defaults are \class{BaseRelationship}'s ones, ! cf.\ref{pymodel-relationship-props-base-relationship}) Minimally, a \class{RToOne} needs a \code{name} and a the name of the *************** *** 1130,1139 **** mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it should not be changed} ! \lineiv{multiplicity}{\code{}}{}{} ! \lineiv{joinSemantic}{\code{}}{}{} \end{longtableiv} (All other defaults are \class{BaseRelationship}'s ones, ! cf.\ref{pymodel-relationship-props}) Minimally, a \class{RToMany} needs a \code{name} and a the name of the --- 1166,1177 ---- mandatory arguments when instanciating a \class{APrimaryKey}. Once set, it should not be changed} ! \lineiv{multiplicity}{sequence}{\code{[0, None]}}{\code{None} means ! \emph{unconstrained}: no upper limit} ! \lineiv{joinSemantic}{\code{int}}{\code{0}}{see ! \ref{pymodel-relationship-props-join-semantic} for possible values} \end{longtableiv} (All other defaults are \class{BaseRelationship}'s ones, ! cf.\ref{pymodel-relationship-props-base-relationship}) Minimally, a \class{RToMany} needs a \code{name} and a the name of the |