Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите по структуре / 16 сообщений из 16, страница 1 из 1
20.11.2011, 17:57
    #37535634
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
CREATE TABLE FIRST_TABLE_ROWS (
    C                              INTEGER NOT NULL,
    SP_OPER_ID               INTEGER,
    TYPE                           SMALLINT,
    SP_OPER_EXTENDED_ID      INTEGER,
);




CREATE TABLE SECOND_TABLE_ROWS (
    C                  INTEGER NOT NULL,
    SECOND_TABLE_BODY_ID  INTEGER,
    FIRST_TABLE_ROWS_ID  INTEGER,
    SP_OPER_ID   INTEGER,
);


в первой таблице храниться план неких действий. в зависимости от TYPE операция может называется (название берется из другой таблицы)
либо FIRST_TABLE_ROWS.SP_OPER_ID либо FIRST_TABLE_ROWS.SP_OPER_ID+ FIRST_TABLE_ROWS.SP_OPER_EXTENDED_ID
либо FIRST_TABLE_ROWS.SP_OPER_ID+ SECOND_TABLE_ROWS.SP_OPER_ID. т.е. в зависимости от типа в первой таблице название операций уточняется либо через FIRST_TABLE_ROWS.SP_OPER_EXTENDED_ID
либо через SECOND_TABLE_ROWS.SP_OPER_ID

вторая таблица заполняется на 1 календарных год. первая один раз.


Ну и далее ведется третья табличка, в которой со ссылкой на SECOND_TABLE_ROWS.C заполняются данные.

Все вроде красиво. все работает


Но возникла необходимость на каждую операцию назначать человека.
вот непонятно одно - как его на нее назначить )
Можно привязывать к SECOND_TABLE_ROWS, но эта таблица заполняется каждый год. К ней не привяжешь. Т.К. человека назначили на определенную операцию и "НАвсегда".
Каждый год идентификатор по сути одной и той же операции из SECOND_TABLE_ROWS будет разный, т.к. эта таблица заполняется на год.

Как можно решить данную задачку?
Спасибо
...
Рейтинг: 0 / 0
20.11.2011, 18:20
    #37535659
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergq Как можно решить данную задачку?
Для этого вы должны дать нам задачу, а не ваше решение
...
Рейтинг: 0 / 0
20.11.2011, 18:54
    #37535693
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
SERG1257,

Есть спецификация. Которая делается единожды.
В спецификации операции могут быть уточненными (SP_OPER_ID+SP_OPER_EXTENDED_ID).

Есть годовой план, который строится на основании операций из спецификации. строки операций годового плана так же могут уточняться в зависимости от типа операции, указанного с спецификации.

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

Для примера.
В спецификации стоит БАЗОВАЯ ОПЕРАЦИЯ и сразу УТОЧНЕННАЯ ОПЕРАЦИЯ.
В спецификации стоит БАЗОВАЯ ОПЕРАЦИЯ и указана возможность заменить эту операцию на другую. Замена осуществляется в годовом плане.
В спецификации есть БАЗОВАЯ ОПЕРАЦИЯ. В годовом плане она разбивается на несколько.

вот как-то надо назначать человека на исполнение этих операций. Как базовых, так и уточненных в спецификации, так и уточненных (возможно) в годовом плане.
...
Рейтинг: 0 / 0
20.11.2011, 19:00
    #37535701
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergqвот как-то надо назначать человека на исполнение этих операций. Как базовых, так и
уточненных в спецификации, так и уточненных (возможно) в годовом плане.

Отдельной таблицей. Потому что люди ненадёжны: ты его назначил, а он взял и под машину попал.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.11.2011, 19:05
    #37535703
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Dimitry Sibiryakovsergqвот как-то надо назначать человека на исполнение этих операций. Как базовых, так и
уточненных в спецификации, так и уточненных (возможно) в годовом плане.

Отдельной таблицей. Потому что люди ненадёжны: ты его назначил, а он взял и под машину попал.


Что отдельной то понятно )

А вот что в нее писать ) ИД основной операции из спецификации, ИД уточненной из спецификации.
Но операция еще может быть уточнена и в годовом плане. После того, как человека назначили на некую операцию.
...
Рейтинг: 0 / 0
20.11.2011, 19:15
    #37535712
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergqА вот что в нее писать
Сначала сведи две таблицы операций в одну со ссылкой на себя.
Код: plaintext
<операция на год> -> <уточнённая операция> -> <базовая операция>

