Q&A
When should I normalize a database?
The best time to normalize is immediately after you have worked out what tables you need to model the business need.
It's possible to normalize the database later in the process, after application development has started and even after the system is functioning. However, doing changes later in the development process, especially when there's live data in your tables, requires more effort because you will then have to modify application code and migrate data, which will be far more complicated.
Nevertheless, the normalized model you achieve at this stage will often be refined, especially if you pay careful consideration to performance, which can lead to you denormalizing data or using other tactics to improve speed (or minimize storage) in a production system.
The outline here seems rather brief. Is it really so simple?
The purpose of this book is to teach you primarily about MySQL. Tutorials on modeling business needs and designing databases can fill entire books, even study courses!
Is there a limit on how many business objects, processes, and rules I can define?
If you're trying to model a complex business activity, there will be many processes, objects, and rules. The rules, in particular, can be extensive, ranging from rules that are clearly stated to those that are common sense. It's up to you to establish those that are salient and matter to the business model, and to separate out those that have no influence.