powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Схема данных (теория)
6 сообщений из 6, страница 1 из 1
Схема данных (теория)
    #40120220
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть довольно старенький проект, в котором интересно реализован функционал.
Сама база на Pervasive, но тут наверное это и не имеет значения.

Суть в том, что параллельно со стандартной схемой таблиц реализована собственная прослойка.
То есть грубо говоря добавлена пара таблиц - "Tables", "Fields".
Ну и есть мастер, который по этим таблицам генерит реальную таблицу.
Например, если пользователь захотел текстовое поле "Статус" длиной 500 и по умолчанию "пусто", то при сохранении будет сгенерирован код "alter table bla-bla"...

В принципе прикольно, учитывая что потом эти поля еще и печатать можно (диниамический запрос).

Вопрос в том, насколько в век ORM и прочих приблуд такой подход себя оправдывает?
Есть ли какие-то более разумные (более совершенные) варианты?

Или также и продолжать копировать существующее решение?

Есть ли какая-то возможность дело это напрямую в схему (хотя бы напрмер на примере MS SQL)?

Большое спасибо.
...
Рейтинг: 0 / 0
Схема данных (теория)
    #40120232
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzumsВопрос в том, насколько в век ORM и прочих приблуд такой подход себя оправдывает?

Это и есть типичный ORM.

Альтернативой может быть EAV. Если осилишь его стиль построения запросов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Схема данных (теория)
    #40120290
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bzumsВопрос в том, насколько в век ORM и прочих приблуд такой подход себя оправдывает?
ну, "100 лет" уже такое есть, в системах со всякими СУБД (например, CRM), и в основном это какие-то дополнительные специфические столбцы, в которых содержится опять же специфическая для данного бизнеса информация.
Но поскольку эти столбцы всегда вторичны, особого влияния они не оказывают. Разве что всякие гриды и отчеты приходится строить динамически. Ну и запросы, соответственно, для добавления этих столбцов.

EAV, как тут уже упомянули, это несолько другое, там боле заковыристые запросы. Это, например, типа нынешняя 1С, если я не ошибаюсь.

p.s. вообще, для "просто юзеров" в случае сбоев система дико хреновая, т.к. на протяжении неясного отрезка времени структуры таблиц меняются непредсказуемо. Ну и для "сервисного" обновления таких баз это тоже гемор, т.к. нужно учитывать изменения пользователя.
...
Рейтинг: 0 / 0
Схема данных (теория)
    #40120523
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EAV, как тут уже упомянули, это несколько другое, там боле заковыристые запросы. Это, например, типа нынешняя 1С, если я не ошибаюсь.Нет. 1С самая обычная инф.система. Там точно также добавляются поля в физические таблицы. Хотя механизмы ЕАВ там тоже можно настроить.

па сабжу: стартовый вопрос непонятен. Что в результате хотите получить ?
Сделать собственный инструмент быстрого изменения схемы данных ?

Мы писали скрипты миграции: переименовка старой таблицы, создание новой, перенос в нее данных (в т.ч. и в другие таблицы), удаление старой таблицы и переименовка новой в старую.
Подход трудоемкий, старый, но надежный и методологически понятный.
...
Рейтинг: 0 / 0
Схема данных (теория)
    #40120529
Michael Longneck
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EAV если туда идёт "информация участвующая в бизнес-логике" а не просто хранящаяся\извлекаемая по ключу EA, отличный способ свести к нулю все преимущества РСУБД
...
Рейтинг: 0 / 0
Схема данных (теория)
    #40120733
bzums
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос был о том, есть ли какое-то более гибкое решение.
Существующий вариант сделан очень давно.
И работает.
Но вот поменялось ядро базы данных и надо все эти наработки переводить.


Было бы неплохо в самой системной таблице / схеме что-то менять.
Типа добавил к описанию колонок свое поле "ОдобреноЛичноАдмином" и фигаришь туда Да/Нет :-)

Так не бывает.

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


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