- •Організація баз даних і знань
- •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 "Інформаційні технології проектування"
Лабораторна робота № 7
Організація пошуку у базі даних
Мета: вивчення властивостей, методів та подій для пошуку даних.
Завдання:
Виконання пошуку з використанням індексів та без індексів;
Виконання неточного пошуку.
Обов’язкові засоби: Locate, Filtered, FindFirst, FindLast, FindNext, FindPrior, FindKey,FindNearest.
Зміст звіту.
Опис застосування з зазначенням встановлених значень властивостей компонентів.
Лістинги розроблених процедур та їх аналіз.
Висновки по роботі.
Порядок виконання роботи
У компоненті TTableдля пошуку записів в НД застосовуються такі методи:
function FindKey(список значень): Boolean - шукає запис, який точно задовольняє умовам у списку значень; існує також його метод, що дублює,GoToKey;
procedure FindNearest(список значень) - шукає запис, що приблизно задовольняє умовам у списку значень; існує також його метод, що дублює,GoToNearest;
Крім цього, у TTableє методи, успадковані від батьківського класу:
function Locate(список полів, список значень): Boolean - установлює покажчик на запис, у якого список полів точно або неточно містить значення зі списку значень.
function Lookup(список полів, список значень, список результуючих полів):Variant - повертає значення полів зі списку результуючих полів для запису в НД, у якої поля зі списку пошукових полів точно містять значення зі списку значень. Покажчик поточного запису не змінюється.
Установка значень для пошуку
Пошук може здійснюватися тільки по індексним полям.
Склад полів, що використовуються для ідентифікації потрібного запису при пошуку в НД, визначається поточним індексом. Тому, якщо поля, по котрим необхідно здійснити пошук, не входять в індекс, що є поточним у даний момент, то у якості поточного індексу потрібно встановити індекс, побудований з полів, за значеннями яких і планується здійснити пошук. Для встановлення поточного індексу використовують властивості IntexFieldNamesабоIntexName.
Для індексів, до складу яких входять більше одного поля, повинні вказуватися значення всіх полів, що входять в індекс, або значення полів старших рівнів вкладеності.
Точний пошук
Для точного пошуку (пошуку на точну відповідність) застосовується метод
function FindKey(список значень):Boolean;
При пошуку на точну відповідність робиться спроба відшукати в НД запис, у котрого індексні поля відповідають значенням, зазначеним у списку записів. Якщо такий запис знайдено, то методFindKeyповертаєTrueіробить знайдений запис поточним. Якщо знайдено декілька записів, що відповідають умові, то поточним стає логічно перший із них. Якщо запис не знайдено, то курсор НД не переміщується і методFindKeyповертаєFalse.
Неточний пошук
Неточний пошук (пошук на неточну, приблизну відповідність) застосовує метод
procedure FindNearest(список параметрів);
При пошуку на неточну відповідність робиться спроба відшукати в НД запис, у якого індексні поля відповідають значення, вказаним у списку значень. Якщо такий запис знайдено, то покажчик поточного запису в НД переміщується на нього або на наступний запис, у залежності від значення властивостіproperty KeyExclusive:Boolean. ЯкщоKeyExclusive=False(за замовчуванням), то покажчик поточного запису переміщується на знайдений запис. ЯкщоKeyExclusive=True, то покажчик поточного запису переміщується на наступний за знайденим запис. Якщо запис не знайдено, то покажчик поточного запису завжди переміщується на найближчий запис з більшим значенням індексу.
Приклад:Виконати пошук у таблиціГрупа.