[Typo3-dev] Future of Typo3 - Aftermath

Michael Zedeler michael at zedeler.dk
Sun Nov 9 01:10:17 CET 2003


Daniel Brün wrote:

> [cut]
> Here's just the single point of the discussion that I would like to 
> comment on:
> Basically, DB-normalisation is a great thing.
> It makes a huge DB-system very, very modular and smooth.
> 
> BUT: With data spread over many tables, lots of joins are necessary to 
> collect a set of data that actually belongs together, thus definitely 
> impairing performance. Even though normalisation is great in science, in 
> daily use applications it's not always the way to go.

I do not think that the way typo3 uses the database is that bad. The 
rather simple "lets just extend some tables" idea makes it easy to 
create extensions without too much hassle. One colud consider whether 
certain extensions should be rewritten to use separate tables rather 
than just extending existing ones, but the general idea as such isn't 
that bad at all.

When considering the fact that most databases today does not consume 
much space on fields with null values, I think it is a fair trade-off at 
the moment. If this practise were to be changed, a new layer will have 
to be put on top of the database that gives extension developers the 
same ease of use as now, but with a nicer database layout below.

My prime concern so far with regard to database usage is limited to the 
separation of front end vs. back end users and groups. Four tables that 
have been "over-normalized". Thats all.

> My suggestion is to find a decent way between those two paradigms (one 
> huge table against a couple of normalized ones).
> I don't think it makes any sense to completely normalize the system 
> down, but maybe one could split some tables where it makes sense?

Agree. One could ask whether it is a good idea that the 
"newloginbox"-module must extend the tt_content table with 11 fields(!) 
- especially since their values are very likely to be repeated wherever 
they are not null. In practise this will annoy the user too, since 
he/she has to enter the same values every place he or she adds a login 
box. This is an example of something that should be normalized to 4NF.

> In the content-table a couple of rows come into my mind, that could 
> better be placed in some kind of attribute-table containing only 
> key-value pairs. just a thought.

I think that may easilly lead to many people resorting to such place for 
data storage when it is very far from optimal.

Regards,

Michael.





More information about the TYPO3-dev mailing list