powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы контрагентов
41 сообщений из 41, показаны все 2 страниц
Структура таблицы контрагентов
    #39587843
ramko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги добрый день.

Прошу подсказать, проектирую таблицу с контрагентами для PostgreSQL.

Задумался сделать в одной таблице колонки содержащие всю информацию о нем (наименование, типы, реквизиты)
или разделить на несколько?

Скриншот схемы


С Ув.
Виктор
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39587982
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramkoЗадумался сделать в одной таблице колонки содержащие всю информацию о нем (наименование, типы, реквизиты)
или разделить на несколько?

Скриншот схемы


Я бы разделил: адресов может быть несколько, банковских счетов тоже может быть более одного.
Counterparty не понял смысла - только из за типа counterparty_type?
Ведь эта связь возникает в результате какого то договора? Вот этот договор бы я и описал- есть договор, значит контрагент, нету - ну и ладно.

counterparty и counterparty_details не могут быть связаны.
Странное поле updated - вам нужно знать что что-то редактировалось, но не важно что именно? Бред.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39587991
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergueiСтранное поле updated - вам нужно знать что что-то редактировалось, но не важно что именно? Бред.
Такое поле есть в ERP Microsoft Dynamics AX (а также поле с кодом пользователя, которые произвел обновление). Его можно использовать, например, для инкрементной выгрузки справочников в другие системы. Или просто для быстрого просмотра кто и когда последний раз менял эту запись.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39587992
bideveloper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramkoЗадумался сделать в одной таблице колонки содержащие всю информацию о нем (наименование, типы, реквизиты)
или разделить на несколько?
р

А если еще более глубоко копать, то адрес можно поделить на таблицы по странам,регионам, городам, районам, индексам )
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39587999
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bideveloperА если еще более глубоко копать, то адрес можно поделить на таблицы по странам,регионам,
городам, районам, индексам )

А вот тут не надо путать адреса (которых может быть несколько: юридический, физический,
почтовый) и географическое местоположение. Их лучше делать параллельно. Да, получается
некоторая избыточность, зато простота и однозначность.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39588154
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сабжу:

1. Нужна ссылка на родительскую запись. Необходимо для указания дочерних структур/торг. точек/точек доставки и пр.
2. Все реквизиты должны быть "на дату", т.е. если они меняются во времени, то нужно знать их значение на любую дату.
Даже название компании иногда полезно хранить исторически. Простое переименование может быть неприемлемо.

А вообще полезно для сабжа привлечь EAV. Часто возникают задачи добавить к карточке некий произвольный признак "прямо сейчас" и ЕАВ тут - самое то.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39588446
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVА вообще полезно для сабжа привлечь EAV. Часто возникают задачи добавить к карточке некий произвольный признак "прямо сейчас" и ЕАВ тут - самое то.

Ну вот не надо всем навязывать свою патологическую любовь к EAV (ничего личного) :) EAV нужно с умом использовать. И тут он явно будет лишний, так как структуры более менее понятны.
EAV -только для того чтобы обеспечить гибкость, но у этой гибкости есть оборотная сторона медали - производительность.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39588618
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И тут он явно будет лишний, так как структуры более менее понятны.Да неужели ??????
Использование ЕАВ никак не мешает текущей структуре данных. Если текущ. структура устраивает, то ЕАВ просто будет пустой, но если вдруг появляется срочная необх. добавить новый признак, то это самое то.
Если это какой нить молодой CRM, то такая необходимость будет появляться часто.
При правильном использовании и неогромном основном справочнике, ЕАВ не создаст существенных тормозов. Но придаст гибкость.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39589972
ramko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги спасибо за мнения.

Меня смущает производительность если таблицы с клиентами и их контрагентами объединить.

Таблица с клиентами будет часто и везде использоваться. Таблица с контрагентами клиентов и реквизитами в основном для формирования документов.

Соотношение может быть вполне себе к одному клиенту до 1 000 контрагентов.

С Ув.
Виктор
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39589987
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramkoСоотношение может быть вполне себе к одному клиенту до 1 000 контрагентов.

Чо? Что это у вас за предметная область такая, в которой клиенты не являются контрагентами?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39589990
ramko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашими клиентами являются контрагенты, для них мы оказываем складские услуги связанные с приемкой и отгрузкой ТМЦ от их контрагентов.

