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 =", txt)
endMethod
method pushButton (var eventInfo Event)
- Наявність тригерів - немає
- Реплікація і синхронізація, перенесення даних, засоби backup - ні, проте, так як кожен об'єкт бази даних є по суті окремим файлом можна застосовувати будь утиліти для Backup / Restore файлів.
- Підтримка кластерів - немає
- Підтримка XML, об'єктів, зовнішніх процедур. - Немає
- Можливість взаємодії між серверами, включаючи сервера інших типів. - BDE має засоби для взаємодії між будь-якими базами даних, для яких є BDE драйвера.
- Підтримувані типи даних
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 немає.
- Наявність власного агента для виконання завдань за розкладом - немає
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) Короткий огляд найбільш примітних продуктів третьесторонніх виробників для роботи з даною базою даних. - Величезна кількість софта для роботи з Парадоксовскімі таблицями, практично можна знайти програми на будь-який смак і для будь-яких цілей.
Access
Основні характеристики СУБД Access:
Володіє всіма достоїнствами Windows технологій.
• У Access таблиці форми запити і звіти зберігаються в загальному файлі бази даних.
• До складу Access включений ряд спеціальних програм, таких як конструктори і майстри.
• У Access є апарат, який називається «будівник виразів».
• У Access є мова програмування ВБА. Мається одночасний доступ декількох користувачів до загальної бази даних.
В Access є засоби, необхідні для роботи з іншими базами даних різних форматів. СУБД Access містить такі об'єкти:
1. Таблиці.
2. Запити
3. Форми.
4. Звіти
5. Макроси
6. Модулі
Таблиця - це основна структура, призначена для зберігання інформації. Рядки цієї таблиці називаються записами, а стовпці - полями бази даних. Кожне поле має певний тип даних: довжину і унікальне ім'я, яке ідентифікує що зберігається в цьому полі інформацію. Максимальна кількість полів 255, записів 2000.Запити. Запит дозволяє користувачеві отримати потрібні дані з однієї або декількох таблиць, тобто Запит - це засоби відбору даних, що задовольняють певним умовою. Можна створити запити на вибірку поновлення, видалення або додавання даних.
Форми. Вони призначені для введення, перегляду і редагування даних в зручному для користувача вигляді.
Звіти. Він використовується для відображення на екрані або паперовому носії інформації з бази даних у вигляді зручному для її сприйняття та аналізу користувачем.
Макрос - це послідовність команд для автоматизації виконання операцій в середовищі Access без програмування.
Модуль - це програма для обробки даних, написана мовою ВБА. Модулі розробляються для реалізації нестандартних процедур при створенні додатків. Файли створені в Access мають форму mdb.
Дані, використовувані в Access можуть бути наступних типів:
• Тестові
• Числові
• Дата час
• Грошові
• Лічильник
• Логічні
• Гіперпосилання Майстер підстановок
Текстові. 50 символи по замовчуванні.
Числові. Це числа використаних символів за винятком грошових символів. Розмір: ціле, довге ціле, числа з плаваючою точкою.
Дата час. Такі ж характеристики як і в текстовому.
Грошові - це грошові значення і числові дані, що дозволяють робити обчислення без округлення.
Лічильник - це унікальні послідовні номери кроком одиниця, який ідентифікує записи в таблиці. Значення цих полів оновлювати не можна.
Логічні - це поля, які можуть одне з двох значень. (Приклад: істина - неправда, вкл. викл.)
Гіперпосилання - це рядок, що складається з букв і цифр і представляє адресу посилання на різні ресурси.
Майстер підстановок створює поле, що дозволяє вибрати за допомогою спадного меню значення з іншої таблиці або зі списку значень.
При проектуванні бази даних вибирається один з можливих режимів створення таблиці:
1. створення таблиці в режимі конструктора.
2. створення таблиці за допомогою майстра.
3. створення таблиці шляхом введення даних.
Таблиця в базі зазвичай має ключ. Ключ - це поле, значення якого однозначно визначає кожний запис у таблиці, тобто значення якого в даній таблиці не повторюється. Ключ називають ще ключовим полем або первинним ключем. Обов'язковою умовою зв'язку двох таблиць є наявність співпадаючих полів. Ключове поле первинної таблиці має відповідати аналогічному полю таблиці, яке з нею зв'язується. Заповнюється таблиця даними по рядках (записах). Запит - це звернення до бази даних за інформацією, що міститься у таблиці або іншому запиті і цікавить в даний момент користувача. Результатом отримання запиту являє собою таблицю, яка називається динамічною або тимчасовою, тобто при новому запиті таблиця будується завісь.
Існують наступні режими створення запиту:
• У режимі майстра.
• У режимі конструктора.
У режимі конструктора. На екрані з'являється вікно, новий запит, в якому перераховані всі способи в створенні запиту. Це: