[TYPO3-dev] New relational concept for personal data

Martin Kutschker masi-no at spam-typo3.org
Mon Jan 25 12:12:25 CET 2010


Dmitry Dulepov schrieb:
> Hi!
> 
> On 2010-01-25 12:29:14 +0200, JoH asenau said:
>> If we have the chance to introduce proper normalization to the TYPO3
>> database, this would simplify the use of real objects and increase the
>> overall performance as well.
> 
> Magento project thought the same. In the end they reverted from
> normalization to using a single table for many critical records.
> 
> Normalization or joining tables never improves performance. It is
> logically good thing to do but performance is always worse.

And the question is: do you need the address as a separate db-row/entity? Will you assign the same
address (without any tel. or URL !!!!) to different persons or companies? Or do you need to attach
more then one address to a company and it will be many more then your classic billing/shipping
address pair.

If so, a real address table makes sense. Otherwise it's fine to stick the address data within the
customer or person table. Just make sure the columns have the same name in all tables (possibly with
a prefix like "billing_").

My point is that it depends of the application and business needs if it makes sense to normalize
addresses or not. Using many tables will neither simplify anything nor will it make stuff faster.

But of course it's great when I write an extension that needs such a complex structure if I can
build on a "service" extension that provides it. Just don't force simple apps to use complicated
designs they don't need.

Masi




More information about the TYPO3-dev mailing list