С Ув.
Виктор
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590072
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ramkoМеня смущает производительность если таблицы с клиентами и их контрагентами объединить.
...
С Ув.
ВикторУ Вас это разные таблицы ???????! Если да, то это АДЪ.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590076
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVУ Вас это разные таблицы ???????! Если да, то это АДЪ.

Походу, он путает клиентов, контрагентов и грузополучателей. Последние два действительно
могут быть разными сущностями.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590216
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПоходу, он путает клиентов, контрагентов и грузополучателей. Последние два действительно могут быть разными сущностями.

Не понял почему последние могут быть разными сущностями? Набор атрибутов ведь один.
Или имеется ввиду что типа грузополучателей туча будет и не факт что одному и тому же часто будут отправлять, в результате чтобы не замусоривать основную таблицу клиентов вынести в отдельную?
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590255
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergueiНе понял почему последние могут быть разными сущностями? Набор атрибутов ведь один.

Нет. Грузополучатели/отправители у ТСа не платят деньги. Они тупо приезжают и
оставляют/забирают вещи со склада. Клиент (он же контрагент) этого не делает, но платит за
аренду площадей и т.п. Атрибуты разные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590386
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНет. Грузополучатели/отправители у ТСа не платят деньги. Они тупо приезжают и
оставляют/забирают вещи со склада. Клиент (он же контрагент) этого не делает, но платит за
аренду площадей и т.п. Атрибуты разные.

ну в этом случае все равно не понятно зачем выделять - тогда прямо внутри бизнес сущности данные вообще можно хранить (например внутри заказа каждый раз без ссылки на справочник хранить данные о грузополучателе). Избыточность некоторая, но нет гемора с ведением справочника.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590439
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Структура какая-то кривущая. Как ты сделаешь внешний ключ на две таблицы сразу, интересно? Я бы начал с того, что нарисовал что-нибудь по принципу иеархии table-per-class - одна таблица с общими для контрагентов и клиентов полями + по таблице для контрагентов и клиентов со специфичными для них полями. Дальше уже или связать таблицы клиентов и контрагентов, или другой вариант, более сложный, но с заделом на будущее, двигать в сторону паттерна "accountability" .
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590708
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как ты сделаешь внешний ключ на две таблицы сразу, интересно?Как в 1С, бро. Там для этого применяют три поля:
тип ссылки/подтип ссылки/ID ссылки. :)

По сабжу: деление на 2 и более таблицы - дебилизм, ИМХО.
Клиент по сути ничем не отличается от контрагента. И он может быть одновременно и тем и другим.

Не берите пример с дебильных систем вроде Navision. Там две разных таблицы: галимое наследие из 80-х.
Хотя мож в новых версиях это исправили ? :) Но верится слабо.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590883
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVКак в 1С, бро. Там для этого применяют три поля:
тип ссылки/подтип ссылки/ID ссылки. :)

Пример 1С показателен, конечно. Эталон архитектуры.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39590921
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatLSVКак в 1С, бро. Там для этого применяют три поля:
тип ссылки/подтип ссылки/ID ссылки. :)
Пример 1С показателен, конечно. Эталон архитектуры.А чо там не так ? Имеет право на жизнь.
В некот. случаях это единственный способ кратко описать связь.

Н-р документ может быть создан на основании разных документов (их список может со временем расти).
Как описать родительскую связь иначе, чем Типдок/IDдок ?

внимательно слушаю.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591037
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVН-р документ может быть создан на основании разных документов (их список может со временем расти).
Как описать родительскую связь иначе, чем Типдок/IDдок ?

Да как-как, стандартно. Имеем базовый абстрактный тип сущности "документ" и производные типы сущностей, по разновидностям документов. Дальше используем стандартное либо "TPT" (если хотим больше гибкости), либо "TPH" отображение объектной модели на реляционную. И напоследок отношение M2M сущности "документ" на себя же.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591081
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatLSVН-р документ может быть создан на основании разных документов (их список может со временем расти).
Как описать родительскую связь иначе, чем Типдок/IDдок ?

