р", викликається командою Записи ВЅ Фільтр ВЅ Розширений фільтр. p>В
p>В
p> У вікні "Фільтр" знаходиться бланк QBE. p>
p> Вікно фільтра складається з двох частин. У верхній частині знаходиться схема відносини (прямокутник, який ім'я таблиці і перелік атрибутів). У нижній частині знаходиться бланк запиту QBE. Він містить рядок ПОЛЕ, в якій зазначаються атрибути, по яких йде фільтрація, або сортування. Нижче розташовується рядок СОРТУВАННЯ, в якій для деяких атрибутів вказується порядок сортування (за зменшенням, або за зростанням). Ще нижче розташовується рядок УМОВА ВІДБОРУ і рядки АБО (з них зазвичай видно тільки одна). p> На наш погляд, сортування варто пояснювати окремо, і ми поки не будемо її розглядати. Відзначимо також, що сортування дещо виходить за рамки класичної реляційної моделі, оскільки там ставлення мислиться як безліч (тобто невпорядкований набір) кортежів. Втім, той, хто старанно вивчав інформатику, знає, що будь-яка хороша модель простіше, ніж відповідна реальність.
Цей бланк зручно застосовувати, якщо фільтр має деякий спеціальний вид, про який ми зараз поговоримо. Це так звана діз'юнктівная нормальна форма (скорочено - ДНФ). Вона заслуговує уваги не тільки у зв'язку з вивченням Access, і поетом ми приділимо їй особливу увагу. p> Ось приклади виразів у ДНФ (ми будемо для стислості називати їх ДНФ-виразами). p> (Вага = 2 AND NOT (Висота> 3) AND Ширина <4) OR (Вага = 3 AND Висота> 5 AND NOT (Ширина <7)) OR (Вага> 4 AND Висота> 6 AND Ширін а <8)
(Вік> 80 AND NOT (Зарплата <100)) OR (NOT (Вік> 80) AND Зарплата <100)
А ось приклади виразів не в ДНФ.
NOT ((Вік> 80 AND NOT (Зарплата <100)) OR (NOT (Вік> 80) AND Зарплата <100))
(Вік> 80 OR NOT (Зарплата <100)) AND (NOT (Вік> 80) AND Зарплата <100)
Формально ДНФ-вирази визначаються так.
Визначення 3. AND-виразом назвемо всяке логічне вираз виду (Х1 AND Х2 AND ... AND Хк), де Х1, Х2, ..., Хк - або атоми, або їх заперечення. ДНФ-виразом назвемо всяку диз'юнкцію AND-виразів. p> Нагадаємо, що у нас всі атоми мають вигляд хq Т, де де х - атрибут, Т - арифметичний вираз, а q - Один із символів порівняння. Тому всяке ДНФ-вираз має вигляд
(a 11 х1 q 11 Т11 AND a 12 х2 q 12 Т12 AND ...) OR
(a 21 х1 q 21 Т21 AND a 22 х2 q 22 Т22 AND ...) OR ...
де де хi - атрибути, Тij - арифметичні вираження, а q ij - символи порівняння.
На бланку QBE цей фільтр буде виглядати так.
Поле
х1
х2
...
Умова відбору
a 11 q 11 Т11
a 12 q 12 Т12
...
Або
a 21 q ...