Re[10]: Оформление работы с БД в корпоративных приложениях -
От: ilvi Россия  
Дата: 25.09.07 02:10
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>Есть такое понятие, как сроки, и к сожалению сроки всегда ограничены. Как Вы думаете, зачем был придуман .NET Framework и Java? Можно было бы и на ASM писать... — все контроллировать и быть увереными (быть ли?), что не потеряли производительности и контролируют процесс.


Я не ратую за то, что бы писали на ASM-е, просто хочется заметить что есть разные подходы, и если Вы используете один из них это не значит, что он всегда и везде самый лучший. Есть разные точки зрения, каждый придерживается той, которая ему ближе.
По поводу, того зачем были придуманы .Net Framework или Java — думаю для того, чтобы облегчить разрабочикам жизнь, а может чтобы просто двум компаниям, не будем показывать на них пальцем, перетянуть на свою платформу разработчиков да и денег подзаработать

kuj>Гораздо легче. Даже, если написано через пень-колоду, все-равно гораздо легче.


Не думаю, что при написании в стиле "через пень-колоду" будет лечге. Любой проект на чем бы он не был написан и с участием каких технологий, при разрастании будет требовать все больше и больше усилий на поддержку. Разница только будет в крутизне роста графика.
Re[10]: Оформление работы с БД в корпоративных приложениях -
От: ilvi Россия  
Дата: 25.09.07 02:18
Оценка:
Здравствуйте, Aviator, Вы писали:

A>просто писать юнит тесты на каком нить c# с заглушками намного проще чем организовывать автоматическое тестирование кода совместно с субд ...


"Вы не любите кошек? Вы просто не умеете их готовить" ©не помню кто сказал...
Для разных людей будут удобнее разные вещи. Если Вам удобней организовывать тестирование кода на с#, это не значит что всем именно это удобнее.
Re[17]: Оформление работы с БД в корпоративных приложениях -
От: Cyberax Марс  
Дата: 25.09.07 02:34
Оценка: +1
Здравствуйте, adontz, Вы писали:

C>>А, кстати да. В Hibernate есть поддержка value objects для всяких мелочей типа координат и т.п. Можно определять свои типы (например, у меня enum'ы автоматически отображаются на строки). Так что и тут все нормально.

A>Это всё не то. Например может быть ситуация когда у меня массив некоторых состояний (скажем Boolean, хотя может быть и enum или даже разные enum'ы) и я имею действия для всех (или почти всех) вариантов. В приложении я делаю массив с выводом индекса из состояний, потому что это обеспефивает время доступа О(1), по сравнению с map<state_array, action> и O(log(N)).
Не понял сути. Можно подробнее немного?

A>В БД у меня нет никакого массива, надо как-то иначе изворачиватся. То есть тут речь идёт об отображении не единичного объекта или поля, а коллекции. Бывают и более сложные случаи.

Если в поле оно у нас не помещается — то тогда делаем зависимую таблицу. По-другому особо не получится. Ну или битовые поля — по ним даже индексы строятся.

C>>"Сначала сделали базу по ER-диаграмме с крутыми оптимизациями. А потом выяснили, что bottleneck'и совсем в другом месте. Нужно было исходить из реалий бизнес-логики, а не структуры в ТЗ".

A>Нет, никаких кртых оптимизаций с начала не будет, будет draft. Главное чтобы в нём хранились данные, а не объекты.
А ты представь, что каждая строка таблицы — это экземпляр объекта Просто draft и с моим сценарием точно так же делается, с точно такими же возможностями облома в реальных боевых условиях.

C>>Спроси в форуме "Декларативное программирование"

A>Буду честен — лень.
Ну в общем, если кратко — то программы на K выглядят примерно вот так: "(!R)@&{&/x!/:2_!x}'!R". Но на нем написана одна из самых быстрых "колоночных" баз данных.

A>>>Ну не каждый же чих...

C>>Почему нет?
A>Потому что это говорит об очень не гибкой схеме БД. Это плохо. Дело не в том чтобы намеренно не трогать БД, а в том чтобы БД действительно не надо было трогать.
Гибкость, естественно, должна быть — при рефакторингах схемы деструктивные изменения абсолютно недопустимы. Но с другой стороны, когда-то схему менять все равно придется.
Sapienti sat!
Re[15]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:


A>>>http://www.google.com/search?q=sql+refactoring+tools

kuj>>Рефакторинг без юнит тестов? Удачи.

A>Мне вот интересно, что ты делаешь с нетестируемыми задачами?


При чем тут нетестируемые задачи? Речь о юнит тестах. Вы не знаете что это такое?
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[19]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:


A>>>Почетай выше о чём вообще речь, kuj совсем не понимает чем транзакции уровня БД отличаются от транзакций уровня бизнес-логики.


kuj>>Транзакции уровня бизнес-логики? Вот это круто. Вы это только что придумали?


A>То есть у тебя не бывает транзакций на уровне бизнес-логики? Вау!!! И этот человек обвиняет меня в невежестве.


Бизнес-логика ничего. Абсолютно ничего о транзакциях знать не должна. Для этого есть DAL, который управляет транзакциями, где это необходимо.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[18]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:

A>>>>Это какая-то неправильная хранимка, она значит что-то лишнее делает.

A>>Многоуважаемый adontz. Язык T-SQL является процедурным языком. Может Вы имеете в виду вашу собственную разработу декларативного языка для СУБД?

A>SQL это декларативный язык. T-SQL декларативный язык с императивными элементами.

A>Процедурный язык, это императивный язык без элементов ООП. То есть если бы T-SQL был процедурным, то ты бы писал не SQL-выражения, а планы запросов. Для начала разберись с терминологией, иначе общаться невозможно.

Супер. Это можно сразу в юмор. 5 баллов!
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[17]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:

A>>>Как попало обозначает "без виденья общей структуры БД, включая проведённые денормализации, кеширования и т.п.".

A>>>Нужно было работать с пользователями, прочитал документацию только про табличку Users, но не прочитал про таблички так или иначе с ней связанные и как следствие нарушил целостность данных некорректными действиями.
kuj>>Потому и нужен ORM.

A>ORM нужен для совсем других вещей, от дураков ORM ни спасает абсолютно.


И Вы уже знаете для чего нужен ORM?
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[3]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:

K>>1) Как реализации ORM будут работать с MySQL? Например в последнем приложении я использую MySQL. Т.е. вообще для какой СУБД генерируются запросы? Простите если чего-то не понимаю.


A>Практически к любой ORM можно прикрутить поддержку практически любой БД.


Ну-ну...

K>>4) Можно ли подробный пример действий, которые вы производите при модификации БД, например при добавлении/удалении столбца, или выноса нескольких столбцов в отдельную таблицу и замену их ключом (NewTableID) в оригинальной таблице?