Да как-как, стандартно. Имеем базовый абстрактный тип сущности "документ" и производные типы сущностей, по разновидностям документов. Дальше используем стандартное либо "TPT" (если хотим больше гибкости), либо "TPH" отображение объектной модели на реляционную. И напоследок отношение M2M сущности "документ" на себя же.Много слов ниачомъ.
ООП головного мозга.

Как приведенный пример должен выглядеть в таблице подчиненных документов или к-л логе ?

Или пример: письмо-жалоба.
Может быть создано на основании 20-30 видов документов. Допустим "1 письмо - 1 основание".
Как должна выглядеть ссылка на документ (скорее всего в шапке письма) ?
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591136
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVООП головного мозга.

При чем тут ООП. Понятие подтипов есть и в ERM и в IDEF 1x, которые с ООП никаким боком, если тебе эти аббревиатуры о чем-то говорят.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591188
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatLSVООП головного мозга.

При чем тут ООП. Понятие подтипов есть и в ERM и в IDEF 1x, которые с ООП никаким боком, если тебе эти аббревиатуры о чем-то говорят.Ты сначала дай ответ на вопрос, а том будешь сыпать умными аббревиатурами.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591235
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVТы сначала дай ответ на вопрос, а том будешь сыпать умными аббревиатурами.

Некогда сейчас. Чуть попозже нарисую картинку.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591368
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatLSVТы сначала дай ответ на вопрос, а том будешь сыпать умными аббревиатурами.

Некогда сейчас. Чуть попозже нарисую картинку.

Пример с TPT (table per type):

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
create table Document (
    Id int primary key,
    Author nvarchar(50) not null,
    CreationDate datetime not null
)

create table TextDocument (
    Id int primary key foreign key references Document(Id),
    Content nvarchar(max) not null
)

create table ImageDocument (
    Id int primary key foreign key references Document(Id),
    Content nbinary(max) not null
)

create table Document_ParentDocument (
    DocumentId int foreign key references Document(Id),
    ParentDocumentId int foreign key references Document(Id),
    primary key (DocumentId, ParentDocumentId)
)



Пример с TPH (table per hierarchy):

[src]
create table Document (
Id int primary key,
Author nvarchar(50) not null,
CreationDate datetime not null,
DocumentType int not null, -- discriminator
TextContent nvarchar(max) null,
ImageContent nbinary(max) null
)

create table Document_ParentDocument (
DocumentId int foreign key references Document(Id),
ParentDocumentId int foreign key references Document(Id),
primary key (DocumentId, ParentDocumentId)
)
[src]
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591479
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatПример с...Порожняк без конкретики.
Вопрос был про письмо-жалобу. 20-30-100 возможных типов документов-родителей (система развивается и число может расти).
Для простоты - один док-родитель на письмо.
Покажи структуру таблиц письма с ссылкой на док-родитель.
Предположим, что есть не только письма, а еще много документов с подобными ссылками.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591554
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVfkthatПример с...Порожняк без конкретики.
Вопрос был про письмо-жалобу. 20-30-100 возможных типов документов-родителей (система развивается и число может расти).
Для простоты - один док-родитель на письмо.
Покажи структуру таблиц письма с ссылкой на док-родитель.
Предположим, что есть не только письма, а еще много документов с подобными ссылками.

Я тебе что, бесплатный консультант, что ли? С документами, как делать TPT/TPH я тебе показал, теперь ты какие-то письма начинаешь приплетать. Впрочем, если ты даже для чего нужен foreign key не осилил, то тебе никакие консультации все равно не помогут.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591728
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatЯ тебе что, бесплатный консультант, что ли?Слился кароч.... :)
Не удивительно.
Даже не понял заданный вопрос. Разные типы документов это в общем случае разные сущности(таблицы), а не все в одной.
ID_товара, ID_оплаты, ID_накладной и т.д.

Патерны он выучил..... бгг
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591737
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVПатерны он выучил..... бгг

Выучил, чо. Ну а ты так до пенсии и рисуй таблички в дизайнере левой ногой. Как-то так, как узбекский погонщик верблюдов - что вижу, о том и пою. Услышал слово "документ" - сразу же рисуем табличку, услышал слово "письмо" - сразу же рисуем еще одну табличку. Смотреть потом на результаты этого творчества без слез нельзя. А в резюме зато гордое - "спроектировал БД на тридцать восемь тысяч таблиц".
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591759
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatВыучил, чо. Ну а ты так до пенсии и рисуй таблички в дизайнере левой ногой. Как-то так, как узбекский погонщик верблюдов - что вижу, о том и пою. Услышал слово "документ" - сразу же рисуем табличку, услышал слово "письмо" - сразу же рисуем еще одну табличку. Смотреть потом на результаты этого творчества без слез нельзя. А в резюме зато гордое - "спроектировал БД на тридцать восемь тысяч таблиц".

