[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl or Python?



Alexey Pechnikov -> debian-russian@lists.debian.org  @ Thu, 19 Mar 2009 19:02:26 +0300:

 >> Так, а вот приписывать мне своих тараканов не надо.  Это Вы как раз
 >> предлагаете либо не писать в базу данные вообще (что неприемлемо,
 >> яркий пример приводил Витус), либо писать туда нечто, не являющееся
 >> данными (т.е. делать таблицу непригодной для обработки).

 AP> А вы утверждаете, что использование констрэйнта NOT NULL _ухудшает_
 AP> качество БД?

Иногда - да.  Пример Витуса - как раз про это.

 >> А нормальные люди в случае отсутствия приемлемого значения в _поле
 >> данного значения_ пишут нечто, что однозначно говорит об отсутствии
 >> валидного значения _этого_ поля в _этой_ записи.  Это, разумеется, не
 >> повод не сообщать об ошибке входных данных.  Тоже, кстати, не на каждую
 >> попытку такого ввода (термометр привезут через две недели, если погода
 >> позволит, и я уже в курсе, что его сожрал медведь - нафига мне две
 >> недели каждые три часа про это рассказывать?), а с умом.

 AP> Позвольте вас процитировать еще раз:
 AP> "нечто, что однозначно говорит об отсутствии валидного значения _этого_ поля в 
 AP> _этой_ записи". Поскольку NULL не позволяет _однозначно_ сообщить именно об 
 AP> отсутствии валидного значения, а может означать множество разных ситуаций, то 
 AP> _вменяемые_ люди его в базу не пишут. 

NULL позволяет однозначно сообщить ровно об этом.  Это его определение.
Он не позволяет однозначно сообщить о причине этого, но вот это уже как
раз можно писать и еще куда-то.

 AP> И это мы еще не говорим о том, что в SQL вообще некорректно NULL
 AP> значения обрабатываются, но об этом Дейт уже четверть века говорит.

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

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

НИИ требуются:
1. Кто бы мог подумать.
	Кнышев.


Reply to: