powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / DB specific ORM
25 сообщений из 1 813, страница 1 из 73
DB specific ORM
    #37979317
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Представьте тот же самый Hibernate, но завязанный на конкретную базу. Система генерирует не голые insert/update/delet'ы/select'ы, а разумные процедуры и функции на стороне БД на ее родном языке, используя все ее фичы, а на стороне клиента java (например) классы обертки для этих процедур/функций.
Т.о. субд'эшники получают полную свободу действий в своей любимой БД, а клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базе.

Существует ли такое и насколько востребовано? Может кто то использовал или пытался воплотить?
...
Рейтинг: 0 / 0
DB specific ORM
    #37979466
А что такое - эти "разумные процедуры и функции"? что они делают то?
...
Рейтинг: 0 / 0
DB specific ORM
    #37979475
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cпецифические фичи IBM в EJB 10 лет назад уже были
http://publib.boulder.ibm.com/infocenter/wsadhelp/v5r1m2/index.jsp?topic=%2Fcom.ibm.etools.dbbeanstools.spitool.doc%2Ftopics%2Ftcreatebeanmeth.html

до сих пор расхлёбывать приходится
...
Рейтинг: 0 / 0
DB specific ORM
    #37979483
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Н клиентские программисты избавляются от ненавистного им sqlвыделенное уже предопределяет провал.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979498
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Максим Н клиентские программисты избавляются от ненавистного им sqlвыделенное уже предопределяет провал.
Выделенное должно было быть в "кавычках", пардон.
Я имею ввиду, что sql (в основном) сконцентрирован в базе и его не "размазывают" по клиенту.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979602
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим НЯ имею ввиду, что sql (в основном) сконцентрирован в базе и его не "размазывают" по клиенту.
А что такое "клиент" ? А база - это всего лишь данные
...
Рейтинг: 0 / 0
DB specific ORM
    #37979695
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базеБез sql в прикладном коде работают многие системы. Те же 1С, Навижн.
Почему-то не все понимают ущербность этого подхода. :)
А вот не задумываться о базе не получится. Потому что все равно кому-то надо сначала задуматься о базе, т.к. это источник первичной информации (таблицы, поля).
...
Рейтинг: 0 / 0
DB specific ORM
    #37979738
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot LSV]А вот не задумываться о базе не получится. Потому что все равно кому-то надо сначала задуматься о базе, т.к. это источник первичной информации (таблицы, поля).

Я же как раз об этом. Т.е. в базе реализовывается слой работы с данными: запросы, инсерты, делеты, апдейты (причем на специфичном для конкретной СУБД языке, причем с возможностью в любой момент этот код доделать, отрефакторить протестировать, допилить и т.д.). Т.е. здесь разработчик полностью "задумывается о базе".
На клиенте пишутся обертки для всего этого и уже клиент смело их гоняет по своему коду.
Некое разделение труда. Полная реализация слоя "Model" (если по MVC'шному выражаться) на стороне базы.
В отличие от того же Hibernate, где программисты зачастую и знать не знают какие происходят запросы к базе, сколько, зачем. Приходится заново описывать эти таблицы в xml (или что там) повторять связи между ними и т.д. сами знаете.
Или когда sql-код аккуратно "размазан" по коду приложения и любой чих разработчика на базе приводит к многочасовым поискам и рефакторингу клиентского кода.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979840
1счайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSVа клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базеБез sql в прикладном коде работают многие системы. Те же 1С, Навижн.
Почему-то не все понимают ущербность этого подхода. :)
А вот не задумываться о базе не получится. Потому что все равно кому-то надо сначала задуматься о базе, т.к. это источник первичной информации (таблицы, поля).гм. вы давно в 1С смотрели, чудо ?

в 7-ке таки пытались "бз скл", вернее "со своим скл", но сначала таки подключили правильный скл, а в 8-ке он изначально практически нормальный, и за работу с множествами через объектную модель 1с, а не через запросы, вас пошлют далеко и надолго. даже из конфигурастов.

