C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Альтернативы Paradox'у
Dmitri
  Отправлено: 19.06.2003, 21:03


admin@localhost

Группа: Модератор
Сообщений: 110



Посмотрел предыдущие темы и обнаружил такие высказывания:

QUOTE

выкинь этот парадокс


И т.д. Я собираюсь делать программу с использованием БД (локальной (пока)). Требования небольшие: таблица, добавление/удаление/редактирование записей, сортировка по различным критериям, поиск...

Уже сделал наброски с помощью Database Desktop, Paradox.

Может, есть какие-либо средства получше/понадежнее/поудобнее?
Георгий
Отправлено: 19.06.2003, 22:53


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



это я такое говорил — теперь, наверное, придётся обосновать своё мнение:

около 1.5 лет тому начинал делать одну програмку с использованием в качестве БД Paradox
~ 1 года назад начал вводить её в эксплуатацию и практически сразу наткнулся на 2 неприятные вещи:
1. когда в таблице> 10 000 записей скорость доступа падает на порядок (она наверное создана на основе хеш таблиц)
2. она не поддерживает транзакции и в ней отсутствуют средства контроля целостности файла — как следствие внезапное нажатие reset разрушает БД без возможности восстановления, причём разрушение может посить неявный характер — внезапно перестаёт работать вставка записей и т.п.

в результате в срочном порядке пришлось разрабатывать специализированную БД лишённую всех этих недостатков, что привело к финансовым потерям и работе по 14-16 часов в сутки в течении 3 недель фактически без выходных (это цена работы по договорам, в случае если что-то идёт не так...). Я до сих пор вздрагиваю, когда это вспоминаю...

преимущества Paradox:
-доступность — идёт в комплекте с BDE
-лёгкость освоения — практически во всех книгах посвящённых BCB демонстрируют возможности BDE на примере Paradox
недостатки:
-полное отсутствие надёжности
остальные особенности Paradox не принципиальны:
-целостность БД может быть реализована в программе
-распределённую БД из неё можно тоже сделать с пом. программы

на что менять — на халявный FireBird (FireBuird? FireBerd? — во блин забыл как писать...) — который якобы лишён недостатков Paradox (сам не проверял — приходится верить словам других участников)

А если есть деньги, то надо провести анализ области применения и выбрать что-то подходящее — сходу могу назвать SyBase, Oracle9i, MSSQLServer и тотже файрбирд.
Admin
Отправлено: 20.06.2003, 16:46


Владимир

Группа: Администратор
Сообщений: 1190



Насчет InterBase / FireBird / Yaffil

Из книги "Мир InterBase" А.Н Ковязин С.М.Востриков:

"InterBase полностью совместим со стандартом ANSI SQL 92, а также
имеет свое собственное расширение SQL для хранимых процедур и
триггеров. В сравнении со многими другими СУБД, InterBase предоставляет
очень эффективный механизм триггеров: каждая таблица может иметь
большое количество триггеров, которые выполняются автоматически при
вставке, изменении или удалении каждой отдельной записи, до или
после этих событий.
Многие функции существующих СУБД были впервые реализованы в
InterBase
 — это в частности обновляемые представления, события,
многомерные массивы и BLOB-поля. Более того, некоторые механизмы,
такие, например, как двухфазное подтверждение транзакций, до сих
пор остаются совершенно уникальными, представленными только
в InterBase"




Но для небольшой таблицы вполне подойдет и Paradox
если
QUOTE

с использованием БД локальной




Отредактировано Admin — 20 Jun 2003, 16:50
Dmitri
Отправлено: 20.06.2003, 18:52


admin@localhost

Группа: Модератор
Сообщений: 110



"целостность БД может быть реализована в программе" — How To Do It?

Где можо почитать про FireBird? Верно, про парадокс много в книгах написано, а как учиться FireBird'у?
Георгий
Отправлено: 20.06.2003, 21:23


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



>>"целостность БД может быть реализована в программе" — How To Do It?<<

имелось ввиду хранение в БД не противоречивой информации — реализуется путем имитации работы триггеров и ограничений на добавляемые данные в основной программе т.е. фактически надо реализовать свою СУБД — делается в исключительных случаях т.е. когда другого пути нет.

