Question

Compte tenu du schéma:

MACHINE_TYPE { machine_type }
MACHINE { machine, machine_type }
SORT_PLAN { sort_plan, machine_type }
SCHEDULE { day_of_week, machine, sort_plan }

et la règle métier:

  

Un plan de tri peut être attribué à une   machine du même machine_type.

Comment puis-je appliquer que, ANNEXE, les tuples référencées par la machine et sort_plan ont la même machine_type

Le schéma peut être modifié, si nécessaire.

Était-ce utile?

La solution

Vous pouvez changer la table plan de sorte qu'il n'a pas MachineType, et ajouter une nouvelle table appelée machinePlan, qui a une ligne pour chaque machine qui peut utiliser ce plan, avec le machineID et le PlanID. Ensuite, tirer MachineType d'un plan de cette nouvelle table de machine-mère de la table au lieu de la table de plan lui-même.

Enfin, modifiez la table horaire afin qu'il soit FK est de retour à cette nouvelle table MachinePlan, au lieu de que vous avez actuellement il

MACHINE_TYPE { machine_type }
MACHINE { machine, machine_type }
SORT_PLAN { sort_plan}
MACHINE_SORTPLAN {machine, sort_plan }
SCHEDULE { day_of_week, machine_Sortplan }

Cet avantage a également ajouté dans que vous n'êtes pas en train de taper irevocably les règles d'un plan sur lequel le type de machine qu'ils appliquent. Vous conservez cette association séparément, et peut, le cas échéant, décider d'utiliser le même ensemble de règles (le même plan pour les machines de plus d'un type de machine ...

Autres conseils

J'utilise un déclencheur d'insertion sur la table ANNEXE.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top