П. Г. Демидова А. В. Зафиевский А. А. Короткин А. Н. Лататуев Базы данных Учебное пособие
Download 1.32 Mb. Pdf ko'rish
|
Базы данных
Nullзначения данных
Основное назначение баз данных состоит в том, чтобы хра- нить и предоставлять информацию о реальном мире. Для пред- ставления этой информации в базе данных используются привыч- ные для программистов типы данных – строковые, численные, логические и т. п. Однако в реальном мире часто встречается ситуация, когда данные неизвестны или неполны. Например, мес- то жительства или дата рождения человека могут быть неиз- вестны (база данных разыскиваемых преступников). Если вместо неизвестного адреса уместно было бы вводить пустую строку, то что вводить вместо неизвестной даты? Ответ – пустую дату – не вполне удовлетворителен, т. к. простейший запрос «выдать спи- сок людей в порядке возрастания дат рождения» даст заведомо неправильных ответ. Для того чтобы обойти проблему неполных или неизвестных данных, в базах данных могут использоваться типы данных, пополненные так называемым null-значением. null-значение – это, собственно, не значение, а некий маркер, показывающий, что значение неизвестно. Таким образом, в ситуации, когда возможно появление неизвестных или неполных данных, разработчик имеет на выбор два варианта. Первый вариант состоит в том, чтобы ограничиться исполь- зованием обычных типов данных и не использовать null-зна- чения, а вместо неизвестных данных вводить либо нулевые зна- чения, либо значения специального вида – например, догово- риться, что строка «АДРЕС НЕИЗВЕСТЕН» и есть те данные, ко- торые нужно вводить вместо неизвестного адреса. В любом слу- чае на пользователя (или на разработчика) ложится ответствен- ность за правильную трактовку таких данных. В частности, мо- жет потребоваться написание специального программного кода, который в нужных случаях «вылавливал» бы такие данные. Проблемы, возникающие при этом, очевидны – не все данные становятся равноправны, требуется дополнительный программ- ный код, отслеживающий эту неравноправность, в результате чего усложняется разработка и сопровождение приложений. Второй вариант состоит в использовании null-значений вме- сто неизвестных данных. При таком подходе есть менее очевид- 27 ные и более глубокие проблемы. Наиболее бросающейся в глаза проблемой является необходимость использования трехзначной логики при оперировании с данными, которые могут содержать null-значения. В этом случае при неаккуратном формулировании запросов даже самые естественные запросы могут давать неправильные ответы. Подробное обсуждение проблем использования null-значений выходит за пределы данного учебного пособия, подробное об- суждение проблем, возникающих при использовании null-значе- ний приведено в книге [1]. Практически все реализации современных реляционных СУБД позволяют использовать null-значения, несмотря на их недостаточную теоретическую обоснованность. Домены В реляционной модели данных с понятием тип данных тесно связано понятие домена, которое можно считать уточнением типа данных. Download 1.32 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling