Is it better to have One Table or More?

6. March 2009

In table design we often ask the above question. My answer is: Yes it is usually better to have more than one table. If you are just starting your database I would suggest the multiple table route.

Your Database may contain names, addresses, companies and Company products if so then it would be beneficial to have multiple tables. One table to contain “Names”, a Second for “Companies”, a third for “Location”, a fourth for “Products”, and a fifth that ties Companies and products together by an ID field, you might call it “Company_Production” or "Attributes". If these were under a single table with several names per company and several products per company with companies residing in multiple states you would have a monster of a table that would take forever to process and contain multitudes of redundancies. By splitting it into multiple tables you can eliminate redundancies and make it more flexible and easier to maintain.

With multiple tables you can link them all to get at all your data if desired in a single query; you could also link two or three tables in a query to see different aspects and summaries. This would likely speed up the process in larger databases with hundreds of thousands of records.

Multiple tables also allows you to easily add other tables in the same fashion if you find you need to. In MS Access this means you could, if you choose, house each table in an individual mdb file and then link to them via a master mdb file effectively expanding the file size limit in MS Access. Containing the data all in one table would require you to have one mdb file thus limiting you to that files size limit. A few million records could effectively cause you problems in a one table database. That is if you are willing to link tables in MS Access. Of course you could do the same using SQL as a back end then linking the SQL tables via ODBC into MS Access as a front end. Either way you would still be linking Tables in MS Access if you have a huge pool of data and you require MS Access as a front end.

So is it better to have One Table or More? In short, yes.

Tags:

MS Access, Reference , , , ,