ПОРІВНЯННЯ зрозуміла правильно і несуперечливого

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

Більше того, навіть якби системі можна було повідомити, що мається на увазі під твердженням, ніби постачальник десь знаходиться, все одно система не могла б апріорі мати інформацію про те, чи є істинними дані, повідомлені користувачем Коли користувач вносить в систему відомості про те, що постачальник S1 знаходиться в Лондоні (Зазвичай шляхом виконання оператора INSERT), система не може застосувати будь-який спосіб, щоб визначити, чи дійсно ці відомості є істинними Все, що може зробити система, – перевірити, чи не призведе введення цієї інформації до порушення будь-яких обмежень (тобто не викличе це таку конкретизацію будь-якого внутрішнього предиката, при якій буде отримано значення FALSE) За умови, що цього не відбувається, система повинна прийняти ці відомості і з цього часу розглядати їх як істинні (щонайменше, поки користувач не повідомить системі, що дані відомості більше не є істинними, зазвичай шляхом виконання оператора DELETE)

До речі, слід зазначити, що викладене вище наочно показує, чому припущення про замкнутість світу не відноситься до внутрішніх предикатам А саме, кортеж може задовольняти внутрішньому предикату для даної змінної відносини і

10 Цей факт може також означати, що постачальник S1 в даний момент проживає в Лондоні, або постачальник S1 має офіс у Лондоні, або постачальник S1 не має офісу в Лондоні, а також може мати нескінченне кількість інших можливих тлумачень (відповідних безкінечного кількості можливих зовнішніх предикатів)

разом з тим не бути присутнім в цій змінній відносини на законних підставах,

оскільки він не відповідає істинному висловом в реальному світі

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

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

прагматичним критерієм прийнятності оновлень служить внутрішній предикат, а

не зовнішній (а зовнішній може бути таким лише в ідеальній ситуації) Ще одна,

більш сувора формулювання цього твердження наведена нижче

Система може контролювати тільки несуперечність, але не істинність збережених у ній даних

Це означає, що система не може гарантувати наявність в базі даних тільки істинних висловлювань все, що вона може зробити, – це гарантувати відсутність будь-яких даних, що викликають порушення обмежень цілісності (тобто гарантувати те, що вона не містить будь-яких даних, не сумісних з цими обмеженнями) Але, на жаль, істинність і несуперечливість – не одне і те ж Фактично можна відзначити наступне:

■ якщо база даних містить тільки справжні висловлювання, то вона непротіворе Чіва, але з цього не випливає зворотне твердження

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

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

Джерело: Дейт К Дж, Введення в системи баз даних, 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>

*

*