MajP
You've got your good things, and you've got mine.
- Local time
- Today, 04:17
- Joined
- May 21, 2018
- Messages
- 9,934
I am not sure if normalization is really the problem as much as consolidation if that is a term.MajP normalize the tables
For example you commonly see people build a table of Customers, Suppliers, etc.. Or a different table for different types of contacts. Sometimes these tables often have the same fields or nearly identical fields. FirstName, LastName, CompanyID, Street, City, State, Zip .....
And that is perfectly Normal to have 2 tables. But as a developer do I really want to maintain 2 or more table, if I can consolidate into 1? Although the OP prides himself in creating as many tables as possible, everyone else in the world wants to limit the number of tables to build in maintain. When possible we add a ContactType field to the table (Suppier, Customer, ...) and now there is one table.
Same with Expenses. I can have groceries, gasandoil, insurance etc. And that is probably normal but can this be consolidated into a single table of expenses. Can I genericize certain things to make it fit into one table? Consolidation is harder because you have to really try to decide what to do if different entities have unique attributes and can you design around that. Are Doctors and Dentist that different (in sense of DB)? TblMedicalProvider maybe?
The big difference is that most of us will look for opportunities to consolidate because we know the time and effort savings in design and maintenance. We know that we do not get extra credit for having lots of tables. The OP thinks somehow that there is something impressive about creating more of everything, when in fact everyone knows it is far harder and more skilled to create less. We understand the downstream time and effort savings.
You can actually go to extremes and possibly do this entire DB in 5 forms.
Dynamic/reusable forms
New to this forum, triggered by a thread, but alas I cannot find that thread. So I will sketch my situation. Since long I work on generalization of code to make programs more powerful and robust. Code must be as structured as normalized data. This has resulted in automation of many of the...
www.access-programmers.co.uk
There are times that I might denormalize if I know the maintenance and time savings are worth it. For example the Entity Attribute Value model is probably not a normal design, but can save a huge amount of time and resources in the correct application.
record value in table when one of many buttons are clicked
That's exactly what I did with my tblParts, tblFinalProducts, and tblAssemblyComponents. Exactly that.....and it works great. I get that. Thank you for the effort of showing me a "map." Works well for me. If that is what we're all talking about then it may be conceivable to incorporate that...
www.access-programmers.co.uk
I think the OP really does not get it. The OP seems to somehow think we are impressed by the size and scale of the project. He brags about this, which to most of us is like bragging about how many times you have gone out drinking and driving and have not been caught. It is cringy. In reality it is the complete opposite. We are sad for the time and effort wasted and see this as not being impressive but a disaster and waste of time. That is why so many people are trying to help because they see the train wreck and could save the OP an immeasurable amount of effort.
A beginner can make a huge inefficient db, but it takes knowledge to make a compact and efficient one. When I write code or build a db I am embarrassed if it is long and hard for the user to understand. If it is compact, easy to follow, flexible, reusable, and efficient then I am happy.