Візуальні компоненти призначені для роботи з базами даними

Як ми вже знаємо, будь-яка прикладна delphi-програма, призначена для роботи з базами даних, будується на основі використання трьох типів компонентів, це набір даних, джерело даних та візуальні компоненти для роботи з даними. Відмітимо, що в дану групу входять як візуальні, так і не візуальні компоненти. Не візуальні компоненти призначені для забезпечення доступу до даних та вибірки з бази даних інформації, що потім може оброблятися прикладною програмою. Візуальні компоненти, в свою чергу, призначені для відображення та редагування даних. Саме вони, по суті, забезпечують інтерфейс прикладної програми з користувачем. В середовищі програмування Delphi, вони розташовуються на закладці Data Controls палітри компонентів:

Читати повністю

Джерело даних — компонент TDataSource

Розглянувши основні характеристики проектів роботи з базами даних, приходимо до висновку, що джерело даних являється незмінним елементом при розробці будь-яких клієнтських програм, що пряцюють з даними такого типу. Компонент TDataSource (міститься на закладці Data Access палітри компонентів Delphi) і виконує функції джерела даних в таких програмах. Власних властивостей і методів у нього небагато, а якщо бути більш точним, то чотири властивості, два методи і три обробника подій. Але, незважаючи на таку скромність, він прекрасно вирішує поставлені перед ним завдання.

По-перше, організація взаємодій між компонентами доступу до набору даних (компоненти типу TTable, TQuery, TStoredProc,...) і елементами управління даними (TDBNavigator, TDBEdit, TDBGrid,...) здійснюється саме з допомогою компонентаTDataSource. Джерело даних, в такому випадку, бере на себе відповідальність за передачу інформації в компоненти відображення даних і повертає назад здійснені користувачем зміни. Завдяки такій винятковій здатності питання відображення і редагування пов'язаних з TDataSource даних не викликає ніяких труднощів.

По-друге, компонент TDataSource здатний організувати зв'язок між головним та підлеглим наборами даних. Це питання більш детально буде розглянуто в подальших параграфах, де з допомогою компонента TDataSource ми навчимося встановлювати відношення («один до одного»«один до багатьох»«багато до одного» і «багато до багатьох») між двома таблицями бази даних.

Читати повністю

Характеристика delphi-проектів які створюються для роботи з базами даних

При створенні програми для роботи з базами даних із застосуванням будь-якої технології доступу до даних (BDE (Borland Database Engine), dbExpress, ADO (ActiveX Database Objects), InterBase) використовується стандартний склад і схема зв'язку компонентів і таблиці бази даних. До складу delphi-програми для роботи з базами даних входять три типи компонентів: джерело даних, візуальні компоненти і набори даних.

Компонент джерело даних відіграє роль сполучної ланки між набором даних і візуальними компонентами. Візуальні компоненти служать для навігації по набору даних, відображення і редагування записів. Набори даних служать для організації зв'язку з таблицями бази даних. У Delphi для різних механізмів доступу до даних, в якості наборів даних використовуються свої компоненти.

Взаємозв'язок компонентів програми з базою даних та однією з її таблиць показано на наступній схемі.

Читати повністю

Створення та використання зображень засобами SQL

Зображення (VIEW) є віртуальною таблицею, вміст якої визначається SQL запитом. Для користувача бази даних зображення виглядає як реальна таблиця, що складається з рядків і стовпців. Однак, на відміну від таблиці, зображення як сукупність значень в базі даних реально не існує. Рядки та стовпці даних, які користувач бачить з допомогою зображення, є результатами запиту, що лежить в його основі. SQL створює ілюзію зображення, привласнюючи йому ім'я, як таблиці, і зберігає його визначення в базі даних.

Коли СУБД зустрічає в інструкції SQL запиту, звернення до зображення, вона відшукує його визначення, збережене в базі даних. Потім СУБД перетворює запит, який посилається на зображення, в еквівалентний йому запит, який в свою чергу звертається до вихідних таблиць зображення і виконує його. Таким чином, СУБД створює ілюзію існування зображення у вигляді окремої таблиці і в той же час зберігає цілісність вихідних таблиць.

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

Читати повністю

