|
|
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
alexeyvgMordashovА вот тут вы неправы. На самом деле поддержка версионности когда разработка базы ведется в скриптах в 100 раз удобнее, чем когда разработка ведется в CASE средстве. Представим что нам нужно сделать 100 измениний в схеме данных (модели). Каждое такое изменение может повлиять на данные в базе. Когда мы пишем скрипты, мы об этом заботимся сразу. Например: UPDATE supplier set supplier_name = 'N/A' where supplier_name is null ALTER TABLE supplier MODIFY supplier_name varchar2(100) not null; Когда мы девелопим модель в CASE средстве - нам от миграции тоже никуда не деться (!!!), только это будут костыли , скрипты по миграции где-то сбоку. 100 костылей , где-то сбоку, причем нам надо помнить о порядке, в котором их применять, а то ведь не сработают. Где удобство то??Безусловно, изменения нужно делать в скриптах, хранить в версионном хранилище исходников, привязывать к бизнес-требованиям, проектам и запросам на изменения и т.д и т.п. Но вопрос был про (как минимум) рисовалку диаграмм, ну или далее про CASE - средства. Ведь хотя бы диаграммы в проекте нужны; и версии их хорошо-бы хранить, в т.ч. в доках ,в какой-нибуть wiki-документации к проекту, и несколько вариантов делать и обсуждать... Или как - при обсуждении модели данных делаем скрипты изменений (несколько вариантов) и перед встрече их раздаём? :-) Ну и речь о том, что у производителя СУБД встроенные средства для всего этого неудобны. И зачем себя ограничивать одним продуктом? Диаграммы да вещь неплохая :) Вот хранить их версионность -вот тут несколько вопросов. Например, у нас по ходу разработки несколько раз менялся взгляд на версионность (надо было хранить исторические данные и по разному их применять : интервалы актуальности версий и тд и тп), и зачем нам хранить то, что уже не на продакшене давно и тем более не в девелопменте? Описывать каждое изменение - (в смысле комментариев) накладно, и кажется сизифовым трудом, когда разработка действительно agile. Другое дело - что под конец разработки (релиз) - в идеале надо бы выкатить диаграмму, которую потом благодарные пользователи базы или разработчики другой стороней тулзы которая полезет в нашу базу данных будут использовать, чтобы подглядеть связи. Как я уже сказал - спасет Reverse. Или , если уж мы даем права на чтение из БД, то Reverse могут сделать все желающие сами :) Я не очень понимаю зачем раздавать скрипты изменений при встрече :) Если команда co-located, то изменения можно обсуждать по мере их возникновения за белой доской. Т.е. захотели вы что-нибудь нормализовать например - рисуете разработчикам на доске новые таблички - они головой кивают. И вперед - можно делать скрипты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2009, 15:14 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
MordashovДиаграммы да вещь неплохая :) Вот хранить их версионность -вот тут несколько вопросов. Например, у нас по ходу разработки несколько раз менялся взгляд на версионность (надо было хранить исторические данные и по разному их применять : интервалы актуальности версий и тд и тп), и зачем нам хранить то, что уже не на продакшене давно и тем более не в девелопменте?Зачем хранить? Так это ничего не стоит. А через несколько лет легче будет понять, чем вызвано именно такое решение, да и какое оно вообще было, осебенно учитывая, что коллектив поменяется процентов на 100-200 :-) Вообще, обычно трудно объяснить, зачем хранить исходники в соурс-контроле - вот говорят, "зачем нам хранить то, что уже не на продакшене давно", и всё :-( MordashovОписывать каждое изменение - (в смысле комментариев) накладно, и кажется сизифовым трудом, когда разработка действительно agile.Ну знаете.... Описать назначение поля - это один процент труда от времени на принятие решения о его создании. А без описания вам придётся много раз за много лет ответить на вопрос разработчика - а что в это поле нужно лОжить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2009, 17:37 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
alexeyvgMordashovДиаграммы да вещь неплохая :) Вот хранить их версионность -вот тут несколько вопросов. Например, у нас по ходу разработки несколько раз менялся взгляд на версионность (надо было хранить исторические данные и по разному их применять : интервалы актуальности версий и тд и тп), и зачем нам хранить то, что уже не на продакшене давно и тем более не в девелопменте?Зачем хранить? Так это ничего не стоит. А через несколько лет легче будет понять, чем вызвано именно такое решение, да и какое оно вообще было, осебенно учитывая, что коллектив поменяется процентов на 100-200 :-) Вообще, обычно трудно объяснить, зачем хранить исходники в соурс-контроле - вот говорят, "зачем нам хранить то, что уже не на продакшене давно", и всё :-( alexeyvg, Сорс контроль позволяет откатиться на любой момент. Тут все ясно. Посмотреть кто ошибку принес :) А вот версии схемы не очень понятно что позволяют. Сама по себе модель данных не описывает причины принятия решения о конкретной реализации. И кстати, модель на любой момент времени вы можете восстановить - просто накатив на пустую базу лишь частичный набор скриптов - и посмотреть при желании модель старым добрым Reverse. По мимо прочего - у нас например 100 измений базы данных за 6 месяцев. Что 100 версий модели хранить? Ошибок моделирования как таковых - практически нет. Есть постепенное накапаливание наших знаний о предметной области- и как следствие изменение модели данных, которую мы создаем. Да мы можем посмотреть на модель 2 летней давности. Но что нам это даст? Констатацию факта что наше понимание значительно возросло и только. Через 5 лет - там будет 5000 изменений и 5 большх версий системы, 20 маленьких релизов и 200 релизов баг фиксов . Вы и правда хотите вновь пришедшего человека заставить проходить весь этот путь? Когда же он начнет работать, месяцев через 6 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2009, 19:14 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
незнайка...Поделитесь опытом, какой программный продукт используете, чем он хорош, его недостатки; широко ли используется Долгое время ЕрВин 3.5.2. Потом они что-то сделали с 4-кой и она стала совершенно не рабочая. Переходить на нее смысла не было. Затем ПоверДизайнер. ЕрВин нравился за сравнение - можно было за один проход сделать forward/reverse. В ПД приходится делать в два захода. Редактор таблиц в ПД на порядок удобнее. Есть некоторые неудобства в ПД - но это больше сила предпочтений и привычки. Старшие редакции ПД обеспечивают собственный версионный контроль. ПД - это не только средство проектирования, но средство разработки. Проектировать (т.е. думать как сделать) БД вполне можно в "рисовалках" и на бумаге. А вот поддерживать процесс разработки "рисовалки" не смогут. ПД - это также средство документирования. ПД позволяет оценить размер будущей БД, генерировать тестовые данные. И многое другое. Вообще кол-во case средств для er немалое. p.s. Комментарии "а мне не нужно никаких средств проектирования" и примеры модели бд из 5 табличек совершенно справедливые - для пяти табличек действительно не нужно. Т.к. стоимость case наверное будет больше стоимости разработки такого приложения. В целом же применение/неприменение средств проектирование говорит о масштабах задач, общей культуре и технологическом уровне разработки, о качестве конечного продукта. Это не аксиома, но зависимость (из которой есть исключения) прослеживается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 10:51 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
авторКомментарии "а мне не нужно никаких средств проектирования" и примеры модели бд из 5 табличек совершенно справедливые - для пяти табличек действительно не нужно Невнимательно читаете. Не могу же я в форуме показывать диаграмму из 200 табличек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 15:18 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
muk07Невнимательно читаете. Не могу же я в форуме показывать диаграмму из 200 табличекВы правы, кроме первых сообщений внимательно не читал. Тогда есть вопрос по существу. Ситуация такая. Пишем софт на заказ. Пусть там будет 200 таблиц. Софт сдаем поэтапно. Этап выполнили - отдали. Началось внедрение. Люди работают. Разумеется находятся баги. Разумеется что-то было понято не так или не совсем так и нужно вносить изменения в структуры первого этапа. Параллельно работаем над вторым этапом. Там тоже появляются изменения и т.п. Структура бд живет - добавляются таблицы, меняются столбцы, ограничения, триггера, иногда меняются связи. Про хранимки вообще молчу. Потом появлется второй клиент ему ставим версию этапа 2 и так далее. Думаю ситуация ясна. Теперь каким образом получить срипты обновления структуры бд для клиента 1 с версией 1.2 и клиента 2 с версией 2.0. В случае ервина/пд все просто - они мне покажут разницу между текущей версией и любой другой; сгенерируют DDL, который я доправлю руками и все будет хорошо. Времени на это надо 10 минут на получения DDL от case и иногда этого достаточно. Если нет то может и день писать скрипт выполняющий предварительное заполнение/перенос данных и т.д. Но чаще все укладывается в полчаса. И главное - я уверен, что ничего не упущу. Как быть без ервина/пд? Какая последовательность действий? Объем патча - десятки изменений. Сделаны они в течении пары месяцев. Все упомнить просто невозможно. Вот меня и интересует как можно обойтись без case и гарантированно обновить базу? Если действительно есть варианты, хочется услышать подробное описание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 16:48 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Как правило этап - это решение какой-то задачи (задач) из взаимосвязанного комплекса. Включает в себя как серверную часть так и клиентскую часть. И при сдаче этапа они более-менее завершены (конечно с багами и с недоучтенными требованиями). - начинаем дорабатывать. В тесном контакте с заказчиком как и прежде. Единственно что ведется - журнал изменений (скрипты). Ваш текст производит впечатление, что вы делаете все задачи сразу на 50% и сдаёте. Затем все начинаете доделывать-переделывать. Может я ошибаюсь. Я в таких условиях не работал и работать не решусь. Даже маленькое изменение БД может привести к большим, а главное во многих точках изменениям в клиентах. Я могу работать с ними только поштучно. И только руками. Никаким case-ам я не поверю. Было дело больно стукался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 17:26 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
muk07, понятно, решения нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 17:50 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
muk07И только руками. Никаким case-ам я не поверю. Было дело больно стукался. Если наш Коллега оторвётся от SS Management Studio и перейдёт к Средтсвам Проектирования Систем в Microsoft - это целый эшелон тулс - под одним общим названием Visual Studio Team System - сам по себе продукт очень дорогой (думаю дороже PD) и в полной функциональности не уступающий PD - тогда задача решится на любом уровне для любой версионности с одним единственным НО - переход и поддержка НЕ Microsoft платформы станет серъёзной проблемой. Но там и рисуночки будут другие и схемочки с модельками... Не поленитесь коллега - посмотрите. Если хотите от Программирования перейти к проектированию. Программно-центрированным разработкам перейти к Модельно-проектным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2009, 18:06 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Vika Vinner, спасибо за ссылку. Прочитал, но этого недостаточно для того чтобы составить квалифицированное мнение. Глубже копать нужно время, которого нет. Далее, судя по всему, вы пишете об MDA. Что -то не слышно о массовом успехе этого подхода. Ясно, что нужно садиться за образование, но думать некогда - прыгать надо. Из мыслей Винни-пуха: "Если бы ненадолго перестать стучать головой о ступеньки, то наверное, удалось бы придумать что-то умное" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 07:31 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Серж, автор Вот меня и интересует как можно обойтись без case и гарантированно обновить базу? Если действительно есть варианты, хочется услышать подробное описание. Это конечно же Version Control (любой). Сам подход уже описан: каждый скрипт изменения пишем в файл , называем файлы 1.sql, 2.sql .. и так далее. В том месте, где у нас появилась новая ветка (вторая версия) мы начинаем фактически поддерживать две версии продукта. Например, со скрипта под номером 100 у нас присутствуют скрипты с одинаковыми номерами (101, 102, 103..110) в двух раздельных ветках в Vesrion Control. Когда наступает пора merge, мы просто добавляем баг-фиксы из 1ой версии во вторую ветку присвоив им номера 111,112,113..120. Теперь вторая версия включает новые фичи + багфискы из первой версии. Естественно, стоит посмотреть нужны ли эти фиксы вообще, может быть они на таблицу, которую во второй версии удалили, но ведь и применении CASE не автоматизирует процесс принятия решения при Merge. Вам только показывается разница схем, а вот какую версию брать - приходится решать самостоятельно, не так ли? Более того, нам не приходится заботиться о переносе данных в момент когда надо выпускать релиз. Потому что каждый скрипт изменения - это законченная операция изменения, включая перенос данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 19:18 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Vika Vinner, авторПрограммно-центрированным разработкам перейти к Модельно-проектным Вообще-то мир движется в сторону адаптивных технологий разработки ПО, и следовательно эволюционного проектирования. И модель в этом мире далеко не центр, а всего лишь артефакт на отшибе, частенько забываемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 19:34 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
MordashovВообще-то мир движется в сторону адаптивных технологий разработки ПО, и следовательно эволюционного проектирования. И модель в этом мире далеко не центр, а всего лишь артефакт на отшибе, частенько забываемый. Вот это то и плохо... А куда мир придёт... Поживём увидим. Спасибо Naroto за картинку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2009, 19:46 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Даммы и господа, доброго всем времени суток! Подскажите, вот я пользователь MS Access чуть выше среднего уровня. Объекты, таблицы, запросы, формы, модули, классы, Recordset и прочие ругательства мне известны. Также я неплохо достигаю поставленные цели на VBA (когда что-то не могу выполнить рядовыми возможностями Акса). И вот, вроде бы, не имея специального технического образования (я экономист), я почувсововал, что пора бы сделать нечто серьезное, по сравнению с тем, что делал в Аксе раньше. Я филосовски понимаю, что проектирование БД - это практически самый важный этап. А посему вопрос: как пользователю чуть выше среднего уровня (без спец.образования) стоит ли мне прибегать для проектирования к таким средствам как Sybase PowerDesigner? Или же это слишком круто и ни к чему для меня? Не получится ли так, что на изучение Sybase PowerDesigner я потрачу дольше времени, чем буду заниматься проектированием (методом проб и ошибок) в самом Аксесе? Нужен совет... Кто что подскажет на этот счет? P/S/ Заранее благодарен...;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2010, 22:12 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Embarcadero ER/Studio - мощно Context Database Designer - просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2010, 07:35 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Wipeout2097Даммы и господа, доброго всем времени суток! Подскажите, вот я пользователь MS Access чуть выше среднего уровня. ... Попробуйте связку MS SQL Server + Access ADP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2010, 09:04 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
для построения er диаграмм использую DB Designer Fork, возможно до многих других аналогов далеко, но зато полностью бесплатная, может подключаться к базам данных, или генерировать ddl скрипты, также есть некоторые плагины по созданию отчетов о структуре бд, которые мне сильно упрощают ее документирование ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2010, 09:41 |
|
||
|
Средства проектирования БД?
|
|||
|---|---|---|---|
|
#18+
Wipeout2097 Я филосовски понимаю, что проектирование БД - это практически самый важный этап. А посему вопрос: как пользователю чуть выше среднего уровня (без спец.образования) стоит ли мне прибегать для проектирования к таким средствам как Sybase PowerDesigner? Или же это слишком круто и ни к чему для меня? Не получится ли так, что на изучение Sybase PowerDesigner я потрачу дольше времени, чем буду заниматься проектированием (методом проб и ошибок) в самом Аксесе? Нужен совет... Кто что подскажет на этот счет? P/S/ Заранее благодарен...;) Коллега, а что Вы собираетесь делать с такими серъезными знаниями? Хочу заметить что "лишних" знаний никогда не бывает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.04.2010, 09:21 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36367874&tid=1542743]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 239ms |
| total: | 514ms |

| 0 / 0 |