A>Для ХПЖ

A>Перебираем все запросы так или иначе затрагивающие таблицу (список запросто получается автоматом) и смотрим нужно ли что-то там с этим столбцом сделать. Обычно нет, так как на запросе изменения имени добавление даты рождения не влияет.
A>Корректируем затронутые запросы.

A>Тестируем БД.


На этом пункте подробнее пожалуйста. Как и чем Вы тестируете БД?
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[15]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:


kuj>>Интересно, а что мне помешает сделать то же самое в ORM? Думаете, я не смогу one-to-one relation в файле мэппинга прописать?


A>Я описал простейший случай, не надо включать дурака.


Дурака включаете Вы, когда спорите, не имея ни малейшего представления о предмете спора, что Вы ниоднократно доказали и выше в этом же сообщении мы видим прекрасный пример Вашего невежества.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[21]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 02:44
Оценка:
Здравствуйте, adontz, Вы писали:


A>>>Это миф. В реальной системе соответствие поле_класса<->колонка_таблицы встречается достааточно редко! Hibernate просто не в состоянии автоматически построить подобные запросы.

kuj>>Кто вам эту чушь сказал?

A>Я это видел своими глазами.


Ну давайте уж конкретный пример, раз Вы это "видели своими глазами". Я думаю нам всем будет интересно посмотреть...
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[18]: Оформление работы с БД в корпоративных приложениях -
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.09.07 02:46
Оценка:
Здравствуйте, Cyberax, Вы писали:

