Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Создание таблиц на лету  [new]
tuxick
Member

Откуда:
Сообщений: 2
Всем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов. Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.
Например таблица "шкаф", там "высота", "ширина", "объём", "материал", и т.д.
Внимание вопрос: Насколько рационально такое решение, и использовалось ли оно когда-либо в продакшене, если да, то примеры.
Или может кто-то может предложить более адекватное решение, позволяющее экономить память и использовать все фишки SQL.
17 июн 16, 01:09    [19303154]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
tuxick
Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.
Прикольно, куча БД, в каждой одна таблица, шкаф, стол, стул... :-)
17 июн 16, 02:26    [19303248]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
asdor
Member

Откуда: Москва
Сообщений: 506
Полагаю ТС имел ввиду, в отдельной БД, кучу таблиц создавать будет)
А можно иначе.
таблица с перечнем ресурсов.
к ней Таблица свойств ресурсов.
Ну можно и еще таблицу значений свойств (во времени, например)

Схема Бд неизменна.
Сложность может вызвать только показ. (разное
Но это по любому надо решать
17 июн 16, 06:56    [19303316]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
asdor
Полагаю ТС имел ввиду, в отдельной БД, кучу таблиц создавать будет)
Ну видимо да, просто опечатка.


tuxick
Внимание вопрос: Насколько рационально такое решение, и использовалось ли оно когда-либо в продакшене, если да, то примеры.
Или может кто-то может предложить более адекватное решение, позволяющее экономить память и использовать все фишки SQL.
Да по разному делают.
Если это действительно "ресурсы", то в 99% случаев делают одну таблицу.
В ней атрибутами (полями) - общие характеристики.
Не-общие характеристики - либо в виде отдельных таблиц, либо в модели EAV (последнее - чаще).
17 июн 16, 09:31    [19303525]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
asdor
Сложность может вызвать только показ. (разное
Но это по любому надо решать
Для EAV-модели показ разумно полностью переложить на клиента.
Клиенту выдавать, соответственно, просто список, по сути, такой же, как хранится в таблице.
17 июн 16, 09:33    [19303533]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
alexeyvg,

похоже, что автор собирается реализовать некий САПР. чтож, удачи, там работы лет на пять до начального уровня.
17 июн 16, 12:08    [19304446]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Владислав Колосов
alexeyvg,

похоже, что автор собирается реализовать некий САПР. чтож, удачи, там работы лет на пять до начального уровня.
А мне кажется, товарный справочник, с максимум с функцией типа сборки мебели.
ИМХО рядовая задача, я лет 10 назад такие штуки делал, да тут половина сиквелистов такое делали.
17 июн 16, 13:36    [19304902]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
Zukora
Member

Откуда:
Сообщений: 535
alexeyvg,

Храните в XML
17 июн 16, 15:34    [19305676]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Zukora
alexeyvg,

Храните в XML
Хранить можно в Word или Excel, или даже в JPEG
Зависит от задач.
Нам вот не подошло.
Наверное, ТС нужно хранить атрибуты сущности как поля БД, иначе он бы не задавал такой вопрос, сам бы догадался про эксель или XML.
17 июн 16, 16:03    [19305864]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
Zukora
Member

Откуда:
Сообщений: 535
alexeyvg,
автор
или даже в JPEG
TIFF круче

автор
Нам вот не подошло.
А другим подходит. Такое. Собственоо, ТС то молчит, кто его знает, что он там строит.
17 июн 16, 16:18    [19305972]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31444
Zukora
Собственоо, ТС то молчит, кто его знает, что он там строит.
Ну это да, может, ему подойдёт хранение в XML
17 июн 16, 16:26    [19306024]     Ответить | Цитировать Сообщить модератору
 Re: Создание таблиц на лету  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7378
Такие задачи плохо ложатся на RDBMS. Можно посоветовать NoSQL с ее документо-ориентированным подходом. Большие магазины, типа ebay, amazon так и делают, фронтэнд - на nosql, а транзакционную часть на RDBMS, типа Оракла (не важно).
17 июн 16, 18:14    [19306698]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить