Solved

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

Posted on 2016-10-17
5
112 Views
Last Modified: 2016-10-18
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!
0
Comment
Question by:Victor Nares
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 34

Accepted Solution

by:
Paul MacDonald earned 500 total points
ID: 41847040
I would look at reducing the number of tables to the bare minimum, but not necessarily shoot for a single table.  If the data would be normalized through the use of a single table, go for it, but it probably makes sense to have a handful (or double-handful) of tables that you do do joins on when you need to.
2
 
LVL 26

Expert Comment

by:Zberteoc
ID: 41847099
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.
0
 
LVL 26

Expert Comment

by:Zberteoc
ID: 41847197
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.
0
 

Author Closing Comment

by:Victor Nares
ID: 41848463
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.
0
 
LVL 34

Expert Comment

by:Paul MacDonald
ID: 41849162
Happy to help.  Thanks for the points.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains all about SQL Server Piecemeal Restore with examples in step by step manner.
Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. This article shows how to create one of these functions to write directly to Azure Table Storage.
Video by: Steve
Using examples as well as descriptions, step through each of the common simple join types, explaining differences in syntax, differences in expected outputs and showing how the queries run along with the actual outputs based upon a simple set of dem…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

756 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question