Hi, I am trying to model a Process / Service Registry for a batch application, with the following entities ( see attached JPG ) :
PROCESS - A job
PROCESS PARAMS - The parameters that are expected to be passed into that job ( no actual values, just the definitions )
SERVICE - The instantiation of that job ( not for each time the job is run, but the number of different ways it can be run )
SERVICE PARAMS - Should contain the exact same set of parameters as Process Params, but contain the values to be used in that instantiation
The problem I have is, that a Service instantiates a single job, and a job will have many parameters defined, but when I model the instantiation of parameters for that service, based on the process parameters, I have a closed loop of relationships, meaning that in my SERVICE PARAMS table, I can effectively use two different joins to get the "process_id"... Therefore I have a redundant link to the process via SERVICE_PARAM > PROCESS_PARAM, so if I happen to change say the PROCESS which the SERVICE instantiates, then the SERVICE PARAMS are no longer valid, but still link to the service.. How should I model this so there is no overlapping / redundancy of process, seeing Im am effectively linking to process twice ? Or should this just be an application side thing to ensure they stay in sync ( ie. delete all SERVICE PARAMS, if PROCESS_ID changes in SERVICE ) ?
Thanks in advance,
Adam