JMongi
Active member
- Local time
- Yesterday, 23:17
- Joined
- Jan 6, 2021
- Messages
- 802
I might be overthinking this, but my normalization/database thinking patterns keep atrophying between opportunities to work on this project. My apologies in advance if this is a no-brainer.
One of the struggles is capturing/normalizing existing data while simultaneously setting up the structure for the future (better way) of capturing the data. I need to be able to use the legacy data while we begin to populate the newer information. I'll give an example.
We have equipment with industrial engines mounted on them. Our legacy data lists the manufacturer and model number of the engine for all such equipment we've ever produced. Useful data that's used frequently. This data is also duplicative from a database standpoint (i.e. the same mfg/model can be used on many pieces of equipment). So, on its own, there would be a table of these mfg/model combos and use that table to populate the "engine" field in another table. All simple. Something like:
tblGenericEngine
geID
EngineManuf
EngineModel
But, we would really like to incorporate the individual engine specifics (serial numbers and the asset management that goes with it). That is obviously a more detailed table of info. How do I go about referencing two different lists (generic engine list and specific engine list) so that a piece of equipment can select either a generic engine id or a specific engine id. The other wrinkle is that while a generic engine could be used on multiple records of equipment, there would only ever be ONE specific engine with a piece of equipment.
I can't quite wrap my mind around how to set it up so that an end user when creating a new unit (or entering legacy data) can select a specific engine if its available or use the more common generic combos. (from a drop down box on a form). With the idea that in the future, the specific engine info WILL be known and then the record can be updated to replace a generic engine with its specific replacement.
I hope I've been able to explain that clearly.
One of the struggles is capturing/normalizing existing data while simultaneously setting up the structure for the future (better way) of capturing the data. I need to be able to use the legacy data while we begin to populate the newer information. I'll give an example.
We have equipment with industrial engines mounted on them. Our legacy data lists the manufacturer and model number of the engine for all such equipment we've ever produced. Useful data that's used frequently. This data is also duplicative from a database standpoint (i.e. the same mfg/model can be used on many pieces of equipment). So, on its own, there would be a table of these mfg/model combos and use that table to populate the "engine" field in another table. All simple. Something like:
tblGenericEngine
geID
EngineManuf
EngineModel
But, we would really like to incorporate the individual engine specifics (serial numbers and the asset management that goes with it). That is obviously a more detailed table of info. How do I go about referencing two different lists (generic engine list and specific engine list) so that a piece of equipment can select either a generic engine id or a specific engine id. The other wrinkle is that while a generic engine could be used on multiple records of equipment, there would only ever be ONE specific engine with a piece of equipment.
I can't quite wrap my mind around how to set it up so that an end user when creating a new unit (or entering legacy data) can select a specific engine if its available or use the more common generic combos. (from a drop down box on a form). With the idea that in the future, the specific engine info WILL be known and then the record can be updated to replace a generic engine with its specific replacement.
I hope I've been able to explain that clearly.