Предикатів і ВИСЛОВЛЕННЯ

Ще раз розглянемо формальну версію прикладу 1 (Значення статусу кожного постачальника повинно знаходитися в межах від 1 до 100 включно)

FORALL s# € S#, sn 6 NAME, st € INTEGER, sc € CHAR ( IF { S# s#, SNAME sn, STATUS st, CITY sc } € S

THEN st &gt 1 AND st &lt 100 )

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

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

різні підстановки повинні призводити до отримання різних істиннісних значень) Іншими словами, даний вираз є предикатом, а змінна S служить формальним параметромцього предиката Тому, коли виникає необхідність конкретизувати даний предикат (інакше кажучи, коли нам потрібно перевірити обмеження), ми надаємо в якостіфактичного параметра таке ставлення, яке є поточним значенням змінної відносини S (а змінна відносини S – єдиний формальний параметр), і тільки після цього зявляється можливість обчислити цей вираз

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

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

■ Сонце – це зірка

■ Місяць – це зірка

■ Сонце знаходиться від Землі далі, ніж Місяць

■ Джордж Буш переміг на президентських виборах в США в 2000 році

Зясування того, які з цих висловлювань є істинними, а які помилковими, залишаємо в якості вправи для читача Але слід зазначити, що не всі висловлювання є істинними широко поширена помилка полягає в тому, що всі висловлювання розглядаються виключно як істинні

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

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*