|
|
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100, просто ты пытаешься собрать всё в кучу. Если есть МОДЕЛЬ, то она описывается в Проекте. - Правка проекта только через IDE Модели. А на выходе у Модели можно генерировать хоть скрипт, хоть музыкальный файл. ______________________________________________ "Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 16:16:59 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100что не плохо бы иметь потенциал для снижения количества sql-файлов в проекте. В проекте не надо НИ одного SQL файла. Если сможешь конечно). Проект можно хранить в бинарном \ текстовом ini и XML файле. ..... Только, проще SQL ты не придумаешь свой ЯП для БД. Не взлетит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 16:21:50 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Petro123Только, проще SQL ты не придумаешь свой ЯП для БД. Не взлетит. Я как раз и не собираюсь изобретать SQL, мне нужен инструментарий, который облегчает жизнь при программировании непосредственно на самом "нативном" SQL для конкретной СУБД. Говоря о sql-проектах я не имею в виду "классические" проекты для java или С++ и пр. Проект - он же каталог исходников или SQL-каталог - это набор текстовых sql-файлов (плюс какие-то другие по потребности), на основе которого можно создать БД (можно сказать, что это результат "компиляции" исходников). Иными словами - это некое текстовое представление Базы Данных. Кроме создания БД есть потребность и в другом, включая внесение изменений в существующие базы согласно исходникам. Я уже выкладывал здесь SQL-препроцессор, где в качестве демки есть простой примерчик подобного sql-проекта. Выложу этот же пример отдельно - скачать: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 17:56:42 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100Я как раз и не собираюсь изобретать SQL, мне нужен инструментарий, который облегчает жизнь при программировании непосредственно на самом "нативном" SQL для конкретной СУБД. Говоря о sql-проектах я не имею в виду "классические" проекты для java или С++ и пр. Проект - он же каталог исходников или SQL-каталог - это набор текстовых sql-файлов (плюс какие-то другие по потребности), на основе которого можно создать БД (можно сказать, что это результат "компиляции" исходников). Иными словами - это некое текстовое представление Базы Данных. Кроме создания БД есть потребность и в другом, включая внесение изменений в существующие базы согласно исходникам. Э-э-э вообще-то SQL - это скорее декларативный ЯП. Соответственно к нему не применимы те методы разработки, как в "обычных" ЯП. Сама по себе БД, является и "исходником", и "скомпилированным приложением". Причем "текстовое представление" БД делается в любой SQL БД одной командой. То о чем вы говорите, называется дамп БД. Зачем нужна лишняя сущность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 20:45:52 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100Максим Н[...] Пример описания типа "таблица": Код: xml 1. 2. 3. 4. Планируется ли какой-то синтаксический разбор текста или только на уровне поиска/регулярок ? Почему спрашиваю. Я всё больше и больше задумываюсь над свои тулзом, о котором говорил выше по постам, и прихожу к выводу, что не плохо бы иметь потенциал для снижения количества sql-файлов в проекте. При большом количестве объектов в БД и прочего кода как-то напрягает принцип разработки, когда каждый объект и прочий чих оформляется в отдельном файле, получается многовато файлов, причём частенько с небольшим (относительно) количеством кода. В соответствующем посте я указывал на деление sql-проекта по логическим модулям/подмодулям, в идеале при таком подходе хотелось бы иметь только один sql-файл модуля и его возможную историю изменений (парный update-файл). Для этого нужно делать кое-какой разбор текста: понимать DDL-операторы - create/replace/alter объектов, понимать заголовок хранимой процедуры/функции и пропускать тело, разделять sql-операторы, пропускать комментарии и т.д. Задача немалая, но вполне подъёмная, минус - СУБД-зависимая. Подобный разбор текста всё-равно нужен, если, скажем, делать поддержку комментариев-доков. Какие-то потуги в плане разбора текста планируются или всё как можно проще ? На первое время думаю сделать попроще, обойтись на уровне поиска/регулярок. В будущем можно будет расширить, например добавлением пользовательских расширений под конкретную БД (некий набор правил, который сможет распознать таблицу, процедуру и т.д.) По поводу количества файлов: теоретически можно настроить тулзу для работы вообще с одним единственным файлом (неким дампом например, если будет такая необходимость у кого-нибу конечно). Тулза планируется как абсолютно открытая естественно, уже лежит на ГитХабе, но пока не показываю, стыдно, сыро еще. Т.е. если у кого-то вдруг будет желание/потребность, то можно будет доработать, изменить, добавить, убрать, вобщем что угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2013, 22:19:51 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
А чего сильно боятся? Ну поругает кто. Зато быстрее повскрываются баги, хотелки. Пока даже концептуально не очень понятно. Я представляю себе нечто похожее на ant-скрипт. Куда пихаютсся изменения в базе, и который можно ==накатить от версии до версии==. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 09:26:33 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100Я уже выкладывал здесь SQL-препроцессор ну вот, представь себе. Что ты пишешь одну Программу.exe сразу на 2-х ЯП - Java и ПлемениМумбоЮмбо. Причём пытаешься всё это конверитровать-синхронизировать по типу Мастер-Мастер. ..... Ведь по сути ты вторгаешься в область деятельности - "Разработка СУБД". Это не Java программист. И подходы (IDE\ЯП) там другие. ... Впрочем, удачи ! Каждый в жизни писал свою 1С )). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 10:14:53 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
давайте sql расширять с помощью php. А что - язык довольно богатый, с объектами даже, его много кто знает, куча дешевых учебников. Расширяемый. всяко лучше маргинальных M4? Ну или по мотивам его сделать новый = PSP: Psp Sql Preprocessor. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 10:40:04 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
mad_nazgulЭ-э-э вообще-то SQL - это скорее декларативный ЯП. Соответственно к нему не применимы те методы разработки, как в "обычных" ЯП. Сама по себе БД, является и "исходником", и "скомпилированным приложением". Причем "текстовое представление" БД делается в любой SQL БД одной командой. То о чем вы говорите, называется дамп БД. Зачем нужна лишняя сущность? Здесь я уже говорил о причинах, почему иногда не работают типовые подходы в разработке БД и стандартный инструментарий. Если кратко, главный затык - есть потребность в вариантности функционала. К тому же и автор этой темы неоднократно описывал проблемы, с которыми пытается бороться, в т.ч. и насчёт стандартных дампов, например: здесь , здесь , а здесь статейку накатал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 15:56:32 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovА чего сильно боятся? Ну поругает кто. Зато быстрее повскрываются баги, хотелки. Пока даже концептуально не очень понятно. Я представляю себе нечто похожее на ant-скрипт. Куда пихаютсся изменения в базе, и который можно ==накатить от версии до версии==. Насчёт ant-ов автор уже писал . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 15:59:27 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Petro123ну вот, представь себе. Что ты пишешь одну Программу.exe сразу на 2-х ЯП - Java и ПлемениМумбоЮмбо. Причём пытаешься всё это конверитровать-синхронизировать по типу Мастер-Мастер. ..... Ведь по сути ты вторгаешься в область деятельности - "Разработка СУБД". Это не Java программист. И подходы (IDE\ЯП) там другие. ... Каждый в жизни писал свою 1С )). Да, всё так и есть. У нас давно своя "1С", со своим языком ПлемениМумбоЮмбо, плюс активное SQL-кодирование (с помогалками), что в т.ч. даёт низкий порог вхождения для подключения разработчиков на местах при необходимости (и не редко это требуется), и существенно облегчает им жизнь (и нам самим тоже). Вместо Java функциональный костяк реализован на Delphi (истоки проекта ещё с 90-х). И именно такое решение позволяет уже далеко не один год вести постоянную разработку и сопровождение систем силами небольшой команды, имея не одну сотню инсталяций, причём все они разные (за редким исключением), со своим функциональным составом и особенностями в каждом конкретном случае, и частенько у клиентов не одна база, с распределенными функционалом и данными. При этом немалая часть прикладной логики требуется держать внутри базы, т.к. большая часть работы ведётся в двухуровневом клиент-сервер, рядом может быть прикручен сервер приложений, с возможным торчанием наружу в инет, есть потребность в связке с другими 1С/акцаптами/R3/оракл-апликухами и прочим зоопарком местного софта и т.д. Короче говоря, нужен контроль данных, доступа, да и производительность тоже не на последнем месте, и пр. Если бы для наших имеющихся java- и net-проектов стояла бы подобная задача, то это было бы полная опа. Собственно, у нас далеко не один год делаются попытки переезда на новые рельсы, но пока безрезультатно, до хрена технических и политических проблем. И откровенно говоря, у меня на таких задачах возникает огромное желание закопать java (как языковую платформу), со всеми её XML-довесками и хибернейтами и прочими ORM, неудобны и решения вида iBatis, очень заморочно копаться "в лоб" в различных sql-генераторах вида java-sql-generator , не вижу счастья в попытках а-ля link, в т.ч. и те, что есть в Scala, и пр. Фактически, под мои потребности нужно лепить свой DSL и брать библиотеку вида ASM и вперёд генерить байт-код под jvm. Но это всё офтоп в другую сторону. Поэтому я делюсь своими подходами и у меня есть интерес к тому, как другие воюют со сложной разработкой БД, в рамках java- и не очень проектов. Petro123Впрочем, удачи! Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 16:12:40 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100, всё что написали, видно что круто. НО. Как всегда, у нас велика роль личности. Вот у вас в команде не взлюбили ErWin и тому подобные продукты. Т.к. видно что вы их НЕ знаете. И лепите аналогичный КроссБазовый велосипед Это личное дело вашего архитектора и руководителя проектов. IMHO >есть потребность в вариантности функционала = это сферический конь в вакууме. По поводу ваших ссылок выше - там нет "Обзор готового" как учат в ВУЗах. По поводу блога-статьи - разместите на хабре. Там вам сразу "укажут" )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 16:33:07 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Petro123PSV100, всё что написали, видно что круто. НО. Как всегда, у нас велика роль личности. Вот у вас в команде не взлюбили ErWin и тому подобные продукты. Т.к. видно что вы их НЕ знаете. И лепите аналогичный КроссБазовый велосипед Это личное дело вашего архитектора и руководителя проектов. IMHO ... В своё время смотрели на ErWin и ряд других популярных Case-средств, действительно, у нас они не прижились. Есть технические проблемы (к примеру, в основном они плевали на Interbase/FireBird, которые для нас важны), так и куча банальных неудобств при разработке. Скажем, непонятно как задать у столбца таблицы тип/домен в зависимости от каких-то условий/настроек, или как задать состав столбцов разный согласно потребностям, или как задать разный код для процедуры/функции и т.д. Я не помню, что творилось в том же ErWin и не в курсе чего есть в последних версиях, но фактически для подобного в case-средствах обычно всегда требуется создавать новые модели. Выжить с десятками (или даже с сотнями) case-моделями я не представляю как. К тому же нет ничего реально полезного от визуального проектирования, таская мышкой объекты по экрану, особенно когда требуется одновременно отразить кучу связанных объектов, они все удобно не влазят на экран, видишь перед собой лес пересекающихся линий. Как-то не в кайф ковыряться в неудобных GUI-режимах, скажем, вводя структуры объектов в каком-нибудь гриде. Для нормального программиста операции с текстом в нормальном текстовом редакторе/IDE на порядок удобнее/проще и главное быстрее. У нас в проектах были (и есть) всякие дизайнеры форм/отчётов, под влиянием в своё время модных RAID-средств, как та же Delphi. Когда объектов стало тысячи, то их программирование (через удобный DSL) вытеснило их графическое рисование, и "программирование" БД гармонично дополняет сложившеюся картину. В ряде case-средств есть и свои 4GL-языки для программирования, но они всё равно привязаны к своему пониманию модели (не всегда удобному, см. выше), или фактически являются своим "1С". Имхо, достоинство того же ErWin в том, что это фактически некий промышленный стандарт, на пару с связанным BPwin и прочими бизнес-моделяторами. У нас некоторые клиенты требовали из-за своих корпоративных стандартов case-модели для ErWin и чего-то ещё, ибо вся информационная структура якобы описывается и сопровождается в них. Есть какие-то соответствующие генерилки, но чего там именно есть я не в курсе, ибо сам не занимался этим. Но это не первичное проектирование/разработка, это сугубо конечный результат, формальность, включая и для самого заказчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 18:54:21 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 19:40:56 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Максим ННа первое время думаю сделать попроще, обойтись на уровне поиска/регулярок. В будущем можно будет расширить, например добавлением пользовательских расширений под конкретную БД (некий набор правил, который сможет распознать таблицу, процедуру и т.д.) Кстати, в своё время намучались со всякими правилами для разбора текста. Были и регэкспы, и прочие фантазии для задания правил. Но всё таки прямое программирование под конкретные задачи оказалось гибче и проще. Были и попытки полноценного SQL-разбора, но мощный анализ на основе полной BNF/PEG и подобной грамматики с использованием генераторов парсеров типа lex/yacc/JavaCC и т.п. как-то геморно для такой задачи, всё таки это не SQL-сервер. В конечном итоге прижился такой вариант. Удобным оказался простой парсер, дающий поток токенов. Парсер динамически программно настраивается, т.е. ему указывается какие токены разбирать примерно в таком упрощенном виде: parser.AddToken(" "); parser.AddToken("\n"); и прочие разделители. Соответственно парсер будет через метод типа "GetNextToken" последовательно возвращать всё, что есть между разделителями и сами разделители. По потребности дополняются иные токены, как скобки, запятые и пр. Должна быть возможность задать токен в виде блока: parser.AddBlock("/*", "*/") Причём важна именно динамическая настройка, скажем, чтобы была возможность в одном случае разбирать комментарий как один токен, чтобы его просто проигнорировать, а в другом сделать разбор самого комментария. Важно иметь возможность "гасить" токены, т.е. сказать парсеру игнорировать их. Ну, например, я могу настроить парсер, чтобы он распознавал разделители текста (пробелы, переводы строк, табуляцию и пр.), спец-символы как запятая, скобки и т.д., понимал блоки-комментарии. При этом укажу, чтобы разделители и комментарии парсер игнорировал. Подам ему на вход текст: /* это комментарий */ create table MY_TABLE( COL1 TYPE1, COL2 TYPE2 ); Циклически вызывая метод GetNextToken он последовательно вернёт все токены: "create", "table", "MY_TABLE", "(", "COL1" и т.д. Это упрощённая примерная схемка (нужна, к примеру, дополнительная информация о положении токена в тексте и пр.), но думаю, что основная идея понятна. Так несложно организовать простой разбор текста, решая кучу постоянно возникающих задач, в том числе это и простое решение для какого-то лёгкого и быстрого скриптования (или своих бинарных программок). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2013, 20:03:21 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100 Выжить с десятками (или даже с сотнями) case-моделями я не представляю как.Выжить с десятками (или даже с сотнями) case-моделями я не представляю как. Ты о чем? Модель статична т.к. маппинг. Т.е. сколько моделей столько и проектов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2013, 17:31:51 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100, 1 Зачем разный состав столбцов для одного проекта. Приведи маппинг. 2 ты в курсе что там есть ЯП.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2013, 17:35:37 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100Максим ННа первое время думаю сделать попроще, обойтись на уровне поиска/регулярок. В будущем можно будет расширить, например добавлением пользовательских расширений под конкретную БД (некий набор правил, который сможет распознать таблицу, процедуру и т.д.) Кстати, в своё время намучались со всякими правилами для разбора текста. Были и регэкспы, и прочие фантазии для задания правил. Но всё таки прямое программирование под конкретные задачи оказалось гибче и проще. Были и попытки полноценного SQL-разбора, но мощный анализ на основе полной BNF/PEG и подобной грамматики с использованием генераторов парсеров типа lex/yacc/JavaCC и т.п. как-то геморно для такой задачи, всё таки это не SQL-сервер. В конечном итоге прижился такой вариант. Удобным оказался простой парсер, дающий поток токенов. Парсер динамически программно настраивается, т.е. ему указывается какие токены разбирать примерно в таком упрощенном виде: parser.AddToken(" "); parser.AddToken("\n"); и прочие разделители. Соответственно парсер будет через метод типа "GetNextToken" последовательно возвращать всё, что есть между разделителями и сами разделители. По потребности дополняются иные токены, как скобки, запятые и пр. Должна быть возможность задать токен в виде блока: parser.AddBlock("/*", "*/") Причём важна именно динамическая настройка, скажем, чтобы была возможность в одном случае разбирать комментарий как один токен, чтобы его просто проигнорировать, а в другом сделать разбор самого комментария. Важно иметь возможность "гасить" токены, т.е. сказать парсеру игнорировать их. Ну, например, я могу настроить парсер, чтобы он распознавал разделители текста (пробелы, переводы строк, табуляцию и пр.), спец-символы как запятая, скобки и т.д., понимал блоки-комментарии. При этом укажу, чтобы разделители и комментарии парсер игнорировал. Подам ему на вход текст: /* это комментарий */ create table MY_TABLE( COL1 TYPE1, COL2 TYPE2 ); Циклически вызывая метод GetNextToken он последовательно вернёт все токены: "create", "table", "MY_TABLE", "(", "COL1" и т.д. Это упрощённая примерная схемка (нужна, к примеру, дополнительная информация о положении токена в тексте и пр.), но думаю, что основная идея понятна. Так несложно организовать простой разбор текста, решая кучу постоянно возникающих задач, в том числе это и простое решение для какого-то лёгкого и быстрого скриптования (или своих бинарных программок). Спасибо, учту обязательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2013, 23:43:28 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Petro123PSV100Выжить с десятками (или даже с сотнями) case-моделями я не представляю как Ты о чем? Модель статична т.к. маппинг. Т.е. сколько моделей столько и проектов. ... 1 Зачем разный состав столбцов для одного проекта. Приведи маппинг. 2 ты в курсе что там есть ЯП.? В том и дело, что плач начинается тогда, когда нет статической модели, когда есть несколько/много одновременно работающих вариантов проекта. К тому же есть потребность выделять части проекта как самостоятельные проекты/модели. Т.е. есть case-модель, где имеется всё-всё-всё, но есть одновременно работающие проекты, где размещены только необходимые функциональные части от общего. Оформлять каждую часть модели как независимые или отдельные проекты/модели нецелесообразно, т.к. часто они взаимосвязаны и существует некое общее функциональное ядро, необходимое всем. Вообще-то, действительно, типовые case-средства хреново подходят для полноценного системного моделирования. Они заточены на создание именно статической единой модели, где задаются жёсткие статические связи и нет динамических связей/факторов. Фактически, они отражают лишь один из вариантов, или это лишь один результат системного анализа/проектирования. Причём в их же тесно связанной области - моделировании бизнес-процессов - кое-какие есть попытки быть поближе к реальной жизни, к примеру, в ARIS (где eEPC-нотация, сейчас это серьёзная альтернатива для классики типа BPWin/ErWin, IDEFхх и пр.) есть понятие вариантов бизнес-процессов, но вариантов связанных ER-моделей что-то не видно (хотя, м.б. я чего-то и не досмотрел). Из-за проблем "статики" неудобны и классические ORM в джаве, да и в нет-е. В советские времена была такая Р-технология - технология разработки программных систем, на основе идей Вельбицкого, Глушкова и др., изначально создавалась для ракетной промышленности. Там вместо зоопарка графнотаций (ER - для данных, блок-схемы или им подобные, или нынче вновь популярные типа Scratch - для алгоритмов, или UML, если алгоритмика мимо case-средства, и прочие диаграммы для потока работ, данных и т.д.) имеется одна нотация - Р-схемы, и для алгоритмов, и для структур данных, и для процессов и пр., где задумывались над тем, чтобы не только их созерцать, но и вменяемо вводить/создавать, где есть возможность для инвариантности, модульного разделения со взаимосвязями, были и свои системы контроля версий и контроль доступа, ведение документации и т.д. Жаль, что вместе с СССР всё загнулось. Современные case-средства и прочие ERP-монстры концептуально не добрались до тогдашнего уровня. Но это всё офтоп. Собственно, я хочу сказать, что не вижу почвы для какого-то спора вокруг ErWin и аналогичных case-средств. Здесь Максим Н, да и я, показали некий альтернативный подход в разработке БД - от "исходников", они первичны. Максим Н правильно подметил, что альтернативных инструментов мало, но они есть, значит и есть потребность в них. Лично для меня не стоит вопрос в потребности такого подхода, вопрос в том, как это удобно реализовать. Причём не только с позиции помощи для какого-то системного проектирования, но и для решения важных рутинных технических задач, с желательной поддержкой не только метаинформации по прикладной модели, но и включением в "проект" и других не-sql технических объектов (документация, файлы БД с закачиваемыми данными (для тех СУБД, где это возможно/удобно) или текстовые/бинарные/sqlite и пр. файлы для импорта/экспорта данных, shell/bat-скрипты и др.). Даже не помешает кошерная ситуация, когда для выполнения операций вместо последовательного запуска нескольких независимых процессов отработает один, без постоянного переконнекта, или когда есть минимальное количество перебора исходников программами. Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 17:39:19 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100, а почему тебя не понесло ещё дальше? - Убрать статичное проектирование классов и "рожать" классы прямо на лету? В полную мощь использовать RTTI \ загрузу и изменение классов, добавление методов... - Чего ты вдруг занялся СУБД, а не модификацией ООП модели? СУБД для того заточена, чтобы статикой и 3-мя степенями нормализации Упростить Модель. Выделить главное. Главное - технологиеческая простота. А не одна модель на 500 проектов. Приведи маппинг 2-х проектов одновременно в одном проекте-модели. А то одна теория пошла. http://www.databaseanswers.org/data_models/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 18:06:29 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100, Мейнстрим сейчас это декларативность. А это статика. Аннотации жестко гвоздями маппят модель. Чтобы был проект Паровоз и проект Ракета. А не один проект ПаровозоРакетоМобиль. Ведь лапша код же получается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 19:10:07 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakovдавайте sql расширять с помощью php. А что - язык довольно богатый, с объектами даже, его много кто знает, куча дешевых учебников. Расширяемый. всяко лучше маргинальных M4? Ну или по мотивам его сделать новый = PSP: Psp Sql Preprocessor. Уже есть! PHP/PL для PostgreSQL <:o) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 08:11:54 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100 Здесь я уже говорил о причинах, почему иногда не работают типовые подходы в разработке БД и стандартный инструментарий. Если кратко, главный затык - есть потребность в вариантности функционала. К тому же и автор этой темы неоднократно описывал проблемы, с которыми пытается бороться, в т.ч. и насчёт стандартных дампов, например: здесь , здесь , а здесь статейку накатал. Кто мешает дамп БД ввести под контроль версии?! Ну сели о-о-очень надо. <:o) P.S. Вообще-то разработка БД ведется ДО ее внедрения, на этапе проектирования. Соответственно все изменения хранятся в различных ER и ERD диаграммах. Если же говорить о данных, опять же, существует возможность снятия дампа части таблиц, а не всей БД. И опять же лог транзакций. ;-) Так что если хотите вести работу БД, по "рабоче крестьянски", то используете стандартные инструменты для ведения проекта и контроля версий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 08:18:03 |
|
||
|
Выбор СУБД для небольшой Java-утилиты
|
|||
|---|---|---|---|
|
#18+
PSV100В том и дело, что плач начинается тогда, когда нет статической модели, когда есть несколько/много одновременно работающих вариантов проекта. К тому же есть потребность выделять части проекта как самостоятельные проекты/модели. Т.е. есть case-модель, где имеется всё-всё-всё, но есть одновременно работающие проекты, где размещены только необходимые функциональные части от общего. Оформлять каждую часть модели как независимые или отдельные проекты/модели нецелесообразно, т.к. часто они взаимосвязаны и существует некое общее функциональное ядро, необходимое всем. Их есть у меня! Любой SQL-сервер позволяет в рамках одной БД иметь несколько (как говорят в PostgreSQL) "схемы". В которой можно выделить отельные логические блоки. С одной стороны они достаточно автономны, с другой, достаточно легко позволяют обращаться к данным из другой "схемы". Каждая "схема" статична (что логично), но их совокупность может быть динамичной. Так что, все можно решить в рамках стандартных инструментов используя ужу готовые решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 08:26:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38255548&tid=2129029]: |
0ms |
get settings: |
13ms |
get forum list: |
30ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
59ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
111ms |
get tp. blocked users: |
2ms |
| others: | 308ms |
| total: | 564ms |

| 0 / 0 |
