powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Что-то типа вложеной таблицы
11 сообщений из 11, страница 1 из 1
Что-то типа вложеной таблицы
    #32012067
NewComer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что делают многоуважаемые опытные программисты когда встает задача создания таблицы с меняющимся количеством столбцов?
Например: таблица накладной, где заранее неизвестно количество видов товара для оприходования?
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012069
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этом случае создается вторая таблица, записи которой ссылаются на записи в первой, т.е. во второй таблице может быть несколько записей (по каждому виду товара), каждая из которых ссылается на одну и ту же накладную (запись в первой таблице).
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012073
NewComer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо я привел неудачный пример, тогда скажу где я с этим столкнулся: Необходимо сделать так чтобы, каждой строке в первой таблице соответствовали свои строки во второй таблице т.е.(получаеться) строка во второй таблице может быть связана с несколькими строками в первой таблице.
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012074
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Второй пример еще более неудачный


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

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

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

Если у вас на самом деле существует связь многие-ко-многим, то для реализации нужно ввести 3-ю таблицу, чтобы получилсь следующая картина

1 таблица <-> многие-ко-одному <-> 3-я таблица <-> один-ко-многим <-> 2-ая таблица

Отношения, конечно, организуются через PK-FK
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012077
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Pandre -
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012081
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Glory Что тут - , может человеку 15
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012090
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то я про наши с вами ответы, на предмет их совпадения
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012091
Pandre
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Glory Хорошо, только они не совпали ! Направления ссылок разные. Видно, для разной предметной области.
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012140
Reubast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно создать древовидную таблицу (ссылающуюся саму на себя). Сделать к ней таблицу с описанием прототипа хранимых данных (для нормализации). Беда только в том, что MSSQL не имеет конструции для работы с древовидными запросами (аналог Connect by у Oracle).
...
Рейтинг: 0 / 0
Что-то типа вложеной таблицы
    #32012242
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так. В Table1 хранятся поля, которые есть всегда и везде (являются основными). В таблице метаданных хранится, какие еще поля могут появиться, какого они типа и т.д. и т.п. В таблице Table2 лежат значения всех additional полей в одном столбце sql_variant. Одна запись Table1 может иметь несколько соответствующих ей записей в Table2 - если у нее несколько дополнительных полей. Сборка записи из Table1 + additional поля из Table2 производится с помощью запроса с подзапросами. Один положительный нюанс - если additional поля в основном содержат значения Null (то есть, данные сильно разрежены), то в таблицу Table2 соответствующие им значения можно просто не класть (подзапрос и так по ним вернет Null). Естественно, в таблице Table2 расходуется место под хранение идентификаторов записей (ID записи таблицы Table1) и идентификаторов полей из таблицы метаданных.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Что-то типа вложеной таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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