Відкрити головне меню

Зміни

нема опису редагування
{{без вступу}}
{{переробити}}
'''NULL в системахсисте́мах управліннякерува́ння базамиба́зами данихда́них''' (СУБДСКБД) - спеціальне значення (псевдозначеніепсевдозначеня), яке може бути записано в полі таблиці бази даних ([[БД]]). [[NULL]] відповідає поняттю «порожнє поле», тобто «поле, яке не містить ніякого значення». Введено для того, щоб розрізняти в полях БД порожні (візуально не відображаються) значення (наприклад, рядок нульової довжини) і відсутні значення (коли в полі не записано взагалі ніякого значення, навіть порожнього).
 
== Введення ==
Поширена критика мови SQL полягає в тому, що підтримка в мові невизначених значень руйнує реляційну модель. Дейт наводить ряд аргументів на користь цієї позиції. Найбільш фундаментальним є той аргумент Дейта, що оскільки в SQL NULL визначається не як значення, а як деякий прапор, що означає відсутність значення в деякому атрибуті, домени не можуть належним чином утримувати невизначені значення, оскільки, за визначенням, домени є множинами значень. Отже, відносини, що включають невизначені значення, відносинами, по суті, не є, що підриває самі глибинні основи реляційної моделі. Дейт також призводить доступніший аргумент, в якому він стверджує, що тризначна логіка, яка випливає з наявності невизначених значень, може призводити до появи абсурдних результатів. У цій замітці критикується цей другий аргумент і демонструється, що Дейт неправильно використовує тризначну логіку SQL. Тому критика Дейта є логічно помилкової і в дійсності не може служити звинуваченням на адресу [[SQL]], як це вважає Дейт. Однак слід зауважити, що ця критика критики Дейта не спрямована на захист невизначених значень чи тризначного логіки в SQL. Швидше вона покликана підкреслити, що тризначна логіка дійсно може збивати людей з пантелику. Використання невизначених значень змінює зміст простих на вигляд запитів і, цілком ймовірно, може призводити до численних помилок, які часто можуть не розпізнаватися.
 
== Критика Дейта ==
127 513

редагувань