RE: Database design
Hi Laz,
I've worked with some big databases, some probably as big as that one, but such big databases can be intimidating.
I think the most important issue is what makes logical sense to you. If the tables naturally break into coherent pieces that make sense to you and you will often use only one piece at a time, then it might make sense to split them apart. If you're going to use data from several of the pieces most of the time, then you may be better off keeping the tables together in their larger forms.
The same logic applies to splitting the database. If the pieces are logically separate and you will use them separately, then it makes sense to split them up. If you're going to use them together, then it probably makes sense to keep them together in the same database.
All that aside, the only other reason to split things up is for performance reasons. If a table has 200 fields and they are large fixed-size fields, then it may take a little time to rewrite its records. This doesn't matter as much if the fields are small or are stored as references. (For example, BLOB and some other large field types are not stored with the main record but are stored as pointers to another location.)
Even then, modern databases do a pretty good job of handling big tables and some other ways to improve performance in those cases use methods such as striping the table across multiple disks. The database has some capabilities that let you keep the table in one logical piece. If you break the database apart or split up the tables, then the database's optimization tools can't help you as much and you need to perform a lot of extra work yourself to make everything fit together.
So in summary, I think I'd keep everything together if it makes logical sense to you. If you discover there's a performance problem, I would look at the database's capabilities for improving performance: indexing, splitting tables across multiple disks, etc. Only as a last resort would I split the database or tables.
And be sure to use good database design techniques. Proper normalization helps split the unrelated pieces of the database apart and can greatly improve performance.
I hope that helps.
> thank you for two good books.
I'm glad you find them useful! Post reviews on Amazon or wherever you like to buy books.
> Do you have any DVD courses by any chance?
Sorry, I don't.
Best wishes,
|