Потом этот вопрос отпадёт сам собой.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.11.2011, 19:23
    #37535724
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Вопрос: вам надо назначить человека на операцию вообще или человека на операцию в годовом плане
...
Рейтинг: 0 / 0
20.11.2011, 19:28
    #37535727
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Я бы предположил, что вам лучше сделать две таблички
человек на базовую операцию (как бы она не уточнялась и не заменялась)
эта табличка будет дергатся только раз в год для заполнения таблицы
человек на операции в годовом плане (базовой, замененной, уточненной или разбитой на несколько)
эта таблица может корректироваться (в случае естественной убыли человеков)
...
Рейтинг: 0 / 0
20.11.2011, 19:57
    #37535755
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
SERG1257Вопрос: вам надо назначить человека на операцию вообще или человека на операцию в годовом плане


Вообще.
Если б в годовом плане, то не заморачивался )
...
Рейтинг: 0 / 0
20.11.2011, 20:11
    #37535765
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
SERG1257Я бы предположил, что вам лучше сделать две таблички
человек на базовую операцию (как бы она не уточнялась и не заменялась)
эта табличка будет дергатся только раз в год для заполнения таблицы
человек на операции в годовом плане (базовой, замененной, уточненной или разбитой на несколько)
эта таблица может корректироваться (в случае естественной убыли человеков)

Естественная убыль не учитывается.
Человек приходит и говорит, что будет делать операцию №10. 5 лет )
Она может существовать как самостоятельная.
Но в том, подразделении, куда он приходит она является уточнением операции №3. Уточнение делается в годовом плане. В годовом плане эта операции имеет составной номер 11-3

Или чел может делать операцию №11. но она является заменой операции №4. А замена делается только в годовом плане.
А он еще не сверстан )) соответственно не привяжешь ссылкой на годовой план.
А так же операция №11 может быть и самостоятельная. вне зависимости от замен-уточнений.

Как вариант вести список всех возможных комбинаций операций.
И когда человека назначаем на операцию - указываем ссылку на спецификацию, и в зависимости от типа операции указываем ее уточненный вариант.

Но это лишняя заморочка для отдела, который назначает человека на опреацию.
Для отдела все операции безлики.

P.S.
Кстати возможен вариант, что какую-то базовую операцию человек может выполнять и в разных подразделениях. А у каждого подразделения и своя спецификация, и свой годовой план.
К чему тут что привязывать?))))
...
Рейтинг: 0 / 0
20.11.2011, 20:53
    #37535805
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergqК чему тут что привязывать?
Как я уже сказал: свали все операции - базовые, уточнённые, запланированные - в одну
таблицу и тогда связь между ними и людьми будет азбучной связью M:N.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.11.2011, 20:55
    #37535806
vitali-immonity
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Dimitry Sibiryakov,
...
Рейтинг: 0 / 0
20.11.2011, 21:25
    #37535825
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Dimitry SibiryakovsergqК чему тут что привязывать?
Как я уже сказал: свали все операции - базовые, уточнённые, запланированные - в одну
таблицу и тогда связь между ними и людьми будет азбучной связью M:N.


т.е. простой справочник?
Без учета типа операции в планах?

Не подходит.

в одном из документов (назовем текущие задания) хочу фильтроваться возможность выбора в зависимости от подразделения ( и спецификации), в каком он будет выполнять операцию.
Чтоб не получилось так, что человеку в задании на подразделение дали операцию 10 ( с PK ххх) а на самом деле это составная операция 3+10 с PK yyy в спецификации.

в общем додумал сделать еще одну табличку для спецификации, в которой прописываться возможные замены, уточнения.
И потом уже при назначении человеку той операции, которую он будет делать ссылаться на таблицу возможных замен.
И получится, что даже если он будет делать операцию №10, то в назначении будет указано, что он эту операцию (ссылка на таблицу возможных замен-уточнений) делать для специфицикации №1 и № 6 например. И в данном варианте проще тогда быдет вытянуть полное название операции, если она составная)

Что можете сказать по данному варианту?
...
Рейтинг: 0 / 0
20.11.2011, 21:36
    #37535837
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergqт.е. простой справочник?
Не простой. Древообразный.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
20.11.2011, 21:43
    #37535845
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
Dimitry Sibiryakovsergqт.е. простой справочник?
Не простой. Древообразный.


В свое время от дерева ушел на плоскую структуру)

придется видимо возвращаться к дереву )

Не люблю я их (
...
Рейтинг: 0 / 0
21.11.2011, 19:12
    #37537493
SERG1257
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите по структуре
sergq в одном из документов (назовем текущие задания) хочу фильтроваться возможность выбора в зависимости от подразделения ( и спецификации), в каком он будет выполнять операцию.
Чтоб не получилось так, что человеку в задании на подразделение дали операцию 10 ( с PK ххх) а на самом деле это составная операция 3+10 с PK yyy в спецификации.То что вы будете фильтровать, проверять и подсказывать пользователю не отменяет факта, что список операций линейный. Плюс он (список) обвешан дополнительными таблицами, описывающими его непростую жизнь для фильтров, проверок и подсказок.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Подскажите по структуре / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]