>>как учиться FireBird'у"<<
ну что нужно сделать
1. для начала неплохобы прочитать про теорию реляционных БД, но не сильно этим увлекаться т.к. от реляционной алгебры толку мало
2. озакомится с основами SQL — всегда пригодится т.к. "язык структурированных запросов" является стандартным для выполнения запросов к реляционным БД (объектная сейчас только Oracle9i,он тут я могу и ошибаться)
3. ознакомиться с 3-х и 2-х звенной архитектурой ИС
ориентировочное время освоения — 6-8 недель занятий

но все эти варианты не серьёзные — на трезвую голову так не делают, а по пьяни тем более. Бери компоненты IB, ищи в инете примеры и методом тыка осваивай SQL операторы select, insert, delete, update, create table, а потом играйся с визуальная частью, кстати такой же как и у BDE (тут могу что-то путать).
ориентировочное время освоения — 2-4 недели разгильдяйства


>Программеры — они толстые. Потому что они сидят. А админы — они тощие.
>Потому что бегают. Впрочем, бывают тощие программеры. Hо не надо думать,
>что это исключение из правил — это переученные админы. Также встречаются и
>толстые админы. Это обленившиеся программеры.
>
>Программеры курят быстро, потому что мысль. Потому что она уйдет и
>придется думать ее снова. У админов мыслей нет, поэтому они курят
>медленно. Они делают это в те моменты, когда все работает и ничего не
>падает. Поэтому они курят редко.
>
>Программеры ходят на обед сами. Они приносят много еды в офис и вкусно ей
>пахнут. Они едят ее прямо на клаве. Потому что мысль. Админы заказывают
>еду в офис. Потому что если они за ней пойдут, что-нибудь упадет. И придется
>бежать в офис с недоеденным гамбургером. Потому что админы любят питаться
>от Макдональдса. Потому что вкусно, а потолстеть им не грозит. Если они не
>обленившиеся программеры.
>
>Программеры уходят с работы ночью. Потому что мысль. Hекоторые из них
>уходят вечером и думают мысль дома. Hекоторые, у которых есть ноутбук,
>думают ее в метро. Админы домой не ходят. Потому что если они пойдут
>домой, что-нибудь упадет. И придется идти на работу. А на работу они
>ходить не любят. И не ходят.
>
>Они там живут. У них обычно есть отдельное гнездо за отдельной дверью,
>часто запираемой на отдельный замок.
>
>Программеры спят в выходной. Обычно это среда или понедельник. Потому что
>мысль. В понедельник мысли еще нет. А в среду идет переход от одной мысли
>к другой. Админы спят в гнезде. Из-за отдельтного замка в это время иногда
>раздается храп. Админы редко спят больше десяти минут. Потому что если
>проспать больше, что-нибудь упадет. И придется просыпаться по
>необходимости. А админы любят просыпаться сами, пусть и через десять
>минут.
>
>Программеры пьют пиво. В основном светлое и много. Потому что мысль. Пока
>она плавает — ее можно думать. Главное, чтобы не утонула. Админы тоже пьют
>пиво.
>
>Потому что если что-нибудь упадет, им будет пофиг. Админы любят когда им
>пофиг.
>
>И программеры любят, когда им пофиг. Поэтому часто они пьют пиво вместе. И
>им вместе пофиг. После этого они спят. Hо не вместе. Админы спят в гнезде,
>а программеры — на клаве. Когда они просыпаются, они снова пьют пиво.
>Потому что хочется. Потому что они админы. И программеры.


Владимир — а нафига нужно "двухфазное подтверждение транзакций"? если это распределённые транзакции, то они действительно в 2 фазы завершаются всеми современными клиент/серверными СУБД, а если локальные — та зачем там 2 фазы?
Dmitri
Отправлено: 21.06.2003, 13:34


admin@localhost

Группа: Модератор
Сообщений: 110



Чей копирайт- "Программеры — они толстые. Потому что они сидят. А админы — они тощие."?
Георгий
Отправлено: 21.06.2003, 14:48


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



того же, кому принадлежит:

Чрезвычайное предупреждение
У меня для вас плохие новости. Я должен предупредить о появлении нового вируса. Серьезно! Этот реален, и я советую вам поспешить и принять соответствующие меры. Я получил сегодня по email следующее страшное предупреждение и должен передать его вам, чтобы вы смогли защититься. Перешлите его своим друзьям, и мы вместе сможем предотвратить эту угрозу до того, как она поставит мир на колени!

Если вы получите email с темой "Badtimes", немедленно УДАЛИТЕ ЕГО, НЕ ЧИТАЯ. Это самый разрушительный вирус, что когда-либо существовал.

