Какая разница откуда они попадают, вы же их храните, вы с ними работаете, вам и заботиться об их структуре.
Ну стоит ли объяснять, что Иванов не может быть уникальным значением, и даже Иванов Иван Иванович тоже. И даже в пределах одного города, улицы не могут быть таковыми.
Подобные данные обязательно должны храниться в базе как иерархическая структура - родитель -> потомки. Вот то что вы описываете по "Department", делайте при добавлении записей в базу. А запрос в базу на их выборку должен сначала сортироваться по родительскому идентификатору, а затем по идентификатору записей, вы и получите, то что нужно в итоге.
Придумывать на клиенте идентификаторы, это уже иметь ошибку на 99%.
|