powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Колонка которая ссылается на несколько таблиц
5 сообщений из 5, страница 1 из 1
Колонка которая ссылается на несколько таблиц
    #37136294
MSVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А таблице, которая является отображением табличной части документа, есть колонка, которая по сути ссылка на документ (получается другая таблица) из некоторого определенного перечня (т.е. к примеру, в табличной части есть атрибут "Партии", который может принимать значение одного из 4 видов документов). Вот и стал вопрос как это реализовать? Получается что эта колонка должна содержать ссылки на 4 таблицы, что соответственно хранением одного id из сопряженной таблицы не получится.
Был придуман следующий вариант: сделать таблицы связи, которая хранит имя таблицы (или можно в отдельной таблицы хранить перечень этих таблиц, а в таблице связи только id) и значение id в связной таблице, а в искомой таблице будем хранить id этой таблице связи. Вообще это работает, но сам запрос выглядит не очень оптимизированным:
Код: plaintext
1.
2.
3.
4.
5.
set @target := (Select type_tableName from linktable where idLinkTable =  1 );
set @id_tar := (Select linktable.value from linktable where idLinkTable =  1 );
SET @var:=CONCAT('Select name  FROM ',@target, ' Where idtable1 = ', @id_tar);
PREPARE zxc FROM @var;
EXECUTE zxc;
Запрос не доработан - в идеале это должна быть ХП, на входе, который id из таблице связи (linktable).

Есть ли какой-то паттерн для таких случаев, или как доработать предложенный вариант?
...
Рейтинг: 0 / 0
Колонка которая ссылается на несколько таблиц
    #37138014
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSVSможет принимать значение одного из 4 видов документов).
...
Получается что эта колонка должна содержать ссылки на 4 таблицыЭто почему же так "получается"? Что мешает под все виды документов держать одну таблицу?
...
Рейтинг: 0 / 0
Колонка которая ссылается на несколько таблиц
    #37138028
MSVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftЭто почему же так "получается"? Что мешает под все виды документов держать одну таблицу?
Я всегда думал, что для учетных систем - это плохое решение. Для примера можно взять 1с 77, где все документы лежат в одном журнале: если кто-то проводит документ, то журнал блокируется и остальные сидят и курят бамбук.
...
Рейтинг: 0 / 0
Колонка которая ссылается на несколько таблиц
    #37138068
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MSVSжурнал блокируется и остальные сидят и курят бамбук.Это пусть останется на совести 1С-ников.
О причинах можете спросить в 1С-ном подфоруме.
Не удивлюсь, если это наследие файловой СУБД.
...
Рейтинг: 0 / 0
Колонка которая ссылается на несколько таблиц
    #37138083
MSVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftЭто пусть останется на совести 1С-ников.
О причинах можете спросить в 1С-ном подфоруме.
Не удивлюсь, если это наследие файловой СУБД.

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


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