I want to define tables as follows:
1) extend t2_person with additional fields some of which are
references to other tables (many people work in "department" x?)
2) all tables to have created_by and modified_by fields (which
themselves refer to t2_person)

The problem is that to satisfy 1) I must define "department" before
t2_person.  To satisfy 2) I must define t2_person before
"department".  If I import T2 before "department" to get a reference
to t2_person, the re-definition of t2_person throws "table already
defined".

Is the only solution to define my own "person" table that contains the
reference to "department" and a reference to t2_person?   ...and then
import T2 (and t2_person), define "define" then define my "person".

If the answer is yes then is that seen as "better design" or a "work-
around"?

A second problem relates to the desire to navigate efficiently through
a database in more than one direction. In the above example, let
"person" be a bank account holder and the "other table" be a bank
account.  Keeping it simple, assume it is a one-to-many relationship,
one-or-more accounts each owned by 1 account holder. If the only
reference is from person/account holder to account then a search to
see who owns account 12345678 is costly.  If the only reference is
from account to person/account holder then the search for "accounts
for this account holder" is costly.

However, in web2py, I cannot define an account with a reference to
person/account holder and a person/account holder with a reference to
account as one of the other definition fails with an undefined term.

I believe I have to define a third table: person, account and
account_holder to overcome this.  Is that correct?

It seems the bottom-line is that the database design is constrained by
the fact that the table definitions are validated by python in a
single pass.  If that is true it seems unfortunate.

I would be very happy if someone can show me the error of my ways:
either the way to define the above tables or explain why I shouldn't
want to.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to