Программирование >>  Хронологические базы данных 

1 ... 227 228 229 [ 230 ] 231 232 233 ... 348


S WHERE NOT EXISTS SP ( SP.Sl = S.St AND

SP.Pt = Pt ( P2 ) )

Здесь S и SP - это неявные переменные диапазона. Какая из следующих интерпре-тащ1Й запроса будет корректна (если таковая вообще существует)?

а) Получить сведения о поставщиках, которые не поставляют деталь с номером Р2.

б) Получить сведения о поставщиках, о которых неизвестно, поставляют ли они деталь с номером Р2.

в) Получить сведения о поставщиках, о которых известно, что они не поставляют деталь с номером Р2.

г) Получить сведения о поставщиках, о которых либо известно, либо не известно, что они поставляют деталь с номером Р2.

18.8. Спроектируйте схему физического представления базовых SQL-таблиц, допускающих использование неопределенных значений.

Список литературы

18.1. Codd E.F. and Date C.J. Much Ado About Nothing C.J. Date. Relational Database Writings 1991-1994. - Reading, Mass.: Addison-Wesley, 1995.

Вероятно, именно Кодд является наиболее известным сторонником использования неопределенных значений и трехзначной логики для обработки отсутствующей информации, в этой статье содержится текст дискуссии по этому поводу между Коддом и автором. В ней имеется следующее превосходное замечание: Управление базой данных существенно упростилось бы, если бы отсутствующие значения не существовали (Кодд).

18.2. Darwen И. Into the Unknown C.J. Date. Relational Database Writings 1985-1989. - Reading, Mass.: Addison-Wesley, 1990.

В этой работе поднимается ряд дополнительных вопросов в отнощений использования неопределенных значений и трехзначной логики, наиболее сложным из которых является следующий: Если (как показано в упр. 5.9 в главе 5) отнощение TABLE DEE соответствует значению true, а отнощение TABLE DUM - значению false и если отнощения TABLE DEE и TABLE DUM являются единственными возможными экземплярами отнощения степени нуль , то что же соответствует значению ипкТ.

18.3. Darwen И. Outer Join with No Nulls and Fewer Tears C.J. Date and Hugh Darwen. Relational Database Writings 1989-1991. - Reading, Mass.: Addison-Wesley, 1992.

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

18.4. Date C.J. The Outer Join C.J. Date. Relational Database: Selected Writings. - Reading, Mass.: Addison-Wesley, 1986.

Здесь подробно обсуждается проблема внешнего соединения и приводятся некоторые предложения по поддержке этой операции в таких реляционных языках, как SQL.



18.5. Date C.J. NOT is Not Not ! (Notes on Three-Valued Logic and Related Matters) C.J. Date. Relational Database Writings 1985-1989. - Reading, Mass.: Addison-Wesley, 1990. Предположим, что выражение X имеет тип BOOLEAN. В этом случае оно должно иметь одно из значений true, false или ипк. Тогда утверждение X не равно true означает, что значением выражения X является либо значение ипк, либо значение false. В противоположность этому выражение X = NOT true имеет значение false (см. таблицу истинности для операции NOT). Таким образом, действие операции NOT в языке трехзначной логики не соответствует частице не в обычном языке... Этот факт уже привел в замешательство многих (включая разработчиков стандарта языка SQL) и, несомненно, будет продолжать удивлять.

18.6. Date C.J. EXISTS is Not Exist ! (Some Logical Flaws in SQL) C.J. Date. Relational Database Writings 1985-1989. - Reading, Mass.: Addison-Wesley, 1990.

В этой статье утверждается, что оператор EXISTS языка SQL не является идентичным квантору существования языка трехзначной логики, потому что он всегда равен либо true, либо false и никогда не равен ипк, даже если ипк является логически корректным ответом.

18.7. Date C.J. Watch Out for Outer Join C.J. Date and Hugh Darwen. Relational Database Writings 1989-1991. - Reading, Mass.: Addison-Wesley, 1992.

