[ic] database table redesign

Dan Browning interchange-users@icdevgroup.org
Fri Apr 4 21:58:01 2003


At 04:40 PM 4/4/2003 -0800, you wrote:
>>>  * Easy (e.g. storing the address information in 'transactions' allows the
>>>    'historical' information to stick around very easily).
>>
>>"storing the address information in 'transactions' " is also necessary to
>>keep order history, as Janothon pointed out in replying to the post cited
>>above (2002-July/023499.html)
>
>I wouldn't agree that it is necessary. You can store a transaction history 
>of addresses and such through a non-user updateable customer address book. 
>That is how my setup is for another ecommerce system I work on. It 
>involves a couple extra joins in queries but that is how a rdb is supposed 
>to work.

I'm sure David is trying to help, but as you said, normalized databases can 
be pretty easy for a competent DBA -- especially after you setup all the 
views, functions, etc. that you want.

 > storing the address information in 'transactions' allows the
 > 'historical' information to stick around very easily

In this case, *very* easily is easier than easily.  ;-)  But since "easy" 
is in the eye of the beholder, we only have to consider the second reason 
(I think) that it hasn't been done already: "supported by all db types".

Which is where a separate 3nf template would be nice (and that's where you 
come in, right?  ;-) ).

>>>>If anyone has any insight into how big a project this would be to really
>>>>clean up the table designs for optimial usage by an rdbms like
>>>>Oracle I would be interested in hearing from you.
>>
>>I would suggest you to get familiar with the business operation before
>>considering to re-design something.
>
>I am trying to decide if I want to use IC on a project. I am used to a 
>3-NF database and so saw the lack of it here as a drawback. This being 
>open source I was trying to see if this was a modification people were 
>interested in as well as myself.

You can use any database design tool that you are familiar with, even 
oracle's, and then tell IC to conform to that (there aren't any hard-coded 
SQL, table, or column references within the IC core).

-Dan

--

/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| Dan Browning, Kavod Technologies,      <dan.browning@kavod.com> |
| 6700 NE 162nd Ave, Suite 210, Vancouver, WA (360) 843-4074 x217 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/
Radioactive cats have 18 half-lives.