Показать сообщение отдельно
Старый 23.10.2008, 08:18   #7  
sergeyjb is offline
sergeyjb
Участник
Аватар для sergeyjb
 
68 / 12 (1) ++
Регистрация: 01.10.2008
Я не знаю как в CRM, но если касаться реляционной модели:

В вашей модели Сотрудник-Личность (N:1), в отображаемое имя сущности Сотрудника не корректно включать атрибут ФИО, т.к. у сущности Сотрудник нет такого атрибута. В вашей модели сущность Сотрудник это не более чем обезличеная должность со статусом и ВСЕ!

А та сущность отображаемое имя который вы хотите вывсести как "слесарь Иванов Иван Иванович (уволен)" это уже новая сущность над вашими двумя и в реляционной модели всегда реализовывалась в виде вьюшки. Делайте ее на базе обеих сущностей и вставляйте вычисляемы поля. И все!

В вашей модели будет избыточность по должностям. В идеале вам надо разбить сущность Сотрудник на 2: Должность и Сотрудник и итог будет таким:

Должность:
id_dolg
name_dolg

Сотрудник:
id_dolg
id_lich
status

Личность:
id_lich
fam
imya
otch

И связать их так:
Должность (1:N) Сотрудник (N:1) Личность

Над этими сущностями вьюшкой можно построить сущность которую использовать для бизнес-логики уже, например:

Штатная еденица:
Должность.name_dolg
Сотрудник.status
Личность.fio

И вот к этой сущности относить отображаемое имя "слесарь Иванов Иван Иванович (уволен)" будет корректно!

Это с точки зрения реляционной модели в чистом виде.
Как это все реализовать в CRM - думайте, спрашивайте тут у знающих...
__________________
Сергей Осипов, MCTS:SQL Server 2005, ООО "Программные технологии", Самара