Uhm... the 'proper' rules for normalization are based on quite different criteria.
The fact that some data is not always used is not one of them. For ex: if you have an address book app, then you might want to list only the names here, and the names plus addresses there. Some people have mobile phones, others do not. Does that mean I'd have to split the addresses and mobile-phone fields from the main table? No it doesn't 🙂
If you don't use a field in a table, you leave it out of your SELECT statement, and the database will happily skip it.
You example of 'the database always reads X characters, even if they are all blank' just makes that better, because the database already knows how many bytes to skip.
And if you use an index, the database can jump straight to the parts it does need, coimpletely ignoring whatever is 'not used'.
The only reasons for normalization are to prevent redundant data, to make the tables sane, and to enforce data consistency.
That means, they contain no data that is already stored elsewhere, they contain no data that is a product of other data already in the same record (derived data), and 'shared' data always keeps the same value. (if the options for the content change, they change wherever the option is used)
For example, if I have a news item, this item must be written by someone.
Fastest method: add a column to hold the actual author's name.
Now the author changes his name (for whatever reason) Now you have to manually go through your database and change the old name to the new name wherever the old name was used. If the design is normalized, all the authors are listed in a seperate table, and the news item only points to authorid=2.
Changing the name of the author with id=2 automatically changes the author's name for all the newsitems wrote.
Normalized tables are not always the fastest, but in the long run, they are the ones that you have the fewest problems with.
Because a normalized design must be normalized. If you don't normalize in the database, you will have to do it in the script, and that is a lot more difficult.