Search code examples
phpmysqlsqldatabaseforum

Why forums database are not in 3rd NF?


I was taking a look at some important forums such as SMF Forums, PhpBB, or VBulleting ones and i realized they are not in 3rd FN.

They have many NULL fiels, for example, in an SMF forum a member row can have all of this columns to NULL:

pm_ignore_list, messageLabels, personalText, websiteTitle, websiteUrl, location, ICQ, AIM, YIM, MSN, timeFormat, userTitle, notifyAnnouncements, secretQuestion, secretAnswer, validation_code, additionalGroups, smileySet

So... lets say 18 fields which can be NULL in any ROW of the table. That's not 3rd NF...

Why they do it? I am sure they know much about BD... Thanks.


Solution

  • The number one reason for denormalization is performance, which is a notorious problem with many discussion forums.

    Originally SQL was not designed to store hierarchical data easily, and there are many less-than optimal schema designs trying to work around this limitation.