В разделе 18.5 утверждается, что внешнее соединение обладает несколькими неприятными свойствами . В этой работе приводится перечень подобных свойств.

1. Внешнее G-соединение не является выборкой из результата декартова произведения.

2. Выборка не распространяется на операции внешнего G-соединения.

3. В трехзначной логике выражение А < В- это не то же самое, что выражение А < В OR А = В.

4. В трехзначной логике операции G-сравнения не транзитивны.

5. Внешнее естественное соединение не является проекцией внешнего соединения по эквивалентности.

В статье также рассматривается влияние, оказанное на конструкты SELECT-FROM-WHERE в результате введения в язык SQL поддержки внешних соединений.

1. Операция расширения в предложении WHERE не работает.

2. Оператор AND, связывающий операции внешнего соединения и выборки, не работает.

3. Включение условия соединения в предложение WHERE не работает.

4. Внешние соединения из более чем двух отношений не могут быть сформулированы без использования вложенных выражений.

5. Операция расширения в предложении SELECT (только) не работает.

В этой статье также показано, что во многих существующих программных продуктах содержатся ошибки, вызванные указанными выше условиями.

18.8. Date C.J. Composite Foreign Keys and Nulls C.J. Date and Hugh Darwen. Relational Database Writings 1989-1991. - Reading, Mass.: Addison-Wesley, 1992.



в этой статье рассматривается возможность полного и частичного присутствия неопределенных значений во внешних ключах.

18.9. Date C.J. Three-Valued Logic and the Real World C.J. Date and Hugh Darwen. Relational Database Writings 1989-1991. - Reading, Mass.: Addison-Wesley, 1992.

18.10. Date C.J. Oh No Not Nulls Again C.J. Date and Hugh Darwen. Relational Database Writings 1989-1991. - Reading, Mass.: Addison-Wesley, 1992.

В этой статье приводится дополнительная информация о неопределенных значениях. 18.11.Date C.J. А Note on the Logical Operators Of SQL Relational Database Writings 1991-1994. - Reading, Mass.: Addison-Wesley, 1995.

В трехзначной логике (3VL) используются три логических значения - true, false и unknown (обозначенные здесь как t,f и и соответственно). Следовательно, в трехзначной логике может быть 3*3*3=27 возможных унарных операторов, так как каждое из трех возможных входных значений t,fmu может отображать любое из трех возможных выходных значений t,f и и. По той же причине в трехзначной логике может быть 3=19 683 возможных бинарных оператора (см. таблицу, приведенную ниже).

t/u/f

t/u/f

t/u/f

t/u/f

t/u/f

t/u/f

t/u/f

t/u/f

t/u/f

Фактически в более общем случае п-значная логика (nVL) включает п в степени п

унарных операторов и п в

степени n бинарных операторов (см. таблицу, приве-

денную ниже).

Унарные операторы

Бинарные операторы

19 683

4 294 967 296

,jVL

Для любой п-значной логики, где п>2, возникают следующие вопросы.

Каков наиболее подходящий набор примитивных операторов? (Например, как множество операторов {NOT, AND}, так и множество операторов {NOT, OR} являются подходящими примитивными наборами для двухзначной логики.)

Каков подходящий набор полезных операторов? (Например, множество (NOT, AND, OR} - подходящий полезный набор для двухзначной логики.)

В данной статье показано, что стандарт SQL (при очень вольной интерпретации) прямо или косвенно поддерживает все 19 710 операторов трехзначной логики. Тем не менее необходимо обратить внимание на то, что в логике операторы оперируют предикатами и предложениями, в то время как в языке SQL (даже при вольной интерпретации) операторы оперируют только предложениями. 18.12.Date C.J. Faults and Defaults (in five parts) C.J. Date, Hugh Darwen and David McGoveran. Relational Database Writings 1994-1997.- Reading, Mass.: Addison-Wesley, 1998.



1 ... 227 228 229 [ 230 ] 231 232 233 ... 348

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика