- •Організація баз даних і знань
- •7.080401 "Інформаційні управляючі системи і технології " і
- •7.080402 "Інформаційні технології проектування"
- •Загальні зауваження до проведенння лабораторних робіт
- •Основні засоби для роботи з базами даних вdelphi
- •Архітектура баз даних вdelphi
- •Компоненти для роботи з базами даних
- •Завдання для лабораторних робіт Лабораторна робота №1 Створення та реструктуризація бази даних.
- •Завдання:
- •Зміст звіту:
- •Порядок виконання роботи Створення псевдоніму dbe
- •Створення таблиць бд
- •Визначення цілісності посилання між таблицями бд
- •Лабораторна робота №2
- •Використання Database Explorer при розробці форм
- •Розробка форми з використанням компонентів tTable, tDataSource, tdbGrid
- •Розробка форми з використанням компонентів tTable, tDataSource, tdbEdit, tLabel і редактора полів
- •Лабораторна робота №3
- •Лабораторна робота № 4 Обробка полів таблиць бази даних
- •Завдання:
- •Зміст звіту.
- •Порядок виконання роботи Створення полів, що обчисляються
- •Створення полів вибору даних (lookup - полів).
- •Лабораторна робота № 5
- •Використання контейнера tDataModule
- •Компонент tdbLookupComboBox
- •Порядок виконання роботи
- •Лабораторна робота № 6
- •Лабораторна робота № 7
- •Установка значень для пошуку
- •Лабораторна робота №8
- •Використання методів FindFirst, FindLast, FindNext, FindPrior.
- •Загальні зауваження до роботи з компонентомtQuery
- •Лаборатора робота № 9
- •Лабораторна робота № 10
- •Лабораторна робота № 11
- •Лабораторна робота №12
- •Побудова простих звітів
- •Групування даних в звіті
- •Перелік рекомендованої лiтератури
- •Навчально-методичне видання організація баз даних та знань
- •7.080401 "Інформаційні управляючі системи і технології " і
- •7.080402 "Інформаційні технології проектування"
Архітектура баз даних вdelphi
Загальний склад засобів, необхідних для роботи готового застосування з БД, а також загальна структура застосування зображені на рис. 3.
Додаток складається з невізуальних та візуальних компонентів роботи з БД, компонентів для видачі звітів (різновид візуальних компонентів), а також модулів даних.
Невізуальні компоненти мають прямий вихід на BDE, яка, в свою чергу, контактує з БД. Візуальні компоненти використовуються для відображення даних із невізуальних компонентів, тобто для забезпечення інтерфейсу користувача при роботі з даними. Модулі даних дозволяють централізовано зберігати деякі екземпляри невізуальних компонентів з метою забезпечення однотипного поводження наборів даних у всьому додатку.
Компоненти для роботи з базами даних
На рис. 4 показано взаємозв’язок компонентів для роботи з базами даних.
Рис. 4. Доступ до БД з точки зору додатку
Таблиця 1. Невізуальні компоненти для роботи з БД
Компоненти |
Призначення |
TDataBase |
Використовується при роботі в архітектурі “клієнт-сервер”. Здійснює з’єднання з віддаленою БД. |
TTable |
Реалізує набір даних(НД), джерелом даних для якого є одна таблиця БД. |
TQuery |
Реалізує набір даних, джерелом даних для якого є одна чи декілька таблиць БД. Структура запису НД, склад НД визначається SQL–запитом (операторSELECT). Дозволяє виконувати групові операції оновлення та вилучення в таблицях БД. |
TStoredProc |
Використовується в архітектурі “клієнт-сервер” для доступу до процедур, що зберігаються на віддаленій БД. |
TField |
Реалізує поле НД. TFieldстворюється також для кожного поля, що обчислюється, або поля, що повертає значення з іншого НД (LookUp), а також для результатів обчислення виразів та агрегатних функцій вSQL–запитах. |
TDataSource |
Проміжна ланка в ланцюжку “НД – TDataSource– Візуальні компоненти”. |
Таблиця 2. Візуальні компоненти для роботи з БД
Компоненти |
Призначення |
TBText |
Показує “тільки для читання” значення поля поточного запису НД. |
TDBEdit |
Забезпечує перегляд та зміну значення поля поточного запису НД. |
TDBCheckBox |
Забезпечує перегляд та зміну значення поля типу Boolean поточного запису НД. |
TDBRadioGroup |
Забезпечує можливість вибору значення для поля, що має фіксоване число варіантів значень. Значення подаються у вигляді радіокнопок . |
TDBMemo |
Дозволяє переглядати та коригувати значення Memo-поля (поле коментарію) в режимі текстового редактора. |
TDBListBox |
Виконується, коли треба вибрати значення поля зі списку, що показуються у вигляді рядків фіксованого розміру. Вміст списку визначається властивістю Items. |
TDBComboBox |
Використовується для тієї ж мети, що і TDBListBox, але список “випадає”. |
TDBLookUpListBox |
Використовується для вибору значення поля зі списку значень, що формується з певного стовпця іншого НД. Висота списку фіксована. |
TDBLookComboBox |
Використовується для тієї ж мети, що і TDBLookUpListBox, але список має комбінований вигляд (“випадає”) . |
TDBGrid |
Показує склад полів НД в “табличному” вигляді. |
TDBCtrlGrid |
Удосконалена версія TDBGrid. Дозволяє показувати склад одного запису НД в декількох рядках. |
TQuickRep |
Дозволяє робити форми звітів. |
TDBNavigator |
Дозволяє здійснювати навігацію по записам НД, переводити НД у стан вставки, зміни, включення запису, запам’ятовування змін. |
Задаючи значення властивості Nameвбудованих компонентівDelphi, використовують двох- або чотирьохсимвольний мнемонічний префікс, що полегшує визначення типу компонента. Наприклад, компонентиMemoмають префіксmе, компонентиEdit- префіксedі т.д. Інша частина ідентифікатора повинна являти собою зрозумілий опис об'єкта, наприклад:edCustomerNameабоmeComments.У табл. 3 наведені рекомендації щодо позначення типів компонентів при виборі імен деяких об'єктів. Майже всі префікси, які використовуються при позначенні імен об'єктів для роботи з базами даних, відповідають префіксам аналогічних об'єктів стандартних елементів керування з доданням перед ними буквиd. Наприклад, для імен об'єктів компонентівEditвикористовується префіксed, а для імен об'єктів компонентівDBEdit- префіксded.
Таблиця 3. Компоненти і їх рекомендовані префікси
Компонент |
Префікс |
Компонент |
Префікс |
BitBtn |
bb |
OpenDialog |
od_ |
Button |
bt |
OpenPictureDialog |
op_ |
Calendar |
ca |
PageControl |
pc |
ComboBox |
cb |
Panel |
pa |
Database |
db |
PopupMenu |
pu |
DataModule |
dm |
QRBand |
qba |
DataSource |
ds |
QRChildBand |
qcb |
DateTimePicker |
dt |
QRCompositeReport |
qcr |
DBChart |
dch |
QRDBCalc |
qdc |
DBCheckBox |
dck |
QRDBText |
qdt |
DBComboBox |
dсb |
QRDetailLink |
qdl |
DBCtrlGrid |
dcg |
QRExpr |
qex |
DBEdit |
ded |
QRGroup |
qgr |
DBGrid |
dgr |
QRLabel |
qla |
DBImage |
dim |
QRMemo |
qme |
DBListBox |
dlb |
QRSubDetail |
qsd |
DBLookupCombo |
dlco |
QRSysData |
qrs |
DBLookupComboBox |
dlcb |
Query |
qu |
DBLookupList |
dlli |
QuickRep |
qr |
DBLookupListBox |
dllb |
RadioButton |
rb |
DBMemo |
dme |
RadioGroup |
rg |
DBNavigator |
dna |
RichEdit |
re |
DBRadioGroup |
drg |
ScrollBar |
sa |
DBText |
dte |
ScrollBox |
sx |
Form |
fm |
SpeedButton |
sb |
Image |
im |
StatusBar |
st |
Label |
la |
TabControl |
tc |
ListBox |
Ib |
Table |
ta |
MainMenu |
mm |
Toolbar |
to |
Memo |
me |
TreeView |
tv |