про навижн не скажу, не знаю. думаю либо это и там не так, либо навижн надо выкинуть до того, как а не после.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979860
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1счайникв 8-ке он изначально практически нормальный, и за работу с множествами через объектную модель 1с, а не через запросы, вас пошлют далеко и надолго. даже из конфигурастов.
Нормальный он там только на чтение, для модификации данных придется таки использовать объектную модель.
То бишь при проведении документа для отражения данных в регистрах сервер приложений (в ранних версиях зачастую клиент) обращается к СУБД и тянет данные записанного документа, создает объекты для записи в регистр и пишет их обратно в СУБД
Что характерно пишет INSERT по каждой записи, а не групповым оператором:
Код: sql
1.
INSERT INTO <Регистр> SELECT FROM <ТабличнаяЧастьДокумента>
...
Рейтинг: 0 / 0
DB specific ORM
    #37979952
1счайник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Naf1счайникв 8-ке он изначально практически нормальный, и за работу с множествами через объектную модель 1с, а не через запросы, вас пошлют далеко и надолго. даже из конфигурастов.
Нормальный он там только на чтение, для модификации данных придется таки использовать объектную модель.
То бишь при проведении документа для отражения данных в регистрах сервер приложений (в ранних версиях зачастую клиент) обращается к СУБД и тянет данные записанного документа, создает объекты для записи в регистр и пишет их обратно в СУБД
Что характерно пишет INSERT по каждой записи, а не групповым оператором:
Код: sql
1.
INSERT INTO <Регистр> SELECT FROM <ТабличнаяЧастьДокумента>

скажите еще, что работа с регистрами сведений рекомендуется через объекты-экземпляры, а не через групповые методы, являющиеся на деле обертками к
Код: plsql
1.
2.
DELETE * FROM inforegXXXX WHERE {ОТБОР} ;
INSERT INTO inforegXXXX () [некие обертки по перегонке набора, зависимые от СУБД {грид с ОТБОР на клиенте}];



то что работа с экземплярами (update/unsert/delete) устроена через объектную модель - это нормально. То что то же самое приходиться делать при работе с множествами экземпляров - то скорее всего оттого, что это нужно редко. (но руки бы им поотпилить нахер не мешало бы за это)

а позаписная запись в регистр [накоплений] при проведении - из-за того, что логика проведения позаписна, и лежит на клиенте (сервере приложения) а не в СУБД. за это тоже надо бы всю компашку свидетелей 1С-а сгноить на болотах.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979969
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_модМаксим НЯ имею ввиду, что sql (в основном) сконцентрирован в базе и его не "размазывают" по клиенту.
А что такое "клиент" ? А база - это всего лишь данные
Клиентское приложение, где реализуется бизнесс-логика и визуализация результатов.
...
Рейтинг: 0 / 0
DB specific ORM
    #37979992
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НПредставьте тот же самый Hibernate, но завязанный на конкретную базу. Система генерирует не голые insert/update/delet'ы/select'ы, а разумные процедуры и функции на стороне БД на ее родном языке, используя все ее фичы, а на стороне клиента java (например) классы обертки для этих процедур/функций.
Т.о. субд'эшники получают полную свободу действий в своей любимой БД, а клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базе.
Существует ли такое и насколько востребовано? Может кто то использовал или пытался воплотить?
В такой архитектуре просто нет смысла, и заниматься этим можно только от безысходности на фоне использования "реляционных систем".

Если на уровне БД не поддерживаются основные принципы БД, в том числе, такие как:
1. В БД что-то должно отражать факт существования объекта независимо от его свойств.
2. Модель данных должна быть одна и та же на концептуальном и логическом уровнях.
3. Результатом запроса должна быть часть БД со всей присущей БД семантикой.
4. Содержательные метаданные (в рамках МД, удовлетворяющей пункту 2) должны поддерживаться на уровне БД.
то Вы "попадаете" на банальный маппинг по всем трем аспектам МД.

А если поддерживаются, то нет никакой необходимости в предлагаемой Вами архитектуре:)

Очевидно, что в популярных SQL-системах ни один из принципов БД не поддерживается и даже теоретически не может поддерживаться. Вероятно, и по этим причинам тоже SQL бесполезен для подавляющего большинства приложений - это известный доказанный факт. Системы, не использующие SQL, и удовлетворяющие принципам БД, быстрее разрабатываются, быстрее работают, и трудоемкость их сопровождения и развития намного меньше.

