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:
method pushButton (var eventInfo Event)
var
txt String
myNum Number
endVar
myNum = 123.321
txt = String(myNum)
msgInfo(«myNum богатый» формат и могут быть нужны небольшие переделки в коде.
Перевод 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) Краткий обзор наиболее примечательных продуктов третьесторонних производителей для работы с данной базой данных. — огромное количество софта для работы с Парадоксовскими таблицами, практически можно найти программы на любой вкус и для любых целей.
Источник: www.delphisite.ru
Таблицы форматов dBase и Paradox
С++ Builder не имеет своего формата таблиц, но поддерживает, как собственные, два типа локальных таблиц dBase и Paradox. Каждая из этих таблиц имеет свои особенности. Таблицы dBase являются одним из первых появившихся форматов таблиц для персональных компьютеров и поддерживаются многими системами, которые связаны с разработкой и обслуживанием приложений, работающих с БД.
- простота использования;
- совместимость с большим числом приложений.
Ниже содержится список типов полей таблиц dBase IV. Для каждого типа приводится символ, используемый для его обозначения в программе Database Desktop (это программа создания и редактирования таблиц, SQL-запросов и запросов QBE), а также описание значений, которые может содержать поле рассматриваемого типа.
Тип | Обозначение | Описание значения |
Character | C | Строка символов. Длина не более 255 символов |
Float | F | Число с плавающей точкой. Диапазон: -10 308 . 10 308 . Точность — 15 цифр мантиссы |
Number | N | Число в двоично-десятичном формате BCD(BinaryCodedDecimal) |
Date | D | Дата |
Logical | L | Логическое значение. Допустимы значения true(истина) и false(ложь). Разрешается использование прописных букв |
Memo | M | Строка символов. Длина не ограничена. Символы хранятся в файле с расширением dbt |
OLE | O | Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле с расширением dbt |
Binary | В | Последовательность байтов. Длина не ограничена. Байты содержат произвольное двоичное значение, хранятся в файле с расширением dbt |
- dbf — таблица с данными;
- dbt — данные больших двоичных объектов, или BLOB-данные (BinaryLargeOBject). К ним относятся двоичные,меню- и OLE-поля. Memo-поле также называют полем комментариев;
- mdx — поддерживаемые индексы;
- ndx — индексы, непосредственно не поддерживаемые форматом dBase. При использовании таких индексов программист должен обрабатывать их самостоятельно.
Имя поля в таблице dBase должно состоять из букв и цифр и начинаться с буквы. Максимальная длина имени составляет 10 символов. В имена нельзя включать специальные символы и пробел.
К недостаткам таблиц dBase относится то, что они не поддерживают автоматическое использование парольной защиты и контроль целостности связей, поэтому программист должен кодировать эти действия самостоятельно.
- большое количество типов полей для представления данных различных типов;
- поддержка целостности данных;
- организация проверки вводимых данных;
- поддержка парольной защиты таблиц.
Большой набор типов полей позволяет гибко выбирать тип для точного представления данных, хранимых в базе. Например, для представления числовой информации можно использовать один из пяти числовых типов. В ниже содержится список типов полей для таблиц Paradox7. Для каждого типа приводятся символ, используемый для обозначения этого типа в программе Database Desktop, и описание значений, которые может содержать поле рассматриваемого типа.
Тип | Обозначение | Описание значения |
Alpha | А | Строка символов. Длина не более 255 символов |
Number | N | Число с плавающей точкой. Диапазон: -10 307 . 10 308 . Точность 15 цифр мантиссы |
Money | $ | Денежная сумма. Отличается от типа Number тем, что в значении отображается денежный знак. Обозначение денежного знака зависит от установок Windows |
Short | s | Целое число. Диапазон: -32 768 . 32 767 |
Longlnteger | i | Целое число. Диапазон:-2 147 483 648 . 2 147 483 647 |
BCD | # | Число в двоично-десятичном формате |
Date | D | Дата. Диапазон: 01.01.9999 до н. э. . 31.12.9999 |
Time | T | Время |
Timestamp | Дата и время | |
Memo | M | Строка символов. Длина не ограничена. Первые 240 символов хранятся в файле таблицы, остальные в файле с расширением mb |
Formatted Memo | F | Строка символов. Отличается от типа Memo тем, что строка может содержать форматированный текст |
Graphic | G | Графическое изображение. Форматы BMP, PCX, TIFF, GIF и EPS. При загрузке в поле изображение преобразуется к формату BMP. Для хранения изображения используется файл с расширением mb |
OLE | O | Данные в формате, который поддерживается технологией OLE. Данные хранятся в файле с расширением mb |
Logical | L | Логическое значение. Допустимы значения true(истина) и false(ложь). Разрешается использование прописных букв |
Autoincrement | + | Автоинкрементное поле. При добавлении к таблице новой записи в поле автоматически заносится значение, на единицу большее, чем в последней добавленной записи. При удалении записи значение ее автоинкрементного поля больше не будет использовано. Значение автоинкрементного поля доступно для чтения и обычно используется в качестве ключевого поля |
Binary | В | Последовательность байтов. Длина не ограничена. Байты содержат произвольное двоичное значение. Первые 240 байтов хранятся в файле таблицы, остальные в файле с расширением mb |
Bytes | Y | Последовательность байтов. Длина не более 255 байтов |
При работе с таблицей в среде программы Database Desktop значения полей типа Graphic, Binary, Memo и OLE не отображаются.
Имя поля в таблице Paradox должно состоять из букв (допускается кириллица) и цифр и начинаться с буквы. Максимальная длина имени составляет 25 символов. В имени можно использовать такие символы, как пробел, #, $ и некоторые другие. Не рекомендуется использовать символы ., ! и j, т.к. они зарезервированы в С++ Builder для других целей. При задании ключевых полей они должны быть первыми в структуре таблицы.
Если требуется обеспечить перенос или совместимость данных из таблиц Paradox с таблицами других форматов, желательно выбирать имя поля длиной не более 10 символов и составлять его из цифр и латинских букв.
Поддержка концепции целостности данных обеспечивает правильность ссылок между таблицами. Например, если в БД имеются таблицы клиентов и заказов, то эти таблицы могут быть связаны следующим образом: каждая запись таблицы заказов ссылается через индексное поле на запись в таблице клиентов, соответствующую сделавшему заказ клиенту. Если в таблице клиентов любым способом удалить запись с информацией о каком-либо клиенте, то BDE автоматически удалит все записи, соответствующие этому клиенту, из таблицы заказов. Такое удаление взаимосвязанных записей называют каскадным.
Для полей можно определить специальный диапазон, в котором должны находиться вводимые в них значения. Кроме того, для каждого поля можно определить минимальное и максимальное допустимые значения. При попытке ввода в поле значения, выходящего за допустимые границы, возникает исключение (исключительная ситуация), значение не вводится и содержимое поля не изменяется. Например, для поля salary (оклад) в качестве минимального значения логично указать ноль, тем самым в это поле запрещается вводить отрицательные значения. Максимальное значение поля salary зависит от организации, страны и других факторов.
Наряду с диапазоном допустимых значений для каждого поля можно задать значение по умолчанию, которое автоматически заносится в поле при добавлении к таблице новой записи.
При работе с конфиденциальной информацией может потребоваться защита таблиц и их полей. Для каждой таблицы Paradox следует указать основной пароль, который используется при изменениях во всей таблице, связанных со сменой структуры или с редактированием данных в любом поле. Возможно также задание дополнительного пароля, позволяющего ограничить доступ к конкретному полю или группе полей таблицы, а также набора операций, применимых к таблице (например, разрешения только на чтение записей таблицы без возможности их модификации). После установки паролей они будут автоматически запрашиваться и контролироваться при любой попытке доступа к таблице.
Определенным недостатком таблиц Paradox является наличие относительно большого количества типов файлов, требующихся для хранения содержащихся в таблице данных. При копировании или перемещении какой-либо таблицы из одного каталога в другой необходимо обеспечить копирование или перемещение всех файлов, относящихся к этой таблице.
- db — таблица с данными;
- mb — BLOB-данные;
- рх — главный индекс (ключ);
- xg* и yg* — вторичные индексы;
- val — параметры для проверки данных и целостности ссылок;
- tvи fam — форматы вывода таблицы в программе Database Desktop.
Указанные файлы создаются, только если в них есть необходимость; конкретная таблица может не иметь всех приведенных файлов.
Кроме названных файлов при работе в сети для управления доступом к таблицам Paradox используются файлы с расширением net.
Источник: cubook.pro
Paradox
Paradox — реляционная СУБД, ныне выпускаемая компанией Corel. Входит в пакет WordPerfect Office.
Paradox для DOS
СУБД Paradox для DOS первоначально разрабатывалась компанией Ansa-Software, которая была поглощена фирмой Borland в сентябре 1987 года. Наиболее распространены были версии 3.5 и 4.5. Версии до 3.5 включительно основывались на исходной 1.0; версии 4.0 и 4.5 были созданы заново с использованием Borland C++, и включали новую схему использования памяти.
Paradox для Windows
Paradox для Windows, несмотря на то, что использует часть кода DOS-версии — другой продукт, разрабатываемый другой командой программистов.
Интересные факты
По легенде названием БД обязана тому, что работала гораздо быстрее, чем должна была по расчётам создателей. [источник не указан 4870 дней]
Источник: www.sbup.com