Sort-ref.narod.ru - реферати, курсові, дипломи
  Головна  ·  Замовити реферат  ·  Гостьова кімната ·  Партнери  ·  Контакт ·   
Пошук


Рекомендуєм

Комп'ютерні науки > Запити, фільтри, використання та функціональне призначення


Запити, фільтри, використання та функціональне призначення

Сторінка: 1/5

Що таке фільтр

Довідка (Help) дає визначення поняттю “фільтр” так: “Набір умов, які застосовуються для добору підмножини записів чи для сортування записів. У Microsoft Access існують фільтри чотирьох типів: фільтр по виділеному фрагменту, звичайний фільтр, розширений фільтр і фільтр по вводу.” У свою чергу, умова відбору визначається як “набір обмежувальних умов, наприклад, = "Україна" (означаюче, що потрібно строкове значення "Україна") чи > 30000, використовуваних для висновку визначеного набору записів при створенні чи запиту фільтра.”

Насправді фільтр — це просто логічний вислів. Фільтрація таблиці — це добір тих рядків таблиці, для яких відповідне вираження істинне. Ю.Шафран визначає фільтр як логічне вираження. Потрібно тільки пояснити, як воно будується з “умов”. А для цього необхідно розібратися, що таке логічний вислів.

Арифметичні і логічні вираження

Help (довідка) визначає вираження так: “Будь-яка комбінація операторів, констант, значень текстових констант, функцій, імен полів, елементів керуваннячи властивостей, результатом якої є конкретне значення.”

Дане визначення є досить складним і не зовсім вірним. Що таке комбінація операторів, констант і т.д.?

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

Як арифметичні, так і логічні вираження будуються з деяких “цеглин” за допомогою визначеного набору операцій. У випадку арифметичних виражень “цеглинами” служать числа й атрибути (інших “цеглин” ми для простоти не розглядаємо), а з'єднують їхні звичайні арифметичні операції. Формально арифметичні вираження визначаються так.

Будь-яке число чи атрибут є арифметичним вираження.

Якщо A — арифметичне вираження, то (A) — теж арифметичне вираження.

Якщо А и В — арифметичні вираження, то вираження А+В, А–В, А*В, А/В и А**В теж є арифметичними.

Інших арифметичних виражень немає.

От приклади арифметичних виражень: 7, х, 2+2, 2*x+3, 2*(х+3).

Маючи формальне визначення, ми можемо пояснити, чому, скажемо, вираження 2*(х+3) є арифметичним, а вираження 7*+8 арифметичним не є. Дійсно, Для першого з цих виражень, відповідно до правила 1, вираження х і 3 є арифметичними. Звідси, за правилом 2, випливає, що вираження (х+3) теж є арифметичним. За правилом 1, вираження 2 — арифметичне. Виходить, за правилом 3, і вираження 2*(х+3) — арифметичне. Що стосується вираження 7*+8, воно не арифметичне хоча б уже тому, що символ + вимагає арифметичних виражень по обидва боки від себе, а вираження ліворуч від нього виглядає так: 7*. У свою чергу 7* не є арифметичним, оскільки символ * теж по обидва боки вимагає арифметичних виражень, а праворуч просто нічого немає.

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

Якщо всім атрибутам, що входять в арифметичне вираження, додати числові значення, символи +, – , *, / і ** проінтерпретувати, відповідно, як операції додавання, вирахування, множення, розподіли і зведення в ступінь, і визначити природним образом (тобто як учать у школі) порядок виконання цих дій, то дане арифметичне вираження одержить чисельне значення. Скажемо, якщо значення х и у є, відповідно, 7 і 8, то значенням вираження х+2*у є 23.

Таким чином, визначення того, чи є дане вираження арифметичним, і обчислення значення вираження — це два різних питання.

Перейдемо до визначення логічних виражень. Ми будемо вважати, що “цеглини” логічних виражень мають вид хq Т, де х – атрибут, Т – арифметичне вираження, а q — один із символів порівняння: = (дорівнює), <> (не дорівнює), < (менше) чи > (більше). З'єднуються “цеглини” за допомогою логічних операцій AND, OR і NOT.

Як і для арифметичних виражень, ми хочемо дати формальне визначення. Спочатку визначимо найпростіші логічні вираження, чи атоми.

Визначення 1. Нехай х – атрибут, Т – арифметичне вираження. Тоді вираження х=Т, х<>Т, х<Т и х>Т називаються атомами.

Тепер можна формально визначити логічні вираження. Ми будемо позначати їх великими латинськими буквами.

Визначення 2.

Всякий атом є логічне вираження.

Істина і Неправда — логічні вираження.

Якщо X — логічне вираження, то вираження, те (X) — теж логічне вираження

Якщо Х и У — логічні вираження, то вираження Х AND Y, Х OR Y і NOT Х теж є логічними.

Інших логічних виражень немає.

От приклади логічних виражень: NOT х = 7, (х = 2+2) AND у > 2*(х+3).

Тепер переходимо до значень виражень. Значеннями логічних виражень є Істина і Неправда.

Спочатку визначимо значення атомів. Для цього всім атрибутам додамо числові значення й обчислимо значення арифметичного вираження, що входить в атом. Символи =, <>, < і > інтерпретуються як стандартним образом, як знаки порівняння чисел. Атом приймає значення Істина, якщо істинно відповідне порівняння, у противному випадку значення атома Неправда. Наприклад, якщо значення х и у є, відповідно, 7 і 8, то значенням атома х=х+2*у буде Неправда, тому що насправді 7 не дорівнює 23.

Для обчислення значення логічного вираження, що не є атомом, служать так називані таблиці істинності. Вони дозволяють обчислити значення логічного вираження, якщо відомі значення його підвисловлень. От таблиця істинності для операції AND.

Х

Y

Х AND Y

Істина

Істина

Істина

Істина

Неправда

Неправда

Неправда

Істина

Неправда

Неправда

Неправда

Неправда

Она показывает, как, зная значения выражений Х и Y, вычислить значение выражения Х AND Y.

А вот таблицы истинности для OR и NOT:

Х

Y

Х OR Y

Істина

Істина

Істина

Істина

Неправда

Істина

Неправда

Істина

Істина

Неправда

Неправда

Неправда

Х

NOT Х

Істина

Неправда

Неправда

Істина

Назва: Запити, фільтри, використання та функціональне призначення
Дата публікації: 2005-02-22 (1872 прочитано)

Реклама



Яндекс цитирования
education education - discount furniture - travel cheap - free shipping for phentermine - life insurance - chic furniture - airlines
Page generation 0.135 seconds
Хостинг от uCoz