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


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

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

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

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

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

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


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