Изменения

Перейти к: навигация, поиск

Неполные данные и null

1943 байта убрано, 04:05, 24 декабря 2021
м
Релизная версия
{{В разработке}}
 
== Что означает null ==
Представим себе таблицы в БД университета ИТМО
== Проблемы при работе с null ==
При работе с '''null''' в процессе разработки БД, во избежание непредвиденных ошибок, необъодимо заранее ознакомиться с тем, какие проблемы могут возникнуть.
=== Неоднозначность импликации Вывод логических выражений ==='''TODO: уточнить'''В новой тернарной логике работают не все правила преобразований, присущие двоичной.* A → B = (not A) or B{| style="background-color:#CCC;margin-left:2rem;text-align:center"!style="background-color:#EEE;color:#00F"| Например, нельзя полагать, что <tex>\bf{(not\ A)\ or\ B}</tex>!style="background-color:#EEE"| <tex>\bf{true}</tex>!style="background-color:#EEE"| <tex>\bf{unknown}</tex>!style="background-color:#EEE"| <tex>\bf{false}</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>vee\bf{true}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>false</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{unknown}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>neg\bf{false}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|} * A → B = not (A and not B){| style="background-color:#CCC;margin-left:2rem;text-align:center"!style="background-color:#EEE;color:#00F"| <tex>\bf{not\ (A\ and\ not\ B)}</tex>!style="background-color:#EEE"| <tex>\bf{true}</tex>!style="background-color:#EEE"| <tex>\bf{unknown}</tex>!style="background-color:#EEE"| <tex>\bf{false}</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{true}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>false</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{unknown}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>unknown</tex>|-|style="background-color:#EEE;padding:2px 30px"| <tex>\bf{false}</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|style="background-color:#FFF;padding:2px 30px"| <tex>true</tex>|}Оказывается всегда истинно, потому что законы Де Моргана в данном случае теперь может получиться '''не работают'unknown''. <br>Поэтому при каждом преобразовании троичного логического выражения, лучше сверяться с таблицами истинности.
=== Скалярные операции, порождающие null ===
71
правка

Навигация