Використання індексів в таблицях бази даних

Що являє собою індекс? Індекс — це впорядкований вказівник на записи в таблиці.

Вказівник означає, що індекс містить значення одного або декількох полів в таблиці і адреси розміщення цих даних. Іншими словами, індекс складається з пар значень «значення поля» — «фізичне розміщення цього поля». Таким чином, за значенням поля чи полів, які входять до індексу, за допомогою індексу можна швидко знайти те місце в таблиці, де розміщується запис, що містить це значення. Впорядкований — означає, що значення полів, які зберігаються в індексі, впорядковані.

Єдине, чому сприяють індекси — це прискорення пошуку запису за його індексованим полем (індексоване — те що входить до індексу). Пошук за допомогою індексу здійснюється в багато разів швидше, ніж при послідовному переборі всіх значень з таблиці.

Індекс не є частиною таблиці — це окремий об’єкт, пов’язаний з таблицею і іншими об’єктами бази даних. Це дуже важливий момент реалізації СУБД, що дозволяє відділити збереження інформації від її подання.

Читати повністю

Введення обмежень в базах даних

В базі даних існують такі види обмежень:

  1. Первинний ключ — PRIMARY KEY.
  2. Унікальний ключ — UNIQUE KEY.
  3. Зовнішній ключ — FOREIGN KEY — може включати автоматичні тригери ON UPDATE і ON DELETE; перевірки — CHECK.

Обмеження бази даних бувають двох типів — на основі одного поля і на основі декількох полів таблиці. Давайте розглянемо створення обмежень детальніше. Першим в описі загального синтаксису обмежень йде ключове слово[CONSTRAINT <Ім'я обмеження>]. Тут CONSTRAINT означає обмеження. Як бачите, все це взяте в квадратні дужки і, значить, необов’язкове. В базі даних не може бути два обмеження з однаковими іменами.

За допомогою ключового слова CONSTRAINT можна задавати ім’я створюваному обмеженню і у випадку використання синтаксису обмежень на основі одного поля, і у випадку обмежень на основі декількох полів.

Якщо не вказати ім’я для обмеження, СУБД автоматично згенерує його. Однак краще все ж явно назначити ім’я, щоб покращити читабельність схеми бази даних і мати можливість, в подальшому, видалити його.

Читати повністю

Створення таблиці в базі даних

Перш ніж пиступити до розгляду SQL команди CREATE TABLE, розглянемо найбільш використовувані типи даних, які можуть приймати поля таблиці бази даних:

Тип Опис
BLOB Об'єкт, який зберігає дані великого обсягу, такі як графіка, текст і цифровий звук. Має декілька підтипів (sub_type), з яких найбільш використовуваним є 0: дані загального вигляду; 1: тексти. Підтип даних BLOB описується в їх контексті. Пам'ять під BLOB дані виділяється так званими сегментами. При оголошенні можна змінювати розмір сегмента, наприклад BLOB SEGMENT SIZE 1024. За замовчуванням розмір сегмента 80 байт.
CHAR(n); VARCHAR(n) Рядок тексту фіксованої довжини (від 1 до 32767 байт). Визначає кількість знаків.
DECIMAL (<точність>,
<масштаб>)
NUMERIC (<точність>,
<масштаб>)
Типи числових даних з фіксованими точністю і масштабом. Параметр <точність> (від 1 до 15) визначає загальну кількість цифр. <Масштаб> (від 1 до 15) визначає число цифр після коми. Повинно бути менше або дорівнює параметра <точність>. Розмір в пам'яті залежить від зазначеної точності.
DATE Дата (включає також інформацію про час).
FLOAT Дійсне число. 7 цифр точності. Займає 4 байта.
DOUBLE PRECISION Дійсне число підвищеної точності. Для наукових обчислень: 15 цифр точності. Займає завжди 8 байт.
INTEGER Ціле число від −2147483648 до 2147483648. Займає 4 байта.
SMALLINT Ціле число від −32768 до 32767. Займає 2 байта.

Отже, з типами розібралися, приступимо до створення таблиь. В SQL для цього існує команда CREATE TABLE, яка має наступний синтаксис:

Читати повністю

Наступна сторінка »