Hello.
A bit of explanation/background before I ask my question:
I am building a database to record configurations of softwares.
I am recording 4 types of software:
1. Application Software
2. Virtual Machines
3. Developed Code
4. Firmware (Equipment Configuration)
Each of these software types has its own table where I record many instances of each.
EG., one software configuration can be made up of 3 application softwares, and 1 virtual machine, while another configuration can be made up of 2 application software, 2 virtual machines and 20 firmwares. These can all overlap. (Many to Many relationship).
So I have created one table to record the "software configurations", and since this is a many-to-many relationship I have also created 4 bridging tables, one for each of the four software tables.
Overall I have 9 tables for this segment of my database.
However, when I want to create a new software configuration (with a small addition or subtraction) for example go from config 1.1.1 to config 2.0.0 I don't want to enter all of the related software again, as this would take huge amounts of time. Nor do I want to change the name of the previous version,
As I am keeping all the previous records for later reports.
My question:
How do I create a new configuration, while duplicating all of it's related records in each of the 4 bridging tables?
Here is an imgur link to a picture of the relationship diagram I have described, I'm not sure how to link an imagine here, sorry.
https://imgur.com/f01Xnw0
PS: This is the first time I'm posting on these forums,
sorry in advance if this is the incorrect place or wrong format etc,
please feel free to let me know the best practices for this space.