Показать сообщение отдельно
  #2  
Старый 30.11.2015, 06:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1. Совсем не понятно, что делать то надо (т.е. что хочется получить на ыыходе).
2. Действительно, БД надо переделывать (судя по представленной информации). Как я понимаю, вторая таблица содержит список сотрудников, а первая - список тех же сотрудников с указанием "научных" "аттрибутов". Если я все правильно понял, то:
- вторую таблицу оставляем как есть
- делаем 3 справочника:
-- ученые степени
-- ученые звания
-- должности
Далее варианты:
а) у нас у каждого сотрудника есть либо степень, либо звание, либо должность, либо любая комбинация всего этого. Тогда первую таблицу удаляем, а во второй делаем ссылки на справочники.
б) у нас только у некоторых сотрудников есть степень/звание/должность. тогда имеет смысл держать их отдельно, но таблица будет иметь вид:
Код:
create table GOV_ETALON
(
id integer primary key,
emploee_id integer references REGISTER_ETALON.id,
rank_id integer references RANKS.id,
status_id integer references STATUSES.id,
position_id integer references POSITIONS.id
);
где последние три поля - индексы из соотв. справочника.

Ну и на закуску, можно сделать пару view, для того, что бы не заморачиваться в запросах с клиента.
Ответить с цитированием