Лекція 8 – Робота з базами даних у Delphi

Лекція 8 – Робота з базами даних у Delphi

1. Можливості Delphi при роботі з базами даних.

2. Типи локальних БД

2.1 Бази даних Paradox, їх переваги на недоліки використання.

2.2 Бази даних d BASE, їх переваги на недоліки використання.

3. Основи організації роботи з базами даних у Delphi.

1. Можливості 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 для контролю доступу до даних.

2.2 Бази даних d BASE, їх переваги на недоліки використання

Формат таблиць d BASE – це один з перших форматів PC-таблиць. Тому він підтримується практично усіма додатками, пов’язаними з даними, що мають формат таблиць. Це забезпечує можливість широкого використання БД d BASE.

До того ж бази даних d BASE передбачають використання обмеженої кількості типів файлів, що полегшує процес збереження і передачі даних та спрощує операцію керування БД. У табл.2 подано огляд головних типів файлів бази даних d BASE. Зрозуміло, що обмежена кількість файлів полегшує резервне копіювання і обслуговування бази даних.

Крім того, БД d BASE характеризуються неповним видаленням записів, що сприяє підвищенню надійності використання баз даних. Так записи, які видаляються з таблиць d BASE, тільки відмічаються як видалені, але фізично не видаляються з бази. Записи, помічені як видалені, ігноруються при пошуку і переборі усіх записів таблиць. Для відновлення видалених записів можна користуватися API-функцією системи BDE – Dbi Undelete Record. Для виконання операції остаточного фізичного видалення непотрібних записів, помічених як видалені, із структури бази даних d BASE використовують функцію системи BDE – Dbi Pack Table.

Таблиця 2 – Головні типи файлів таблиць d BASE

Розширення файлів БД d BASE Опис типів файлів
DBF Робочі дані таблиці.
OBT BLOB-дані (мемо-, двійкові й OLE-поля).
MDX Використовуються для керування набором індексів, які підтримуються.
NDX Зберігають набір індексів, які не підтримуються.

Таким чином, серед основних переваг баз даних d BASE виділяють:

· можливість широкого використання таблиць d BASE;

· обмежену кількість фізичних файлів у структурі бази даних;

· неповне видалення записів із таблиць d BASE;

· високу надійність роботи з БД d BASE.

До недоліків роботи з БД d BASE відносять:

· відсутність автоматизованої цілісності посилань, перевірки достовірності введення значень і обмеження засобів захисту даних;

· використання коротких імен полів (імена полів можуть мати не більше 8-ми символів і не допускається використання пробілів у записі імен полів таблиць);

· обмежену кількість типів полів (у таблицях d BASE підтримується лише 8 типів полів: символьні, числа з фіксованою і плаваючою комою, дати, логічні, мемо-, OLE- і двійкові поля).

Обмежений набір типів полів призводить до неможливості виконання автоматичного форматування значень полів при відновленні даних з таблиць. Так, наприклад, відсутність грошового типу вимагає спеціального форматування числового поля d BASE. У базах даних Paradox для грошового типу це форматування виконується автоматично.

3. Основи організації роботи з базами даних у Delphi

Для організації роботи з базою даних у Delphi призначені компоненти двох сторінок палітри компонентів: сторінка доступу до даних Data Access та сторінка відображення даних DB Controls чи Data Controls (залежно від версії Delphi). Компоненти на сторінці Data Access для доступу до баз даних використовують засоби Borland Database Engine. Компоненти на сторінці Active Data Objects використовують технологію OLEDB, а компоненти на сторінці Inter Base дозволяють напряму з’єднуватися з базами даних Inter Base.

Розглянемо основні компоненти, передбачені для роботи з базами даних у Delphi. Так на сторінці Data Access розташований компонент T Database – це компонент, який об’єднує в собі компоненти T Table і T Query, які використовуються для безпосередньо доступу до даних. Так, якщо для T Table і T Query у властивості T Database вказано ім’я T Database, то вони входять до масиву T Database Components. Доступ до даних з допомогою T Database є зручнішим у випадку, коли він захищений паролем для визначених користувачів. Тоді використовується масив параметрів perams [i], де вказуються:

Username = SYSDBA

Password = Masterkey.

У випадку роботи з простими базами даних типу Paradox чи d BASE можна не користуватися компонентом T Database, а безпосередньо на сторінці властивостей інспектора об’єктів вказати ім’я потрібної директорії.

Властивості псевдонімів (Alias) редагуються в програмах BDE Configuration чи BDE Administration. З цією метою може бути використана також програма Database Desktop. Властивість Tablename компонента T Table використовується для конкретного вказування імені таблиць, наприклад, “lov.dbf”.

Компонент T Query реалізує доступ до даних за допомогою запиту SQL (структурованої мови запитів). Для вказування рядків запитів у Delphi використовується масив sql. Наприклад, для відкриття таблиці lov.dbf потрібно вказати запит:

sql [0] : = ‘sebet * from lov.dbf ‘;

Для відкриття таблиць користуються в T Database – засобами Connected:

T Table, T Query - Active

Якщо для цих властивостей обрати в інспекторі об’єктів значення TRUE, то таблиці відкриваються. Значення FALSE для цих же властивостей призводить до закривання таблиць. Для виконання цих функцій можуть бути також використані команди Open та Close в режимі виконання програми.

Для відображення і редагування даних у вигляді таблиць використовують компонент TTBGrid. Компонент TDBCtrlGrid призначений для відображення і редагування одиничних полів.

T D B label відповідає за відображення поля; T D B Edit – за відображення і редагування поля; T D B Memo – за відображення і редагування мемо-полів; T D B Combo box та T D B List box – відповідно за відображення і редагування поля з масиву значень Items; T D B Look up combo box та T D B Look up hist box використовуються для внесення даних з масиву значень іншої таблиці; T D B Navigator використовують для навігації (переміщення) по таблиці, для переходу в режим редагування запису та для відміни внесених змін і обновлення даних.

Компонент T Dataset реалізує зв’язок між компонентами доступу до даних (T D B Edit, T D B Label і т.д.). Тоді у властивості Dataset компонентів відображення вказується ім’я компонента T Dataset; а у властивості Tablename компонента T Dataset вказується ім’я компонента T Table чи T Query.

Елементи відображення окремих полів мають властивість Data field, яка вказує ім’я поля таблиці (тобто назву відповідного стовпчика), яке буде відображуватися і може редагуватися. Усі доступні поля таблиці T Table і T Query містяться в масиві fields, розмірністю 0..field count – 1. Доступ до них реалізується за допомогою індексу чи назви поля, наприклад:

T Table.fields [3]

чи

T Table. field by name (‘NAM’).

Кожне поле має визначений тип. Так, наприклад, у термінах Inter base є такі типи полів:

CHAR - символьний;

Numeric – числовий;

INTEGER – цілочислений;

Float – число подвійної точності;

DATA – дата.

Тому при зчитуванні окремих значень полів використовуються приставки:

asinteger – для цілого типу;

asfloat – для дійсного типу;

asdate time – для типу дата;

asstring – символьного типу.

Наприклад: field by name (‘adr’). asstring.

Отже, RAD-середовище Delphi передбачає зручну та автоматизовану роботу з базами даних та має компоненти і засоби для проектування та управління БД. Середовище швидкого проектування програмного забезпечення Delphi вважають професійним засобом для створення і організації роботи баз даних.

referatwnf.nugaspb.ru referatspr.nugaspb.ru referatqbe.nugaspb.ru rehr.deutsch-service.ru Главная Страница