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

Але і цього ще недостатньо: потрібно, як і для арифметичних операцій визначити порядок виконання логічних операцій, інакше кажучи, визначити їхнє старшинство. Самої старший вважається операція NOT (тобто у вираженні без дужок вона виконується першої), потім йде операція AND, потім операція OR.

Тепер, знаючи значення атомів, ви можете за допомогою цих таблиць обчислити значення будь-якого вираження, побудувавши для нього свою таблицю істинності. Як приклад побудуємо таку таблицю для виражень NOT (Х OR Y) і NOT X OR Y

Х

Y

Х OR Y

NOT (Х OR Y)

NOT Х

NOT X OR Y

Істина

Істина

Істина

Неправда

Неправда

Істина

Істина

Неправда

Істина

Неправда

Неправда

Неправда

Неправда

Істина

Істина

Неправда

Істина

Істина

Неправда

Неправда

Неправда

Істина

Істина

Істина

Мова алгебри логіки, що фактично описаний вище, виник як попытка формалізувати природну мову. Дійсно, у природних мовах ми теж зустрічаємося з подібними конструкціями, наприклад у російській мові. Там аналогами логічних виражень є оповідальні пропозиції, аналогами атомів – прості оповідальні пропозиції, а аналогами логічних операцій – слова И, ЧИ, НЕМАЄ й ін. Звичайно, аналогія тут далеко не повна, але усе-таки вона дозволяє зрозуміти основні ідеї алгебри логіки.

Справді, коли щира пропозиція “На вулиці ЧИ стемніло в мене утомилися ока”? Коли істинно хоча б одне з пропозицій “На вулиці стемніло” чи “у мене утомилися ока”. Таким чином, у даному ЧИ випадку діє аналогічно операції OR (правда, в інших ЧИ фразах може вживатися в іншому змісті). Точно так само союз И можна вважати аналогом операції AND. Наприклад, фраза “Заграла музика И в зал увійшла вона” щира якщо і тільки щирі обидві її складові частини: “заграла музика” і “у зал увійшла вона”. ЧИ НЕ НІ часто виступає аналогом операції NOT. Скажемо, пропозиція “я НЕ знаю цієї людини” істинно в тих випадках, коли помилкова фраза “я знаю цієї людини”.

Треба, звичайно, розуміти, що формальна логіка доставляє нам досить грубий зліпок природної мови. Приміром, з погляду формальної логіки вираження X AND Y і Y AND X рівносильні в тім змісті, що істинність одного з них завжди означає й істинність іншого (цю властивість називають комунікативністю операції AND). Однак чи рівносильні в людському сприйнятті фрази “заграла музика И в зал увійшла вона” і “у зал увійшла вона И заграла музика”? А для фрази “я знаю цієї людини” запереченням (у звичайній мові) буде не тільки фраза “я не знаю цієї людини”, але і фрази “я знаю не цієї людини” і “не я знаю цієї людини”.

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

Вище ми говорили про класичну, двозначну логіку, коли мається всього два значення істинності: ІСТИНА і НЕПРАВДА (уживаються ще й інші позначення, скажемо, ТА й НІ, чи TRUE і FALSE, чи 0 і 1). Крім двозначної логіки в принципі можна розглядати й інші логіки, наприклад тризначну, у якій крім ІСТИНА і НЕПРАВДА є ще і третє значення – НЕВІДОМЕ (у Access воно позначається як Null). Насправді в Access реалізована деяка мішанина з двозначної і тризначної логіки. Проте, для повного розуміння роботи Access нам оведеться торкнутися і тризначної логіки.

Наявність у Access фрагментів тризначної логіки зв'язане з тим, що в таблицях Access допускаються порожні клітки (так називані Null-значення). Наприклад, таблиця Знайомі може виглядати так:

Знайомі

Прізвище

Ім'я

По батькові

Іванов

Петро

(По батькові Іванова ми не знаємо.)

Запитується, як повинна така БД відповідати на запит “ чиВірно, що в Петра Іванова по батькові Сергійович?” Ясно, що ні ТАК, ні НЕМАЄ отут не підходить. Необхідно ввести третє значення. Іншими словами, треба побудувати придатну тризначну логіку.

На наш погляд, у самій тризначній логіці немає нічого складного і незрозумілого. У повсякденному житті ми нерідко користаємося й іншими багатозначними логіками, оцінюючи ті чи інші висловлення, як більш правдоподібні чи менш правдоподібні, а не просто як твердження, про які ми не можемо затверджувати ні їхню істинність, ні їхня хибність.

З вище викладеного ясно, що для обчислення значення в тризначній логіці ми повинні вміти обчислювати значення атомів і вказати, як обчислюються значення логічного вираження, що виходить з інших за допомогою логічних операцій. Зрозуміло, до числа логічних виражень треба, крім логічних констант Істина і Неправда, віднести і константу Невизначено.

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

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

Простіше всього з операцією NOT (НЕМАЄ). Ясно, що помилкове значення переходить у щире і навпаки, а невизначене залишається невизначеним. Виходить, таблиця для NOT виглядає так:

Х

NOT Х

Істина

Неправда

Невизначено

Невизначено

Неправда

Істина



  • Сторінка:
  • 1
  • 2
  • 3
  • 4
  • 5