
Лекція 8 – Робота з базами даних у Delphi
Можливості Delphi при роботі з базами даних.
Типи локальних БД
2.1 Бази даних Paradox, їх переваги на недоліки використання.
2.2 Бази даних d BASE, їх переваги на недоліки використання.
Основи організації роботи з базами даних у Delphi.
Можливості Delphi при роботі з базами даних
Середовище швидкого проектування програмного забезпечення Delphi реалізує автоматизацію розробки візуальних програмних продуктів, які працюють з різними типами баз даних. Отримання доступу до різних типів баз даних у Delphi залежить від типів драйверів, які встановлюють з Borland Database Engine (BDE) та Active Data Objects (ADO). Ці драйвери встановлюють з’єднання з локальними базами даних типу Paradox, Access, d BASE і з вилученими серверами баз даних: Microsoft SQL Server, Oracle, Informix. Під базою даних (БД) розуміють один чи більше файлів записів даних із загальним призначенням і логічно пов’язаних між собою. Такі файли записів називають таблицями.
У деяких системах баз даних ці таблиці об’єднанні в єдиний файл на диску, який в об’ємі досягає кілька мегабайт. Такий файл іронічно називають “Титаніком”, оскільки при його втраті втрачаються усі дані. Таким чином працює, наприклад, Microsoft Access.
Бази даних фірми Borland зазвичай не пов’язані в єдиний дисковий файл; вони знаходяться в кількох файлах, кожен з яких має своє специфічне призначення. У Delphi база даних – це деяка область (зазвичай підкаталог), де зберігаються усі потрібні файли. Є можливість задати цю область жорстко, як маршрут в каталозі, Таке подання носить назву “псевдонім”. Тобто під псевдонімом розуміють ім’я бази даних, яке вказує місце знаходження файлів.
2. Типи локальних бд
Система BDE підтримує як свої власні, два типи локальних таблиць: Paradox і d BASE.
2.1 Бази даних Paradox, їх переваги на недоліки використання
Таблиці Paradox підтримують 15 типів полів від числових до текстових з фіксованою і змінною довжиною полів, що дозволяють зберігати двійкові дані.
Концепція цілісності даних (referential integrity) забезпечує правильність посилань між таблицями. Так, наприклад, кожному клієнту надається унікальний номер, який заноситься як в таблицю клієнтів, так і в таблицю замовлень (щоб можна було взнати, який клієнт зробив дане замовлення). При видаленні запису клієнта з таблиці клієнтів відповідний запис в таблиці замовлень буде мати посилання на неіснуючого клієнта, що є небажаним при проектуванні і роботі з базами даних. При цьому залишається можливість безпосереднього написання програми для видалення усіх посилань на конкретного неіснуючого клієнта з усіх таблиць бази даних. Таке видалення називається каскадним. Для таблиць Paradox система BDE здійснює це автоматично. Отже, визначимо основні переваги БД Paradox. До них відносять:
автоматизацію технології цілісності даних;
здійснення секретності даних (реалізується за допомогою введення паролів: основного – для операцій над усією таблицею; допоміжного – для обмеження доступу до підмножини полів та для забезпечення дозволу користувачам тільки добавляти записи, не маючи дозволу змінити наявні з них);
перевірку правильності даних (для кожного поля можна попередньо визначити максимальне і мінімальне значення, які включають зміст поля у певний діапазон, якщо введене значення виходить за межі визначеного діапазону, Delphi генерує виключну ситуацію і відмовляє введенню невірних значень);
високу продуктивність роботи з БД Paradox (продуктивність роботи з таблицями Paradox є значно вищою, ніж з БД d BASE).
Проте база даних Paradox у своїй структурі передбачає використання значної кількості типів файлів з різними розширеннями для збереження таблиць, що у свою чергу ускладнює процес збереження і передачі даних та операцію керування БД. У табл.1 подано огляд головних типів файлів бази даних Paradox.
При переміщенні таблиць бази даних з однієї папки в іншу без використання системи BDE необхідно окремо слідкувати, щоб у процесі передачі даних не було втрачено потрібної інформації і перемістилися усі файли БД.
Крім того, база даних Paradox передбачає використання системних файлів з розширенням .NET для контролю доступу до даних. При роботі у невеликій мережі з використанням одного NET-файлу для забезпечення доступу до однієї таблиці кількох користувачів проблем, як правило, не виникає, оскільки використовується окрема папка на файл-сервері, де зберігається NET-файл і надані права доступу до неї усім користувачам. Проблеми з’являються при роботі у великих мережах з кількома файл-серверами. Тоді всі користувачі БД мають мати доступ до сервера, на якому знаходиться потрібний NET-файл.
Таблиця 1 – Головні типи файлів таблиць Paradox
Розширення файлів БД Paradox |
Опис типів файлів |
DB |
Таблиця даних, обов’язковий файл. |
MB |
Дані великих двійкових об’єктів Binary Large Object (BLOB). Файл використовується для мемо-полів, графічних і двійкових полів, OLE-полів. |
PX |
Первинний індекс. Файл використовується для контролю за порядком сортування і пошуку даних у таблицях. |
XG, YG |
Вторинні індекси. Файли використовуються для керування альтернативним порядком сортування й пошуку інформації в таблицях. |
VAL |
У файлі зберігаються установки для перевірки достовірності даних і цілісності посилань. |
TV |
У файлі зберігається форма виведення таблиці в системі Database Desktop, задаються потрібні параметри (порядок стовпців, їх ширина тощо). |
FAM |
Допоміжний файл, який використовується разом з TV-файлом. |
Таким чином, до основних недоліків у роботі з таблицями баз даних Paradox відносять:
наявність у структурі бази даних великої кількості файлів з різними розширеннями для збереження таблиць;
використання файлів з розширенням .NET для контролю доступу до даних.