Hi,
I am a co-writer and administrator of a, rather, large database (mysql, php, ajax). It started as a hobby, but now I work at the IT department. I didn't have training (yet) in dba etc.
I hear a lot of talk about normalisation of relational databases. Because of a few comment I got about my own database I started to read about normalisation. And the more I read the more questions I got.
I seems that normalisation is about reducing redundant data. But what is redundant..? Is it data that 'accidentally' is duplicated or is it data that you deliberately duplicate. I can imaging situations that you want to duplicate. is doing that 'de-normalising'?
I've also been reading about 'noSql'. A concept that does not have normalisation an schemas. Reading that made me think about something else.
Being first introduced in 1970, isn't normalisation an old concept? created in a time that computers were slow and didn't have enough calculating 'powers' to deal with large amounts of data. These days 50.000 records is considered normal and also considered a 'small' database. I can imagine that back in the 70's the situation whas a bit different and the need for normalisation therefore greater.
And the programming languages are also developing. With ajax you can dynamically update your database and perform select query's, also something that couldn't be done in the past.
And foreign keys. Why not, instaed of creating keys on database level, create dynamic keys with, for instance, php? Selecting a record and based on a field selecting an other record from a different tabel or database. Keeps you very flexible.
Maybe I don't fully understand normalisation yet. But if someone has some thoughts on the above I would gladly hear (read) it.