Для нашей собственной системы управления запасами мы определяем наши детали машин и собранные изделия в таблице tpart
. Чтобы определить спецификацию, мы имеем таблицу tbom
.Билль материалов и версий
Каждая часть имеет ревизию (его изменении, а часть по-прежнему взаимозаменяемыми с предыдущей версии, другими словами: две части - тот же идентификатор - с другой ревизии являются одним-на-один заменяемый).
Нам нужна история изменений. Каков наилучший способ достичь этого?
- Правильный ли составной первичный ключ в
tbom
? - Каждый раз, когда мы создаем новую ревизию, нам нужно скопировать все записи из предыдущей версии (в
tbom
) в записи для новой редакции? - Когда дочерняя часть изменена, все родительские части должны обновить свою спецификацию и/или ревизию?
Или лучше использовать отдельную таблицу trevision
?
Любая помощь очень ценится!
Спасибо за ваш ответ. Два замечания: 1) «subpart_id» также является внешним ключом (из tpart). 2) Я не вижу, как «revision_history» использует «tbom_id». Каждый идентификатор в 'tbom' определяет количество, необходимое части в его родительской части. Для каждой подчасти, принадлежащей родительской части, есть запись в 'revision_history'? Как связаны «tbom.date» и «revision_history.revision_date»? – user729103
(X) Необходимо сохранить tbom_id в revision_history, прочитав его из таблицы tbom. (X), если значение даты в tbom - дата пересмотра, конечно, это необязательно. Если это так, его следует удалить из tbom. – aog