A>>Это всё не то. Например может быть ситуация когда у меня массив некоторых состояний (скажем Boolean, хотя может быть и enum или даже разные enum'ы) и я имею действия для всех (или почти всех) вариантов. В приложении я делаю массив с выводом индекса из состояний, потому что это обеспефивает время доступа О(1), по сравнению с map<state_array, action> и O(log(N)).

C>Не понял сути. Можно подробнее немного?

Анкета медицинского обследования

Пол? [Мужской] [Женский]
Рука дёргается? [Да] [Иногда] [Нет]
Глаза слезятся? [Да] [Иногда] [Нет]

получаем 2*3*3 = 18 вариантов. Итого имеем 18 вариантов реакции (текст в рекомендациями). В программе снимок текущей системы вопросов в виде List<Diagnoses>, в БД этого естествено нет. Список вопросов не статичный, со временем может менятся их набор, порядок, варианты ответов. То есть хранить БД всё в таблице (int, string) не получается.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[4]: Оформление работы с БД в корпоративных приложениях -
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.09.07 02:48
Оценка:
Здравствуйте, kuj, Вы писали:

Ты меня утомил, отстань и делай что хочешь. Пока мы работаем не вместе, мне плевать.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[11]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:00
Оценка:
Здравствуйте, ilvi, Вы писали:

kuj>>Есть такое понятие, как сроки, и к сожалению сроки всегда ограничены. Как Вы думаете, зачем был придуман .NET Framework и Java? Можно было бы и на ASM писать... — все контроллировать и быть увереными (быть ли?), что не потеряли производительности и контролируют процесс.


I>Я не ратую за то, что бы писали на ASM-е, просто хочется заметить что есть разные подходы, и если Вы используете один из них это не значит, что он всегда и везде самый лучший.


Мы говорим о корпоративных БД? Для корпоративных БД ORM подход зарекомендовал себя как лучший на протяжении уже многих лет в тысячах, в десятках тысяч проектов по всему миру.

I>По поводу, того зачем были придуманы .Net Framework или Java — думаю для того, чтобы облегчить разрабочикам жизнь, а может чтобы просто двум компаниям, не будем показывать на них пальцем, перетянуть на свою платформу разработчиков да и денег подзаработать


Особенно смешно это читать про Java... Еще один перл в коллекции.

kuj>>Гораздо легче. Даже, если написано через пень-колоду, все-равно гораздо легче.


I>Не думаю, что при написании в стиле "через пень-колоду" будет лечге. Любой проект на чем бы он не был написан и с участием каких технологий, при разрастании будет требовать все больше и больше усилий на поддержку. Разница только будет в крутизне роста графика.


В том то и дело, что самые кривые ORM проекты поддаются рефакторингу куда лучше, чем проекты на ХП.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[22]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:00
Оценка: -1
Здравствуйте, adontz, Вы писали:

kuj>>А есть еще любители триггеров понавешивать куда попало. Там вообще жуткий кошмар...


A>У меня создаётся впечатление что ты хаешь просто всё с чем не разобрался.


Просто у меня опыта очевидно больше, чем у Вас.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[15]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:00
Оценка:
Здравствуйте, adontz, Вы писали:

kuj>>Индексы строят под запросы, а не запросы под индексы.


A>Подобные категоричные заявления вызывают у меня смех. На все случаи жизни индексы не построишь, обновление индекса не бесплатная операция.


Я же Вам уже говорил, что расстановка индексов задача тривиальная, если СУБД предоставляет статистику. Анализируете переодически данную статистику и определяете какие индексы надо добавить, а какие лучше выкинуть. Ничего тут фантастически сложного нету.

Вот читайте и просвещайтесь на примере MS SQL Server:

http://www.microsoft.com/technet/scriptcenter/scripts/sql/sql2005/index/default.mspx?mfr=true

и зачем я ввязался в этот спор и трачу время на абсолютно неграмотных типов...

A>Иногда надо и запрос подправить. Нет тут ничего зазорного. Вообще в том чтобы думать своей головой исходя из ситуации, а не догматично применять некоторый, возмодно неадекватный, метод решения проблемы нет ничего зазорного.


Да уж. Вы явно специалист по неадекватным методам решений проблемы.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[23]: Оформление работы с БД в корпоративных приложениях -
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.09.07 03:06
Оценка: +1
Здравствуйте, kuj, Вы писали:

kuj>Просто у меня опыта очевидно больше, чем у Вас.


Да мне и в плане высосомерия до тебя далеко.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[11]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:06
Оценка:
Здравствуйте, ilvi, Вы писали:

A>>просто писать юнит тесты на каком нить c# с заглушками намного проще чем организовывать автоматическое тестирование кода совместно с субд ...


I>"Вы не любите кошек? Вы просто не умеете их готовить" ©не помню кто сказал...

I>Для разных людей будут удобнее разные вещи. Если Вам удобней организовывать тестирование кода на с#, это не значит что всем именно это удобнее.

Ну может расскажете или хотя бы ссылку на ресурс дадите о тестировании ХП в СУБД?
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[5]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:06
Оценка:
Здравствуйте, adontz, Вы писали:

A>Ты меня утомил, отстань и делай что хочешь. Пока мы работаем не вместе, мне плевать.


Значит ответить на вопрос как и чем Вы тестируете БД не можем никак? Все понятно.
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[24]: Оформление работы с БД в корпоративных приложениях -
От: kuj  
Дата: 25.09.07 03:08
Оценка:
Здравствуйте, adontz, Вы писали:

kuj>>Просто у меня опыта очевидно больше, чем у Вас.


A>Да мне и в плане высосомерия до тебя далеко.


В плане знаний и опыта очевидно тоже. Я надеюсь, что хоть после этого спора Вы узнали для себя много новых слов?
... << RSDN@Home 1.2.0 alpha rev. 746>>
Re[6]: Оформление работы с БД в корпоративных приложениях -
От: adontz Грузия http://adontz.wordpress.com/
Дата: 25.09.07 03:10
Оценка:
Здравствуйте, kuj, Вы писали:

A>>Ты меня утомил, отстань и делай что хочешь. Пока мы работаем не вместе, мне плевать.

kuj>Значит ответить на вопрос как и чем Вы тестируете БД не можем никак? Все понятно.

Нет, значит ты меня утомил. Не надо искать всемирный заговор там, где его нет. Ты задаёшь глупые вопросы, пересказываешь лозунги, но сам по сути ничего существенного кроме "ОRМ-рулят" не сказал. Все тво комментарии сводятся к "ну-ну" и "вы вообще знаете?". Мне такая дискуссия не интересна, она скучна и утомительна. Я не буду отвечать на твои вопросы не потому что нет ответов, а потому что меня не интересуют твои вопросы.
A journey of a thousand miles must begin with a single step © Lau Tsu
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.