Он не только полностью перезапишет ваш жесткий диск, но и переберется на любые диски рядом с вашим компьютером. Также он размагнитит ленты на ваших кредитных картах. Он сместит трекинг на вашем видеомагнитофоне, и используя подпространственные полевые гармоники, поцарапает все CD, которые вы попытаетесь проиграть. Он перекалибрирует настройки охлаждения вашего холодильника, так что все мороженое растает, а все молоко свернется. Он даст вашему бывшему другу/подруге ваш новый номер телефона. Этот вирус подмешает антифриз в ваш аквариум с рыбами. Он выпьет все ваше пиво. Он даже бросит свои грязные носки на кофейный столик, когда вы поджидаете друзей.

Он спрячет ключи от вашей машины, когда вы опаздываете на работу, и вмешается в работу вашего автомобильного радиоприемника, так что вы будете слышать только треск, когда застрянете в пробке. После запуска "Badtimes", вас начнут мучить ночные кошмары. Он заразит вас стригущим лишаем. Если сообщение "Badtimes" будет открыто в среде Windows95, он оставит поднятым сиденье туалета и оставит ваш фен включенным в опасной близости с полной ванной.

Известно, что он пренебрегает надписями «Открывать с этой стороны» и может заставить вас толкать «от себя» дверь, на которой написано «на себя». Он коварен и неуловим. Он опасен и ужасен. Это только некоторые его признаки.

Вы предупреждены!


ps. ощущение, что мне надо прочитать правила форума...

Отредактировано Георгий — 21 Jun 2003, 14:49
Admin
Отправлено: 21.06.2003, 15:01


Владимир

Группа: Администратор
Сообщений: 1190



Админы да, они тощие (по себе знаю).
Но толстых программеров я тоже не видел.

Насчет Учиться FireBird:

1/Скачать, установить сам FireBird, на сегодня последняя
нормальная версия Firebird-1.0.2.908-Win32.exe

2/ Скачать последнюю версию IBExpert — отличный бесплатный инструмент
визуального управления (создать/изменить/удалить базы/таблицы/поля
другие объекты базы данных) — всю работу по созданию базы удобно
делать в нем.

3/ Купить книгу с диском 2-ое издание "Мир InterBase"
Там про многое очень подробно все расписано.

4/ Сайт http://ibase.ru

5/ Установить Компоненты FIBPlus
которые дадут прямой доступ к InterBase (без BDE — BDE не нужно),
и много других полезных возможностей — именно через них и будет
идти работа с базой — про них также есть в вышеуказанной книге.
Anry
  Отправлено: 22.06.2003, 09:11


Дежурный стрелочник

Группа: Участник
Сообщений: 56



Сам уже с осени того года сижу на FireBird/InterBase. Самолично проверял его на прочность — испытания по моим "тестам" прошел (тоже не доверял словам о его отказоустойчивости). Проблем с ним не знаю никаких.
Может быть кому-то пригодится перевод справки InterBase по инструкциям SQL, пишите на мыло nestaleksey@yandex.ru, а то не в первый раз уже не могу выложить файл на сайт!!!???
Admin
Отправлено: 23.06.2003, 09:39


Владимир

Группа: Администратор
Сообщений: 1190



QUOTE

а то не в первый раз уже не могу выложить файл на сайт!!!???


Почему ? Какие проблемы ?

Если нужно что-то выложить, выкладывайте в нижеуказанную папку,
или на support@cbuilder.ru и присылайте описание в любом случае
того что выложили на support@cbuilder.ru , а из этой папки я уже
перемещу куда нужно с Вашим описанием выложенного.

Для участников форума организована папка для
обмена примерами или выкладывания информации.

Посмотреть содержимое: http://cbuilder.ru/Upload
Закачать пример в папку: http://cbuilder.ru/Upl/Upload.html
(пароль для закачки — как и для входа в закрытые форумы)


Anry
Отправлено: 23.06.2003, 12:04


Дежурный стрелочник

Группа: Участник
Сообщений: 56



Делал так:
Упаковываю в архив rar (размер 173 903 Кб);
Прикрепляю файл к сообщению;
После загрузки файла на сервер получаю сообщение об ошибке (Запрещено загружать файлы такого типа)
С этим сообщением попробовал еще раз — тоже самое.

Вернуться в Работа с базами данных в C++Builder