Інформаційні системи та бази даних, Детальна інформація

Інформаційні системи та бази даних
Тип документу: Реферат
Сторінок: 3
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 14
Скачувань: 1754
де А - ім'я атрибута або властивості, відносно якої формується запит, O - специфікація об'єкта запиту, V - значення, яке може набути атрибут об'єкта; замість знака "=" може бути використаний будь-який із знаків бінарних предикатів, що визначені для значень даної властивості об'єкта, наприклад: {<, >, =>, ...}. Для ілюстрації запитів на прикладах використаємо таблицю, що відображає торгівельну діяльність деякої фірми: виторги по місяцям у кількох кіосках. Заголовки стовбчиків таблиці будуть такими: № кіоска, виторг за січень, виторг за лютий, .... , виторг за грудень, а рядки будуть заповнені значеннями сум виторгів для певного кіоска за місяць, назва якого вказана в заголовку відповідного стовбчика.

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



1. А(O)=? - по заданому атрибуту і об'єкту знайти відповідне значення.

Приклад: Який виторг у кіоска № 2 у березні.

Такий запит називають прямим. Його особливості: результатом пошуку завжди є одна клітина таблиці і відповідно одне значення (значення типу невизначено теж є значенням); для режиму відпрацювання такого запиту характерно одне звернення (у кращому випадку) до зовнішньої пам'яті, оскільки можлива пряма адресація потрібного запису.

2. А(?) = V - по заданному атрибуту та значенню знайти множину об'єктів.

Приклад: Які кіоски у березні мали виторг у 2000 грн.

Такий запит називають інвертованим. Його особливості: результатом пошуку є (взагалі кажучи) кілька клітин у стовбчику, що специфікує рядки (об'єкти) таблиці і відповідно множина значень; при відпрацюванні такого запиту потрібно виконати повний перебір записів або завчасно створити відповідні вторинні індекси.

3. ?(О)=V - знайти імена атрибутів, що мають вказане значення по специфікованому об'єкту.

Приклад: У якому місяці виторг кіоска № 2 дорівнював 2000 грн.

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

Наступна група запитів має в своєму складі по два знаки ?, що у певному розумінні означає комбінування "чистих" попередніх запитів.

4. ?(О)= ? - знайти всі значення по специфікованому об'єкту разом з відповідними іменами атрибутів.

Приклад: Для кіоска № 2 по кожному місяцю знайти значення виторгу.

Результатом запиту є множина пар значень, але по одному рядку таблиці, тобто по одному об'єкту, тому перебір не потрібен.



5. А(?)= ? - знайти всі значення по вказаному атрибуту разом з специфікаціями відповідних об'єктів.

Приклад: Знайти значення виторгу за лютий місяць для всіх кіосків.

Результатом запиту є множина пар значень, крім того потрібен перебір рядків таблиці.

6. ?(?) = V - знайти специфікації об'єктів з іменами потрібних атрибутів, де мається вказане значення.

Приклад: Знайти номери кіосків та назви місяців, коли виторг дорівнював 2000 грн.

Результатом запиту є множина пар значень, при відпрацюванні потрібен перебір рядків таблиці.

Швидше для повноти розстановки знаків "?", аніж важливості для практики, наведемо останній тип найпростішого запиту.

7. ?(?) = ? - видати всі відомості.

Приклад: Видати всі значення таблиці.

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

The online video editor trusted by teams to make professional video in minutes