I'm struggling to set up a logical model for the following spreadsheet:

Snapshot of data table (See a close-up of the table here.)

My problem is that it is not clear to me how to deal with the "gap" values where each gap (nominal, min, max) contains values (forces) from three different sources.

On the right-hand side you can see other forces coming from those three sources but they are not related to the gap - only to the profile which I believe won't let me create a Forces entity. So I was thinking about one gap entity with (length, min,max,nominal,SourceType,MinForce,MaxForce,NominalForce) but it doesn't look right since I will have repeating data in three rows for each profile. Or should I manage the different forces within each source?

Also have a look at the FL thickness values. This thickness is an attribute from an FL entity which can have more than one thickness value for a given profile which then changes the Build/Rebuild-Force values for LAB and CalcUnit

I've also left out some columns to not confuse you and myself even more. If I can find a solution for the gap problem I might be able to solve the rest on my own. Maybe it's the abstract data structure that confuses me.

Hope you can help me with some tips and ideas.


From what I understand of your spreadsheet and your description, this is the normalized logical ERD for your data:

Logical ERD

Now, based on how many GAP_CATEGORY records you have as a rule, and how many FORCE_SOURCE records you have, you might decide to do some denormalization. You have to decide what is easier to build, maintain and use and makes more sense in your application.

  • thanks for your advice. I would replace customer with profile and the FL thickness only belongs to two (Lab, CalcUnit) of the three sources I have. What is inside your GapCategory? The min, max, nominal values? I'm confused by the cardinality you used there.
    – TonyC
    Nov 12 '12 at 18:16
  • @TonyC - Re Gap Category: yes, from my reading of your chart you have three kinds of gap measurements (or stats) and each gap measurement has a force value from each of three sources. The point of GAP_CATEGORY (and of FORCE_SOURCE for that matter) is to provide a more or less static "lookup table" that includes your column headers and anything else related to those entities, assuming there is anything else.
    – Joel Brown
    Nov 12 '12 at 19:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.