Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > удаление объектов


Автор: darkness 8.6.2007, 15:08
Есть таблица с сотрудниками (id, name), а так же есть таблица с заказами, в каждом помечается кто из сотрудников этот заказ выполнил, т.е. (id_заказа, id_сотрудника)...
Случаются что иногда работники увольняются... Т.е. по идее из таблицы "сотрудники" они должны быть удалены, но получается у нас тогда нарушается ссылочная целостность в отношении таблицы с заказами, тем более что в базе так же есть таблицы где фиксировались выплаты этим сотрудникам... Следовательно о каскадном удалении не идёт и речи...
Ед-ное разумное что приходит в голову скрывть уволившихся сотрудников от пользователей, но из таблицы не удалять...

Есть более рациональные варианты? 

Автор: TicTak 8.6.2007, 17:07
Да, запись с сотрудником лучше не удалять. Просто добавь ещё одно поле, например состояние_сотрудника, в котором 0 - сотрудник заведён, 1- блокирован, 2- уволен и т.д. А если он вернётся работать, то его и вводить заново не нужно будет, а просто опять поменять статус.

Автор: boevik 8.6.2007, 17:10
Не удалять.
Нужно поле статус сотрудника и при увольнении сотрудника помечать его соотвествующим статусом.

Автор: darkness 8.6.2007, 17:24
так себе и представлял, сомнения прочь  smile !
Спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)