Разумеется, разработчики "реляционных приложений" делают для себя периодически нечто подобное тому, что Вы описали:) Или EAV:)
...
Рейтинг: 0 / 0
DB specific ORM
    #37980026
_мод
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Максим НКлиентское приложение, где реализуется бизнесс-логика и визуализация результатов.
Под это определение попадают вообще все программы, включая хранимки, триггеры и пр. Т.о. вопрос о структуре ПО: сколько слоев, какие они и т.д. Наверное можно запретить использование sql на определенном уровне для большей независимости верхних уровней от БД, но это зависит от многих факторов.
...
Рейтинг: 0 / 0
DB specific ORM
    #37980334
vvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим НПредставьте тот же самый Hibernate, но завязанный на конкретную базу. Система генерирует не голые insert/update/delet'ы/select'ы, а разумные процедуры и функции на стороне БД на ее родном языке, используя все ее фичы, а на стороне клиента java (например) классы обертки для этих процедур/функций.
Т.о. субд'эшники получают полную свободу действий в своей любимой БД, а клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базе.

Существует ли такое и насколько востребовано? Может кто то использовал или пытался воплотить?
Еще можно "клиентских программистов" языку SQL обучить...
...
Рейтинг: 0 / 0
DB specific ORM
    #37980661
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И чем это вышеописанное отличается от нынешней ситуации.
Размазан sql по коду - дак это бардак - не размазывай его
нарушены границы слоев (слой логики, данных, интерфейса) - ну дак не надо так делать.
Наличие ЕЩЕ одного слоя ничего не улучшит. Бардак он в головах.
...
Рейтинг: 0 / 0
DB specific ORM
    #37980676
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вероятно, и по этим причинам тоже SQL бесполезен для подавляющего большинства приложений - это известный доказанный факт.Ну началось.....

Топик можно закрывать (с)
...
Рейтинг: 0 / 0
DB specific ORM
    #37980706
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257нарушены границы слоев (слой логики, данных, интерфейса) - ну дак не надо так делать.
Вот как раз есть желание четко разграничить эти слои - вот таким способом ...

Просто смотрю я на сумасшедшую популярность ORM'ок всяких и не понимаю, почему? И работает ведь!
...
Рейтинг: 0 / 0
DB specific ORM
    #37980710
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vvmМаксим НПредставьте тот же самый Hibernate, но завязанный на конкретную базу. Система генерирует не голые insert/update/delet'ы/select'ы, а разумные процедуры и функции на стороне БД на ее родном языке, используя все ее фичы, а на стороне клиента java (например) классы обертки для этих процедур/функций.
Т.о. субд'эшники получают полную свободу действий в своей любимой БД, а клиентские программисты избавляются от ненавистного им sql в своем коде, оперируя как и раньше классами, объектами и методами, не задумываясь о базе.

Существует ли такое и насколько востребовано? Может кто то использовал или пытался воплотить?
Еще можно "клиентских программистов" языку SQL обучить...
Не, проблема не в том что клиенты sql не знают, а в том чтобы его централизованно применять.
...
Рейтинг: 0 / 0
DB specific ORM
    #37980712
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVВероятно, и по этим причинам тоже SQL бесполезен для подавляющего большинства приложений - это известный доказанный факт.Ну началось.....

Топик можно закрывать (с)

Та рано еще ......
...
Рейтинг: 0 / 0
DB specific ORM
    #37980883
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVВероятно, и по этим причинам тоже SQL бесполезен для подавляющего большинства приложений - это известный доказанный факт.Ну началось.....

Топик можно закрывать (с)
Ну что Вы:)
Удобнее игнорировать принципы БД, чтобы была возможность пообсуждать всякие проблемы, связанные с игнорированием этих принципов. Этим проблемам, собственно, и посвящены большинство топиков в этом форуме. Так держать:) Лишь бы по существу ничего не обсуждать:)
...
Рейтинг: 0 / 0
DB specific ORM
    #37981009
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаУдобнее игнорировать принципы БД, ...
Можно, отметить, что мешочки и "бяда с ключами" тоже хорошо подходят для игнорирования. Впрочем, и другие выдумки ЧАЛа типа объектный навигатор и "крах РМД" обладают, скорее всего, повышенной игнорностью.
...
Рейтинг: 0 / 0
DB specific ORM
    #37981024
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoБредятинаУдобнее игнорировать принципы БД, ...
Можно, отметить, что мешочки и "бяда с ключами" тоже хорошо подходят для игнорирования. Впрочем, и другие выдумки ЧАЛа типа объектный навигатор и "крах РМД" обладают, скорее всего, повышенной игнорностью.
:) Да нет, дорогой. У меня все всегда по существу. Я Вам доходчиво про принципы объясняю, чтобы Вы могли темы по существу обсуждать. Эту, как видно, не можете. Потому что не усвоили предыдущий материал. А стиль, в котором на sql.ru принято обижаться на свое незнание или непонимание меня уже давно не удивляет. Так что, продолжайте:)
...
Рейтинг: 0 / 0
DB specific ORM
    #37981058
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БредятинаЕсли на уровне БД не поддерживаются основные принципы БД, в том числе, такие как:
1. В БД что-то должно отражать факт существования объекта независимо от его свойств.
2. Модель данных должна быть одна и та же на концептуальном и логическом уровнях.
3. Результатом запроса должна быть часть БД со всей присущей БД семантикой.
4. Содержательные метаданные (в рамках МД, удовлетворяющей пункту 2) должны поддерживаться на уровне БД.
то Вы "попадаете" на банальный маппинг по всем трем аспектам МД.

А если поддерживаются, то нет никакой необходимости в предлагаемой Вами архитектуре:)давайте попробуем перевести ваши рассуждения в практическую плоскость. Может быть, вы назовёте наконец СУБД, удовлетворяющую этим принципам?
...
Рейтинг: 0 / 0
DB specific ORM
    #37981070
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychБредятинаЕсли на уровне БД не поддерживаются основные принципы БД, в том числе, такие как:
1. В БД что-то должно отражать факт существования объекта независимо от его свойств.
2. Модель данных должна быть одна и та же на концептуальном и логическом уровнях.
3. Результатом запроса должна быть часть БД со всей присущей БД семантикой.
4. Содержательные метаданные (в рамках МД, удовлетворяющей пункту 2) должны поддерживаться на уровне БД.
то Вы "попадаете" на банальный маппинг по всем трем аспектам МД.

А если поддерживаются, то нет никакой необходимости в предлагаемой Вами архитектуре:)давайте попробуем перевести ваши рассуждения в практическую плоскость. Может быть, вы назовёте наконец СУБД, удовлетворяющую этим принципам?
А я все время в практической плоскости.
1. Вы "попадаете" на банальный маппинг? Попадаете.
2. Вы не согласны с принципами БД (не мной сформулированными)? Поясните.
3. Система этим принципам не удовлетворяющая СУБД не является, поскольку для управления данными приходится использовать, фактически, еще одну систему.
Таким образом, ЛЮБАЯ СУБД УДОВЛЕТВОРЯЕТ ЭТИМ ПРИНЦИПАМ.
Автор темы рассуждает о некой СУБД, которая получится, когда к "реляционной системе" приделают нечто. И я напоминаю, что эта СУБД должна удовлетворять базовым принципам БД. Вполне возможно, что она и будет им удовлетворять:) Но ее часть - "реляционная система" - не может им удовлетворять в принципе:)
Так же я напоминаю, что для разработки СУБД существует, к моему искреннему сожалению, только одна среда (технология), которая позволяет любому небольшому коллективу грамотных специалистов (и даже одному грамотному специалисту) выполнить эту, казалось бы сложную, разработку за вполне приемлемые сроки, сравнимые со сроками создания среднего приложения в "реляционной системе". То есть, автор темы предлагает значительно более трудоемкий путь создания СУБД.
И что же Вы видите не практичного в моем первом сообщении?
...
Рейтинг: 0 / 0
25 сообщений из 1 813, страница 1 из 73
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / DB specific ORM
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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