Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание таблиц на лету / 8 сообщений из 8, страница 1 из 1
17.06.2016, 01:27
    #39257449
tuxick
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
Всем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов. Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.
Например таблица "шкаф", там "высота", "ширина", "объём", "материал", и т.д.
Внимание вопрос: Насколько рационально такое решение, и использовалось ли оно когда-либо в продакшене, если да, то примеры.
Или может кто-то может предложить более адекватное решение, позволяющее экономить память и использовать все фишки SQL.
...
Рейтинг: 0 / 0
17.06.2016, 01:36
    #39257450
vmag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxick,

на лету...

tuxick.... придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.

ну это если только хранить (на всякий случай)...
- а если не только хранить ? Интерфейс, отчеты - тоже будешь делать на лету?

посмотри в сторону EAV
...
Рейтинг: 0 / 0
17.06.2016, 07:42
    #39257476
Egoр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxick,

Мне пришлось как-то посмотреть на реализацию 1С. У них что-то подобное. Они делают в бд таблички на лету,
которые потом никто кроме них самих прочитать не может. ИМХО ужас и мрак.

А вообще, если собираетесь делать что-то с набором характеристик, то можно сделать их справочник, где хранить их признаки, назначение и прочую полезную про них инфу.
А значения характеристик объектов склдадывать в одну общую таблицу по всем объектам. Типа object_id, feature_id, value.
Можно еще даты добавить, если характеристики объектов меняются со временем.
...
Рейтинг: 0 / 0
17.06.2016, 09:09
    #39257510
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxickВсем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов. Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.Это лютый-прелютый ужос. Ни в коем случае.
Вам нужна хорошая реализация EAV.
Других нормальных вариантов не будет.
...
Рейтинг: 0 / 0
17.06.2016, 10:42
    #39257593
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxickВсем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов. Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.
Например таблица "шкаф", там "высота", "ширина", "объём", "материал", и т.д.
Внимание вопрос: Насколько рационально такое решение, и использовалось ли оно когда-либо в продакшене, если да, то примеры.
Или может кто-то может предложить более адекватное решение, позволяющее экономить память и использовать все фишки SQL.

Типа, недо-EAV?
Не советую. И с производительностью будет плохо, и долго реализовывать будете.
Для чего заставлять СУБД имитировать другую СУБД?

Если хотите "настраиваемую" систему - работайте через словарь данных: таблички, в которых описываются бизнес-сущности, их структура и связи между ними. А сами сущности реализуйте в виде обычные табличек. Модифицируя описание сущностей, меняйте таблички обычным alter table.
...
Рейтинг: 0 / 0
17.06.2016, 12:05
    #39257721
Трахов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxickВсем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов. Для решения задачи придумал реализацию с созданием таблиц в отдельной бд для каждого типа ресурса.
Например таблица "шкаф", там "высота", "ширина", "объём", "материал", и т.д.
Внимание вопрос: Насколько рационально такое решение, и использовалось ли оно когда-либо в продакшене, если да, то примеры.
Или может кто-то может предложить более адекватное решение, позволяющее экономить память и использовать все фишки SQL.

Для бешенного кобеля - семь вёрст не крюк.(с) Вот что захотелось сказать по поводу создания таблиц на лету.
...
Рейтинг: 0 / 0
17.06.2016, 23:11
    #39258152
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
LSVЭто лютый-прелютый ужос. Ни в коем случае.
С чего это вдруг?

EgoрМне пришлось как-то посмотреть на реализацию 1С. У них что-то подобное. Они делают в бд таблички на лету
Если когда-нибудь посмотрите на реализацию Oracle, MSSQL или там какой Teradata, окажется, что они тоже делают в БД таблички на лету.
...
Рейтинг: 0 / 0
18.06.2016, 23:35
    #39258359
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание таблиц на лету
tuxickВсем доброго времени суток. Столкнулся с интересной задачей, нужно хранить информацию о ресурсах, которые имеют разное количество характеристик разных типов.

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


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