"Слился" пишется короче.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591803
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSV"Слился" пишется короче.

А самому дойти как в той схеме, что я привел как пример, добавить письма и привязать их к документам, используя только одну связь, не судьба? Надо как дитю в картинках объяснять?
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591816
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatLSV"Слился" пишется короче.

А самому дойти как в той схеме, что я привел как пример, добавить письма и привязать их к документам, используя только одну связь, не судьба? Надо как дитю в картинках объяснять?Мне не нужно доходить до твоей схемы.
Мне просто интересно, что получается у подобных умников, бездумно начитавшихся умных патернов. :)

Мое решение простое как дверь: Прямо в шапке письма два поля ТипДок/IDдок. И всё...
Если вдруг у документов будут разного типа ID, то придется добавить еще поле(я) по кол-ву возможных типов ключей. Неприятно конеш, но выхода нет.

Напомню: разные типы документов это в общ.случае разные таблицы.
Бывает, что в одной группе таблиц живет неск. типов д-тов. Но рассматриваем это как исключение, а не как правило.

А теперь расскажи как это будет выглядеть в твоей схеме.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591835
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVА теперь расскажи как это будет выглядеть в твоей схеме.

Код: sql
1.
2.
3.
4.
5.
create table Mail (
   Id int not null primary key,
   DocumentId int not null foreign key references Document(Id),
   /* остальные поля почты */
)



Одна связь. Всё, больше не надо. И в одном (TPT) и в другом (TPH) варианте схемы. То, о чем ты толкуешь, это TPC (table per concrete type) схема - она имеет право на жизнь в отдельных случаях, но, чаще, с ней одна только дрочь из-за дублирующихся полей, хлопот с уникальностью Id и геммора со связями.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591894
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatОдна связь. Всё, больше не надо.Не пойму, ты тролишь или аццки тупишь ??????
Родительские документы могут быть в разных таблицах, Карл !

Т.е. ДокID=10 может быть и в накладных и в счетах и в оплатах и в заказах и т.д. И на любой из них может быть ссылка, как на родительский д-т.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591905
Pu4koff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если по первоначальной задаче ТС:
1. Таки основные данные организаций выделить в таблицу Контрагент или Организация. Наименование организации меняется. Не так давно, например, ЗАО поменяли на АО. В зависимости от потребностей, привязываться к дате (будет проблемы, если запросят распечатать потерянную накладную за прошлый год и там будет новое наименование контрагента). ИНН, ОГРН постоянный. КПП меняется. ОКВЭД меняется, но не уверен, что вообще эта фигня нужна. Адреса тоже меняются и тут тоже есть нюанс. Если просто для документов нужен адрес, то хранить тупо строкой и забить. Если как-то связано с выгрузкой отчётности, то там уже нужно деление на куски и сверка с КЛАДР.
2. Не знаю специфики, как я себе это представляю: заключается договор на аренду склада и прописывается, что платит фирма А, которая привозит на склад 10 мешков цемента и ведро маринованных огурцов, потом приезжает фирма Б, забирает огурцы и еще фирма В забирает цемент. Вообще не вижу смысла разносить их по разным таблицам, данные у фирм одинаковые. Нужно только хранить для конкретных ТМЦ кто привозит, кто забирает и т.п. Таблицы Договор и Поставка/Перемещение просто завести и не нужно никого ни с кем делить. А то начнётся, что будет булево поле, по которому будет видно, кто привозит, а кто забирает. У пользователя это будет выглядеть как галочка и он должен внимательно на эту фигню смотреть и при генерации отчетов и документов та же история будет.
3. У организаций может быть несколько счетов и могут меняться реквизиты каждого счета (в зависимости от задач, можно поддерживать версионность внутри счёта или просто при изменении одного реквизита заводить новую запись, а старую делать неактуальной). Сейчас, например, периодически меняют БИК и кор.счет у банков. Соответственно, у счетов есть сроки действия. Нормальные организации рассылают заранее письмо, что у их банка меняются реквизиты, т.е. должна быть возможность сразу забить новые реквизиты и дать программе использовать только актуальные реквизиты.
БИК, кор. счет, наименование банка - это по идее отдельный справочник. Наименование получателя лучше дополнительно здесь хранить, т.к. бывают лицевые счета (в основном у гос. структур счета идут как лицевые в каком-нибудь казначействе).
Еще иногда за одну организацию платит другая организация. В идеале этот момент тоже проработать. Договор с ООО "Ромашка", а деньги приходят от ООО "Букашка" с назначением платежа "Оплата за ООО "Ромашка" по письму № Г от вчера за аренду склада по договору такому-то". Это вполне обычная операция, по бухгалтерии проводится, лучше тоже предусмотреть.
4. Имя контрагента. Возможно, есть смысл сделать как в 1С и хранить два наименования. Официальное как в учредительных документах и удобное для пользователя. Мало кому интересно смотреть список из
ООО "Ромашка"
ООО Корпорация "Мелиорация"
АО "АБЫР "ВАЛГ"
ПАО "Баобао"

Организационно-правовую форму или удаляют или в конец дописывают, с кавычками и всякими словами корпорация всяко разно пользуются. Люди просто запоминают, что компания называется "Мелиорация" и неудобно вспоминать, что там еще слово корпорация есть, ОПФ непонятна какая, а может недавно сменили. Нужна ООО "Ромашка" - сразу на букву Р побежал смотреть, так удобнее, как мне кажется.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591909
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVНе пойму, ты тролишь или аццки тупишь ??????
Родительские документы могут быть в разных таблицах, Карл !


Паттерн subtype-supertype на этой форуме обсуждается только чуть реже чем EAV - как можно было за столько лет не разобраться в нем?
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39591918
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинПаттерн subtype-supertype на этой форуме обсуждается только чуть реже чем EAV - как можно было за столько лет не разобраться в нем?

Да для него же все это считает "ООП головного мозга". Непрошибаемый, шо песец.
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39592532
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatКот МатроскинПаттерн subtype-supertype на этой форуме обсуждается только чуть реже чем EAV - как можно было за столько лет не разобраться в нем?

Да для него же все это считает "ООП головного мозга". Непрошибаемый, шо песец.Неспособность дать ответ и переход на личности....
Ну прямо Остап а Васюках. :)
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39592551
Pu4koff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинLSVНе пойму, ты тролишь или аццки тупишь ??????
Родительские документы могут быть в разных таблицах, Карл !


Паттерн subtype-supertype на этой форуме обсуждается только чуть реже чем EAV - как можно было за столько лет не разобраться в нем?
Как этот паттерн применить к задаче: в таблице нужен FK на документ или контрагента или справочник?
Мне в голову приходит только изначальное введение таблицы с хранением всех ИД и соответствующего типа/имени таблицы.
Эдакая таблица, в которой хранятся все ИД всех таблиц, соответственно, ИД уникальны в рамках базы и во всех таблицах нужно следить, чтобы ИД брались из этой таблицы, а не генерировались свои.
Можно конечно заранее выделить "супертип" для этого набора документ,контрагент,справочник, но завтра условия поменяются и схему БД перекраивать?
...
Рейтинг: 0 / 0
Структура таблицы контрагентов
    #39592556
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pu4koffКот Матроскинпропущено...

Паттерн subtype-supertype на этой форуме обсуждается только чуть реже чем EAV - как можно было за столько лет не разобраться в нем?
Как этот паттерн применить к задаче: в таблице нужен FK на документ или контрагента или справочник?

Если Вам нужна единая ссылка на что-то, у чего нельзя выделить супертип - скорее всего это концептуальная ошибка.
Попробуйте описать словами, что это за поле и на что указывает.

Pu4koffМожно конечно заранее выделить "супертип" для этого набора документ,контрагент,справочник, но завтра условия поменяются и схему БД перекраивать?
Если "условия поменяются" - в общем случае да, схему БД может потребоваться перекраивать. Как-то "универсальные" БД а-ля excel (которые не надо перекраивать при изменении условий) вытеснить специализированные не могут.
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Структура таблицы контрагентов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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