powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение и обработка объектов с изменяющимися наименованиями
17 сообщений из 42, страница 2 из 2
Хранение и обработка объектов с изменяющимися наименованиями
    #35451803
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MGR
3. Делаем запись о том, что первая является наследником второй. Основание - "переименование", "поглощение", "покупка долгов", "ошибка операциониста" и т.п.

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


Вобщем как вам такой некий координатный подход?
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35451820
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gardenman
Аналогично и организации. Меняется устав - иногда меняется и название организации. При этом куча инфы остается: номера счетов, договора и прочая хренотень.... Понятно?
этот метод мне понравился, но условием его применимости является полнота получения сведений о документам, согласно которым происходят те или иные переименования. но у меня в ряде случаев такой информации нет и есть необходимость учитывать изменения по факту
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35451904
йцуйцу
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vasssoid!ап
пришла в голову мысль о следующем решении.

Каждый объект (в случае структуры организаций с территориальным и департаментальным делением) можно представить в виде вектора со следующими координатами:
Объект(Организация, Департамент, Территориальное местоположение, Уровень, Родительский объект, Наименование)
Суть в том что набор координат:
(Организация, Департамент, Территориальное местоположение, Уровень)
в ряде случаев однозначно идентифицирует так скажем тип объекта.

Например (Лукойл, ИТ, г. Самара, Отдел, филиал Лукойл в г. Самара) определяет однозначно отдел ИТ обеспечения филиала Лукойл в г. Самара. Наименование же может изменяться, но сам объект остается тем же.

Для реализации этого решения необходима таблица
tblObjects
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
iObjectID(PK)
iOrganisationID(FK)
iDepartmentID(FK)
iTerritoryID(FK)
iObjectLevelID(FK)
iParentObjectID
iObjectNameID(FK)
и соответственно таблица
tblObjectNames
Код: plaintext
1.
2.
3.
iObjectNameID(PK)
sObjectName
iObjectPreviousNameID
в этом случае привязку сотрудников делать к iObjectID. При изменении наименования iObjectID в таблицу tblObjectNames добавляется новая строчка с новым наименованием и ссылкой на предыдущее название.

Для хранения же реквзитов наименования в договорах, заказ и прочее указывать два FK - iObjectID - для составления статистических отчетов и iObjectNameID (который будет указывать на наименование, действовавшее на момент внесения данных)
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35452139
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в раздумьях вводить такую схему или нет. может есть у кого мнения?
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35455616
Vasoyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Придется таки на свои страх и риск вводить такую систему..потом отпишусь подводных камнях :)
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35455622
Vasoyd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
отпишусь *о* подводных камнях :)
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35455938
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://martinfowler.com/ap2/timeNarrative.html
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35457275
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы исходил из "естественных" процессов
1) Т.е. закрывал старую запись ООО "Пупкин и Ко" и открывал новую ЗАО "Пупкин и Ко"
2) И ввел бы таблицу кросс-связей между организациями с типами связи. Одним из типов связей было бы "правоприемник". В т. ч. таким образом решилась бы и задача объединения и разделения организаций.



______________________________________________________
Давайте считать обступившее нас со всех строн коричневое море шоколадным
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35457505
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vasoydотпишусь *о* подводных камнях :)
первый подводный камень - предложенную схему проблематично использовать для процессов слияния и разделения объектов.
shelsoftЯ бы исходил из "естественных" процессов
1) Т.е. закрывал старую запись ООО "Пупкин и Ко" и открывал новую ЗАО "Пупкин и Ко"
2) И ввел бы таблицу кросс-связей между организациями с типами связи. Одним из типов связей было бы "правоприемник". В т. ч. таким образом решилась бы и задача объединения и разделения организаций.
подумаю над этим. вариант на вскидку очень даже понравился.
Senya_Lhttp://martinfowler.com/ap2/timeNarrative.html
спасибо за ссылку. читаю.
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35463437
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_Lhttp://martinfowler.com/ap2/timeNarrative.html
это ж вроде больше как относится к ОО подходу? или как?
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35468285
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vasssoid Senya_Lhttp://martinfowler.com/ap2/timeNarrative.html
это ж вроде больше как относится к ОО подходу? или как? Да, как-то относиться к ОО. Как, впрочем, и все творчество мистера Фаулера :)
Если тема еще актуальна, могу посоветовать ссылку более близкую к жизни, просто тогда найти не мог, у меня сохранена страничка локально.
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35478897
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_L Vasssoid Senya_Lhttp://martinfowler.com/ap2/timeNarrative.html
это ж вроде больше как относится к ОО подходу? или как? Да, как-то относиться к ОО. Как, впрочем, и все творчество мистера Фаулера :)
Если тема еще актуальна, могу посоветовать ссылку более близкую к жизни, просто тогда найти не мог, у меня сохранена страничка локально.
премного благодарен )) это хороший материал.однако ж немного по другой теме
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35479004
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MGRЯ бы предложил бы по другому.
Оставить старую табличку org_tbl в неприкосновенности, добавив только статус
параллельно ей вести табличку переименований (слияний, дроблений).
Ну и, соответственно, ввести операцию "смена кастомера" например, когда все задолженности с ООО "РУСИНВЕСТСТРОЙ" необходимо перевести на ООО "ИНВЕСТСТРОЙ-М".

