Link to home
Create AccountLog in
Avatar of Victor Nares
Victor NaresFlag for United States of America

asked on

Database Developement Theory. One table with 500 columns vs 1000 individual Tables.

Thank you all in advance!

We are importing legacy data from 100's of tables. Those tables have very similar columns. In fact 35% or so of the column are the same columns that are actually capturing the same data type. Quick origin story on that, the legacy application has one table for each webform. Thus, over time, the deployment of 100s of webforms has lead to 100's of tables.

I want to clean this up. If I can. To that end, I read Sql Server 2016 can have a max of 2,147,483,647 objects (UDFs, stored procs, tables views, etc). Thus, I don't think we will run into issues on the sql side continuing to make a table for each webform. However, I get the feeling the JOIN to bring all the webform data together would be...epic.

I could spend some time consolidating all those tables into one, standardizing column headings to eliminate redundant columns and make unique ones where necessary. However, that would lead to a table with about 500 columns.

My feeling is that proper Normalization of the tables would produce one table in lieu of the current multi table structure. Was just looking for your thoughts before boiling down those tables.



thanks again in advance!
ASKER CERTIFIED SOLUTION
Avatar of Paul MacDonald
Paul MacDonald
Flag of United States of America image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
MySQL or SQL servers are RELATIONAL database DBMS platforms. Tables make sens in a relations DBMS if there are relations defined between them . The reason for relationships is to reduce data redundancy and at the same time to make the data well structured. If you have a bunch of tables with no relations between them that represent just web forms probably would be better to use a document database platform, or NoSQL, like  MongoDB.
The question is tagged as MySQL but I see now that you are mentioning the SQL(MS I assume) Server 2016. I think you should add the MS SQL tag.
Avatar of Victor Nares

ASKER

This is exactly the kind of response I was hoping for. I was looking at the extremes and your response involving intermediate solution is something I didn't see.

I'm working now to to find some commonality between the existing tables and should be able to consolidate them down to a more manageable number...about 5-10.

Thanks again.
Happy to help.  Thanks for the points.