Well if departments are added and removed I would leave them in there and when you build your data entry form check if the "active_department" flag is set before listing the acceptable departments. That way you always have parent keys AND data entry errors while using external keys. Triggers add no advantage here.