Таким образом переименование происходит следующим образом:
1. Создаём запись о ООО "ИНВЕСТСТРОЙ-М".
2. Делаем ООО "РУСИНВЕСТСТРОЙ" неактивным
3. Делаем запись о том, что первая является наследником второй. Основание - "переименование", "поглощение", "покупка долгов", "ошибка операциониста" и т.п.
4. Переводим задолженность.
5. Работаем с новой компанией.
6. В отчётах можно анализировать дату и писать сноску "ранее известный как Принц" и т.п.

Пункты 2-4 можно объединить в одну операцию.
shelsoftЯ бы исходил из "естественных" процессов
1) Т.е. закрывал старую запись ООО "Пупкин и Ко" и открывал новую ЗАО "Пупкин и Ко"
2) И ввел бы таблицу кросс-связей между организациями с типами связи. Одним из типов связей было бы "правоприемник". В т. ч. таким образом решилась бы и задача объединения и разделения организаций.

Вот эти два сообщения а также описание работы 1С, в которой нельзя обращаться напрямую к таблицам
одтолкнули к следующему решению).
1) объекты характеризуются и идентифицируются полным набором своих параметров. координатный подход не покатил (т.е. даже если буква в название добавляется - это уже новый объект, с новыми свойствами)

___________________________
здесь и далее объект - это организационное подразделение - ООО, ОАО, ЗАО, департамент, отдел и прочее


2) все объекты хранятся в одной таблице.
3) связи между объектами хранятся в таблице вида
Код: plaintext
ID_объект1 ID_объект2 ID_вида_связи_объекта1_по_отношению_к_объекту2

4) виды связей
авторОдним из типов связей было бы "правоприемник". В т. ч. таким образом решилась бы и задача объединения и разделения организаций.
также виды связей - выведен из состава, введен в состав, расформирован, организован и т.д.

5) ВСЕ действия по изменению объектов, ТОЛЬКО через соответствующие формы. Типа выбрал из списка Объект1 выбираешь действие (переименовать, перевести в подчинение другому объекту), выходит соответствующий диалог и все. остальное берет на себя логика.

___________________________________
сейчас реализую данную схему на Access, потому всю логику загоняю в форму. а так наверное триггеры и хранимые процедуры рулят

ИТОГИ:
+ все изменения объектов делаются только через заранее определенные интерфейсы
+ вероятность внести чего-то не так крайне малы. (О! необходима кнопка - "исправить"ж) )
+ все необходимые действия при изменении, создании, уничтожении объектов (перевести сотрудников в новый департамент, уволить сотрудников, и прочее прочее) будут производится логикой приложения


- необходимо четко формализовать все связи
- все формализованные связи необходимо учитывать в логике приложения
=> сложность логики.


+/- стороннему человеку в таблицах и логике без бутылки не разобраться

_______________________
написал и понял, что это все отражение принципа: Чем проще идея, тем сложнее ее техническая реализация

интересно было бы услышать мнения
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35479172
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) А дата/время где ?
2) Связи бы я ИХМО давал возможность только добавлять и отменять
3) Продумать интерфейс в "три щелчка"


______________________________________________________
Давайте считать обступившее нас со всех строн коричневое море шоколадным
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35479273
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shelsoft1) А дата/время где ?

дата время изменений? типа - дата перименования и прочее? конечно должны быть.
shelsoft2) Связи бы я ИХМО давал возможность только добавлять и отменять

хм...это как? можно поподробнее?
shelsoftПродумать интерфейс в "три щелчка"

есть пример подобного интерфейса применительно к данной задаче? если не трудно, выложи скриншот
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35479365
Фотография shelsoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Думайте самостоятельно и критично в чем я был возможно не прав поскольку не знаю местных условий
2) Есть такие интерфейсы, но я предпочитаю чтобы тимлид или пм сами выбирали решения. Как в анекдоте "не грузите меня я стратегией занимаюсь" ))

______________________________________________________
Давайте считать обступившее нас со всех строн коричневое море шоколадным
...
Рейтинг: 0 / 0
Хранение и обработка объектов с изменяющимися наименованиями
    #35479384
Vasssoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shelsoft1) Думайте самостоятельно и критично в чем я был возможно не прав поскольку не знаю местных условий
2) Есть такие интерфейсы, но я предпочитаю чтобы тимлид или пм сами выбирали решения. Как в анекдоте "не грузите меня я стратегией занимаюсь" ))

Ну буду ждать тимлида Ж)
...
Рейтинг: 0 / 0
17 сообщений из 42, страница 2 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение и обработка объектов с изменяющимися наименованиями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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