![]() |
|
Модераторы: Akella |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Начинаю описание базы данных Paradox
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
1) Краткое описание - Парадокс - одна из самых старых локальных баз данных. Изначально развивалась фирмой Борланд (до 7й версии включительно), последние 3 версии: 8я, 9я и 10я выпущены фирмой Corel. В настоящее время судьба проекта не известна, но есть основания предполагать, что ни Борланд, ни Corel не имеют далекоидущих планов в отношении этой базы данных, а объёмы её продаж в чистом виде незначительны, впрочем она входит в поставку некоторых версий Corel Office.
2) возможности - количество баз данных на сервере - собственно база данных представляет собой каталог на диске который содержит файлы таблиц, индексов, view, форм и т.п. На одном компьютере может быть практически ничем не ограниченное количенство баз данных. - количество таблиц в базе - неограниченно, но одновременно на одном компьютере не может быть открыто более 127 таблиц и 512 физических файлов - размер таблиц - 255 полей, 2000000 записей в таблице (реально меньше, так как лимит блокировок исчерпывается быстрее, реальное количество записей где-то около полумиллиона), 10800 Bytes максимальный размер записи (без Memo/Blob полей), 127 вторичных индексов на таблицу, 256 Mb максимум в Blob поле - количество пользователей и количество одновременных подключений - теоретический предел - 300 пользователей, но к этой информации надо относится с известной долей скептицизма, как и любая другая локальная база данных, парадокс в силу своей архитектуры очень плохо работает в многопользовательском режиме и реальное количество работающих одновременных подключений вряд ли может быть больше 10-20. - наличие View - есть возможность создания View, которые представляют собой обычные текстовые файлы, отвечающие следующим требованиям: - лежат в каталоге базы данных - имеют расширение sql - в качестве наполнения имеют обычное выражение SQL Кроме того имеется другая разновидность View - файлы QBE (Query By Example) - очень древний, но довольно удобный способ работы с данными - альтернатива SQL, отличается гораздо большей гибкостью, чем SQL, но тем ни менее с развитием серверных баз данных отошедший в прошлое. Итак возможно создание текстового файла с расширением qbe и выражением qbe-запроса внутри, который можно использовать как View - наличие SP, языка программирования - сам парадокс поддерживает хранимые процедуры на своём собственном языке, однако я не знаю, можно ли их использовать вне самого парадокса из других програм. Вот пример SP:
- наличие триггеров - нет - репликация и синхронизация, перенос данных, средства backup - нет, однако, так как каждый объект базы данных является по сути отдельным файлом можно применять любые утилиты для Backup/Restore файлов. - поддержка кластеров - нет - поддержка XML, объектов, внешних процедур. - нет - возможность взаимодействия между серверами, включая сервера других типов. - BDE имеет средства для взаимодействия между любыми базами данных, для которых есть BDE драйвера. Вот пример SQL запроса к 2м базам данных:
В данном случае не важно в какого типа базы данных под Alias1 и Alias2 - это могут быть базы данных любых разновидностей. - поддерживаемые типы данных Alpha - строка Number - 15 знаков, плавающая запятая, плюс-минус 10 в 308 степени Money - обычное поле с плавающей запятой, возможно прнименение различных форматов вывода Short - целое от -32,767 до +32,767 Long Integer - oт -2147483648 дo 2147483647 BCD - плавающая запятая, повышенная точность, применяется для финансовых рассчётов Date - для хранения даты Time - для хранения времени Timestamp - для хранения даты/времени Memo Formatted Memo Graphic - вариант Blob поля OLE - вариант Blob поля Logical - True/False Autoincrement Binary - вариант Blob поля Bytes - вариант Blob поля - поддерживаемые конструкции SQL - поддерживаются все стандартные конструкции SQL: Select, Update, Insert, Create Table, Create Index, Alter Table, Alter Index, Join и т.д. Нет поддержки всторенных запросов типа: Select * From (Select * ...), нет поддержки использования переменных в запросах, нет возможности использования нескольких SQL statement в одном запросе. - поддержка транзакций - есть - системы репортинга, в том числе для Web - имеется встроенных не очень мощный репортинг, возможно использование других репортинговых систем: Crystal Report, Fast Report, Quick Report, Rave и д.р. Собственного репортинга ориентированного на Web нет. - наличие собственного агента для выполнения заданий по расписанию - нет -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
3) Защита данных, шифрование - очень слабая защита паролем, шифрования нет, защита может предохранить только от неискушённого пользователя, так как присутствуют универсальные пароли, то профессионалом защита снимается за пару минут.
4) простота использования - в целом Парадокс достаточно дружелюбная среда. Администрирование и освоение трудностей не составляет. - наличие встроенных средств администрирования с GUI интерфейсом - сам Парадокс - программа с довольно продуманным GUI интерфейсом, кроме того с BDE поставляется бесплатная программа Database Desktop, которая практически 90% дублирует функциональность самого Парадокса - возможность удалённого и Web администрирования - нет - сложность перевода проекта написанного под другую базу данных на рассматриваемую - Следует различать программы написанные именно при помощи самого Парадокса и программы на других языках программирования использующих таблицы формата парадокс. а)Перевод програм с языка других баз данных на язык Парадокс достаточно трудоёмок и не стоит потраченных усилий. б)Если же таблицы формата парадокс используются в третьесторонних программах то перевод с таблиц формата dbf на парадоксовский db обычно почти автоматический. Перевод с формата db на dbf может быть связан с трудностями, так как db немного более "богатый" формат и могут быть нужны небольшие переделки в коде. Перевод MS Access в Парадокс и наоборот будет связан с более значительными переделками. Перевод с серверных баз данных на парадокс практически бессмысленен и подчас очень труден. Перевод с парадокса на серверные базы данных обычно достаточно лёгок. Итог: с Парадокса легко перейти на почти любые другие базы данных, обратное зачастую намного сложнее. Наибольшая совместимость с форматом dbf. - сложность в установке и настройке - установка автоматическая, проблема может быть только одна - на больших винчестерах програма инсталляции может неправильно определять объём свободного места и не ставится (выход - временно занять свободное место оставив свободным только 1 гигабайт на время установки). Настройка не требуется. Практически не конфликтует с другим софтом - насколько сложно администрирование сервера - администрирование практически не требуется - наличие утилит для автоматизации операций для работы в командной строке - нет - наличие собственных утилит для отладки запросов (выполнение SQL, построение плана выполнения кверей, профайлер и т.п.), утилиты для слежения за производительностью сервера. - Сам парадокс, Database Desktop 5) платформы - на которых может работать сервер - MS DOS, MS Windows всех версий после Win 3.1 - на которых может работать клиент - MS DOS, MS Windows всех версий после Win 3.1 6) версии продуктов, краткая характеристика отличий - наиболее широкораспространена версия 7 - под win32 платформу, последняя версия от Борланд. Последующие версии привносили практически лишь косметические изменения 7) способы доступа - собственные API - есть DBI - API поставляемые с BDE ODBC - поддержка только таблиц до 5й версии включительно, для более поздних версий - с ограничениями. JDBC- есть ADO (OLE DB) - фактически работает через драйвер ODBC DAO - поддержка только таблиц до 5й версии включительно, для более поздних версий - с ограничениями. BDE - "родной" и самый быстрый способ доступа DBExpress - нет Другие: - большое количество сторонних производителей компоеннтов, классов и библиотек для работы с форматами таблиц Парадокс. оценка производительности - наиболее быстрый способ доступа - через BDE, на 1-2 порядка превосходит по скорости все остальные способы. Он же обеспечивает и максимальную функциональность. - языки программирования - Парадокс является очень распространённым форматом для работы с базами данных самых различных языков программирования. Является "родным" для програмных сред от фирмы Борланд: Дельфи, СBuilder. Из этих сред работа с таблицами в формате Парадокса очень простая. 8) производительность - монопольный доступ - очень высокая, особенно при локальном доступе. Например скорость выполнения Insert квери на локальной таблице при подключении BDE может достигать 2000-3000 кверей в минуту. - для большого количества одновременных подключений - очень низкая, крайне желательен перевод на бузу данных с серверной архитектурой. - для больших таблиц - при монопольном доступе весьма большая. - для больших массивов данных при монопольном доступе - большая 9) цена - отдельно уже производителями не продаётся, вместе с Corel Office стоит порядка $100. Однако для написания програм которые работают с базами данных Парадокс сам Парадокс не требуется, достаточно иметь набор бесплатных утилит, таких как Database Desktop, тем более Парадокс не нужен для run-time среды таких програм. 10) явные недостатки и преимущества по сравнению с системами такого же класса - парадокс показывает практически такую-же или даже превосходящую производительность чем DBase/FoxPro, однако имеет значительно более слабую собственную среду программирования. В сравнении с MS Access Парадокс показывает значительно более высокую производительность(примерно на порядок!), но проигрывает в мощности языка программирования и интегрированности с другими продуктами. Кроме того в отличие от MS Access развитие среды Парадокс практически прекращено. 11) предпочтительные проекты для использования - с точки зрения количества данных - для проектов манипулирующих не более чем сотней тысяч записей. - количества пользователей - 1-3 пользователя (одновременных подключений) - уровня защищённости - не требующие защиты информации - цены - для продуктов, которые не должны требовать дополнительных вложений в базы данных распространённости - годится для распространяемых приложений, как весьма компактная и лёгкая в распространении бизнес-модель Итог: - оптимально использование баз данных Парадокс для небольших проектов персонального пользования написанных на Дельфи или CБилдере 12) проекты в которых не рекомендуется использовать - для многопользовательских проектов, там где требуется высокий уровень защитыы данных и большие массивы информации. 13) Известные глюки и проблемы - система очень старая, что характеризует не только значительно устаревший интерфейс и отсутствие новомодных наворотов, но и очень низкое количество глюков. 2 основных глюка: 1. При многопользовательском доступе довольно частое возникновение corrupted table особенно если есть BLOB/Memo поля 2. При принудительном прерывании транзакции не освобождение ресурсов и как следствие "разбухание" служебных файлов. 14) Краткий обзор основных прилагаемых утилит и средств для обслуживания сервера - Database Desktop - полноценная среда для управления любыми базами данных через BDE - DataPump - утилита переноса данных из одной базы данных в другую - BDE Administrator - программа управления BDE 15) Краткий обзор наиболее примечательных продуктов третьесторонних производителей для работы с данной базой данных. - огромное количество софта для работы с Парадоксовскими таблицами, практически можно найти программы на любой вкус и для любых целей. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
16) Иллюстративный материал
Примерно так выглядит Paradox 7 Присоединённый файл ( Кол-во скачиваний: 125 )
Paradox.jpg-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Практически описание завершено. Какие пожелания, исправления, замечания? Жду с нетерпением!
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| VisualCraft |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Вот вопрос по переводу с серверных баз на парадокс, поподробнее можно?
А именно нужно выбрать наиболее легкий вариант локальной базы предназначенной для временной или весьма продолжительной работы в офлайне и кэширования некоторых данных в онлайне. Основная база лежит на сервере, пусть например это PostgreSQL. Насколько Парадокс подходит в качестве локального фрагмента серверной базы? Т.е. пользователи работают с локальной базой, и время от времени обмениваются данными с серверной базой на сервере. Закачивают новые данные в локальную базу и сливают то что наработали сами. Использовать серверные базы в локальном режиме мне кажется тяжеловато будет, у пользователей первые и вторые пеньки стоят, ресурсов мало. Напрягает связка локальный Apache+DB Сервер+ODBC. Или может есть какая нибудь крохотуля, которая напрямую через ODBC справится и по возможностям сходна с PostgreSQL? В частности, вложенные запросы обязательны, типы данных должны быть сходны, остальное неважно. Сколько будет весить для юзера? Где взять? |
|||
|
||||
| VisualCraft |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Забыл сказать еще, приложение разрабатывается на Visual C++, Поэтому BDE исключается. Или нет? Может есть что-нить адекватное? Пока делаю через OLE DB (ODBC)
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Думаю, что наиболее адекватным решением всё-таки будет использование локальной PostgreSQL. Для Вашего случая Парадокс не очень подходит, так как преимущества в скорости будут ощутимы только при использовании BDE. Кроме того я бы порекомендовал подумать над Foxpro - возможностей много, в локальных условиях база весьма шустрая, даже на античном железе.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| VisualCraft |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 24.11.2003 Репутация: нет Всего: нет |
Уже пробую локальный PostgreSQL... Очень тяжелый, много всякого мелкого мусора, да еще + ODBC.
А вот например есть такая штука - Btrieve(Pervasive.SQL 2000). Насколько я понял, он позволяет внедрить в приложение библиотеку С++, которая обеспечивает SQL запросы и непосредственный доступ напрямую к базе данных. Боюсь выдать желаемое за действительное, но кажись не нужен ни ODBC, ни самостоятельный сервер базы данных. Само приложение объединяет и клиент и сервер и драйвер... |
|||
|
||||
| linker |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 197 Регистрация: 10.7.2002 Где: Питер Репутация: нет Всего: нет |
Все очень четко и ясно.Давно искал о хранимых процедурах в Paradoxe.
Vit а про храинмые процедуры в paradoxe где можно почитать. |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: нет Всего: 22 |
Vit, - "для большого количества одновременных подключений - очень низкая, крайне желательен перевод на бузу данных" - лучше описаться ты не мог
linker, нигде. их там попросту нет. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Леночка - Ваш вопрос лежит здесь, так как здесь он совсем не по адресу:
http://forum.vingrad.ru/index.php?showtopic=34321 -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vidocq |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 431 Регистрация: 15.12.2004 Где: Запорожье, Украин а Репутация: нет Всего: 7 |
2 Vit
Насколько хорошо Парадокс работает как база для десктопного приложения в сочетании с джавой? -------------------- Всё течёт © |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Плохо, нет драйверов
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Гость_pavel |
|
|||
|
Unregistered |
Как прочитать в SQL-запросе информацию из Blob-поля типа Bytes
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Другие СУБД | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |