![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
D5 + FireBird [D5, IB6.x, FireBird]
Павел © (2004-09-27 19:12:00)Всем привет.
Подскажите пожалуйста, есть ли инструмент, который позволяет создавать структуру базы данных визуально (наподобии того, как это делается в Micro$oft Access) с указанием всех связей с учетом целостности данных.
Задача следующая: запускается программа, создает базу, если ее не существует. Если база существует, нужно проверить наличие всех таблиц и связей между ними и если чего-нибуль нехватает, нужно внести изменения (это нужно для того, чтобы при выпуске новой версии программы все работало корректно).
Вся сложность в том, что я новичек в базах данных. Нужно писать запросы на SQL. Это не всегда удобно, и ненаглядно, если их много, т.е. можно ошибиться. Было бы проще, если бы вся структура базы была представлена графически.
Посоветуйте, какие инструменты/компоненты существуют. Неужели все программисты "вручную" пишут запросы/хранимые процедуры/триггеры/прочее.
Спасибо за ответ.
С уважением,
Павел
Sergey13 (2004-09-29 10:01:00) [1]2[14] Reindeer Moss Eater © (29.09.04 09:55)
Мое ИМХО в этом разрезе. 8-)
GUI-евые примочки позволяют "отвлечься" от таких вещей как синтаксис например (знание которого очень желательно в любом случае), и сосредоточиться на функциональности. Это уже неплохо.
Reindeer Moss Eater (2004-09-29 09:55:00) [2]Sergey13 ©
Здесь обсуждение велось в разрезе используемых инструментов, а не в смысле навыков правильного проектирования структуры вообще.
Sergey13 (2004-09-29 09:51:00) [3]А мое ИМХО, правильно спроектировал, если после сдачи программы не занимаешься ежедевным решением постоянно возникающих вопросов по работоспособности структуры. А уж батником создал или ервином - тридцать третий вопрос.
Reindeer Moss Eater (2004-09-29 09:31:00) [4]На мой взгляд ты правильно проектируешь БД если:
1. сможешь запуском одного .bat файла создать её структуру и наполнить справочники.
2. запуском одного батника накатить на существующую БД все последние изменения структуры.
Reindeer Moss Eater (2004-09-29 09:27:00) [5]"Мышкой" проектировать БД конечно удобно.
После чего однажды в четверг БД сносится под корень легким движением руки.
После чего в пятницу на форуме появляется ветка с вопросом "Как восстановить структуру удаленной таблицы"
Rule (2004-09-29 09:22:00) [6]msguns (28.09.04 9:46) [8]
Согласен и поддреживаю (чтоб установить чашу равновесия), кому чего удобнее, но с экспертом мне сало легче дышать, это точно
Павел (2004-09-28 19:01:00) [7]Спасибо всем !
msguns (2004-09-28 09:46:00) [8]>Sergey_Masloff (27.09.04 22:27) [5]
>Нет, правда, я не пойму в чем удобство? Если честно, я НИКОГДА не видел чтобы кто-то пользовался визуальными конструкторами для создания таблиц в БД... Нет, кроме шуток. Ни разу...
Там же нет никаких сокращений берешь и пишешь. В конструкторе скакать по гриду все эти комблбоксы... Не знаю зачем это. Впрочем, конечно как кому удобнее но когда я попробовал однажды я на таблицу создание которой у меня в обычном режиме заняло бы минуту делал минут 5.
Удобство есть, и не малое. Например, удобно планировать новую таблицу, видя структуры и связи всех остальных. Далее, автоматом создаются триггера и процедуры получения NewID, причем удобно "на лету" именовать их как требуется из соображение стройности и наглядности всей логики БД. При указании форин-кеев
ошибки указыватся сразу же. Быстрее и удобнее писать комментарии в описателях объектов БД (полей, ключей, триггеров и т.д.)
Что же касается гемора со "скаканием по все этим комблбоксам", то ничто не мешает Вам создать в конструкторе костяк таблицы (в смысле ключи, форин-кеи, процы, генераторы и триггера), затем откатиться, сохраниться в скрипте, а зетем этот скрипт ручками довести до ума ?
Хотя, конечно, дело привычки ;)) Ни в коем случае не имел в виду что-либо советовать Вам, просто попробовал привести аргументы в пользу "десктопного" проектирования БД
С уважением.
GanibalLector (2004-09-28 01:33:00) [9]Ну ты лукавишь, конечно ;-) Неужто create table сам пишешь?
М-да...лукавлю.Именно то я не набираю ;)
DrPass (2004-09-27 23:08:00) [10]
> Неужто create table сам пишешь? Или все таки IBExpert за
> тя запрос генерирует? ;-)
Вообще-то проще все-таки create table написать :). В IBExpert, кстати, уже давно гнездится зародыш CASE-системы, пока что глючный и примитивный, но возможно, в будущем и станет чем-то полезным.
А вообще, давно есть CASE класса ERwin, довольно дорогие. Очень мощный и удобный инструмент, настоятельно рекомендую освоить. Если в базе несколько сотен таблиц и связей между ними, без таких программ не обойтись
Sergey_Masloff (2004-09-27 22:27:00) [11]jack128 © (27.09.04 22:23) [4]
Нет, правда, я не пойму в чем удобство? Если честно, я НИКОГДА не видел чтобы кто-то пользовался визуальными конструкторами для создания таблиц в БД... Нет, кроме шуток. Ни разу...
Там же нет никаких сокращений берешь и пишешь. В конструкторе скакать по гриду все эти комблбоксы... Не знаю зачем это. Впрочем, конечно как кому удобнее но когда я попробовал однажды я на таблицу создание которой у меня в обычном режиме заняло бы минуту делал минут 5.
jack128 (2004-09-27 22:23:00) [12]Sergey_Masloff (27.09.04 22:01) [3]
А дело не скорости. Дело в удобстве. Тут кто то приводил в пример программы для регистрации пассажиров(или что то подобное, точно не помню) там операторам платят за кол-во введенной информации. так эти программы - консольные!! С огромным кол-вом ключей и сокращений. Операторы все эти сокращения знают наизусть и добиваются ОГРОМНОЙ скорости ввода информации. Вот только нормальный человек просто не сможет понять что весь этот введенный бред означает.
зы Я вовсе не хочу сказать что программист БД может не знать SQL, естественно такие вещи знать обязан...
Sergey_Masloff (2004-09-27 22:01:00) [13]jack128 © (27.09.04 21:50) [2]
>Неужто create table сам пишешь?
Я пишу. Всегда. Это ж быстрее! Никогда не понимал этого гимора с созданием таблиц в конструкторе IBExperta.
jack128 (2004-09-27 21:50:00) [14]
> Неужели все программисты "вручную" пишут
>запросы/хранимые процедуры/триггеры/прочее.
> Естественно
Ну ты лукавишь, конечно ;-) Неужто create table сам пишешь? Или все таки IBExpert за тя запрос генерирует? ;-)
2Автор скачай эту программу, посмотри..
GanibalLector (2004-09-27 20:03:00) [15]Неужели все программисты "вручную" пишут запросы/хранимые процедуры/триггеры/прочее.
Естественно.