ISergey
Дата: 12.09.2006 12:58:54
Просматривал публикации авторов и наткнулся на пункт
6.5.4. Язык объявления данных.
В этом пункте сказано:
"Автонумерация не может использоваться в качестве реляционного ключа".
Дальше идет обоснования тезиса, причем иногда в возмутительном тоне.
Понятно, что при переносе данных возникнут трудности, поэтому желательно как можно реже использовать автоинкремент. Но при полном отказе также есть проблемы. Например, таблица, содержащая сложный логический ключ из 4-5 полей, да еще с подчиненной таблицей (да не одной)! Мне что, в подчиненную таблицу их заталкивать? И в запросах жуткий JOIN ?
По моему опыту IDENTITY лучше не использовать, но иногда это поле может быть псевдонимом комплексного ключа. Естественно, при этом не забыть установить UNIQUE AlternateKey !!!
Я не прав?
Александр Гладченко
Дата: 12.09.2006 15:13:56
ISergey |
Воспользовался поиском ... Тема закрыта ! Всем сп. |
Ну почему же закрыта :)
Джо - это один из апологетов реляционной теории и её стандартов. Он может убедительно доказать, почему вредно использовать подобные ключи... Но! Производители СУБД имеют свои резоны для реализации или не полной реализации требований стандартов и порой даже посмеиваются над отцами - основателями :)
http://blogs.msdn.com/khen1234/archive/2006/08/25/724253.aspxИМХО, лучше опираться на рекомендации разработчиков каждой конкретной СУБД, которые точно знают, какие ключи они оптимизировали, а какие у них не получилось
