Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:16 06.07.25 
Клубове/ Компютри и Интернет / Бази данни Пълен преглед*
Информация за клуба
Тема Re: AutoInc и Генератори [re: fiffy]
Автор Miro ()
Публикувано07.06.05 11:58  



За мен, идеята на АутоИнк е точно да се спести работа на програмиста.
Напълно си прав но това не означава че резултатите ще се по-добри във всички ситуации.

Всичко което един програмист очаква от това поле е точно уникална стойност, бе никаква необходимост от какъвто и да е контрол върху нея, по простата причина че такъв не е необходим - каква е стаийността не е от значение, защото тя не носи никаква информация

Това може да бъде вярно (макар че не е задължително) само за изключително прости бази данни.

Защо въобще бих искал да въведа прозиволна стойност е полето - ако тази стойност няма никакъв смисъл (не носи информация), едно приложение никога не би имало нужда да специфицира стойността.

Виж сега - как ще пренебрегваш така това поле - това е най-важното поле от цялата таблица. То ти носи уникалноста на данните в един запис. Как ще merge-неш данни от два (и повече източника) без да контролираш това поле??? Как ще обработиш ситуациите при конкурентен update към един и същ запис без да работиш с това поле??? Тези и много други са все ситуации от реалните системи при многопотребителска работа.

Това не е проблем - това е предимство. По този начин базата е цяла. Какво ще стане ако 5 приложения трябва да работят със същата таблица - и 5-те ли ще трябва да генерират стойности по същия начин. Ами е ако публик сървис? Всеки който трябва да работи с таблицата ще трябва предварително да бъде инструктиран по кой точно начин се генерират стойностите.

Нямам си и на идея какво искаше да кажеш с това

Какъв е проблема тук? Защо въобше бих искал да зная стойността преди да е създадена?

А как ще insert-неш записи едновременно в няколко таблици, които имат връзки по това поле? Трябват специални похвати (които са налични в сървърите, които имат AutoInc полета) за да получиш току що генерираното ID и след това да продължиш с insert-ването на записите от свързаната таблица и т.н. докато insert-неш всички свързани таблици. Имам места в системата където наведнъж се insert-ват записи в 7-8 свързани таблици! И аз след всяка таблица, трябва да "ходя" до сървъра за да получа стойноста, за да я сложа тази стойност в съответното поле от другата таблица. Извинявай но това е прахосване на ресурсите на сървъра - всеки запис след записване, трябва да го прочета отново.

Добре, а ако реша да мигрирам от Фиребирд, на МССЯЛ, нали МССЯЛ няма да има въпросния генератор? Това не е ли същия (и даже по-голям) проблем?

Единствения проблем е с MSSQL. Но там лесно се симулират генератори. Иначе AutoInc трябва да се симулират в FB, Oracle, DB2 и не знам къде още.

За мен генераторите имат напълно различен смисъл и не би трябвало да се използват вместо АутоИнк полета.

Тук си в голяма грешка - логическия смисъл и на двете е един и същ: да ти дадат гарантирано уникална стойност, дори и две (и повече) конкурентни връзки да поискат такава стойност в един и същ момент.

--
Miroslav Penchev



Цялата тема
ТемаАвторПубликувано
* AutoInc и Генератори Miro   06.06.05 21:30
. * Re: AutoInc и Генератори Miro   06.06.05 21:36
. * Re: AutoInc и Генератори salle   07.06.05 04:33
. * Re: AutoInc и Генератори Miro   07.06.05 10:41
. * Re: AutoInc и Генератори Mixy   07.06.05 12:33
. * Re: AutoInc и Генератори Лoл   07.06.05 13:16
. * Re: AutoInc и Генератори Miro   07.06.05 15:11
. * Re: AutoInc и Генератори Mixy   07.06.05 17:50
. * Re: AutoInc и Генератори TTRex   06.06.05 23:03
. * Re: AutoInc и Генератори Miro   07.06.05 11:20
. * Re: AutoInc и Генератори TTRex   07.06.05 21:30
. * Re: AutoInc и Генератори Miro   07.06.05 21:40
. * Re: AutoInc и Генератори fiffy   06.06.05 23:44
. * Re: AutoInc и Генератори Miro   07.06.05 11:58
. * Re: Ама ти си повтаряш като развален грамофон salle   07.06.05 12:55
. * Re: Ама ти си повтаряш като развален грамофон Miro   07.06.05 17:23
. * Re: Ама ти си повтаряш като развален грамофон ro6avia   07.06.05 18:57
. * Re: Ама ти си повтаряш като развален грамофон phpGuru   07.06.05 19:14
. * Re: Ама ти си повтаряш като развален грамофон ro6avia   07.06.05 20:39
. * Re: Ама ти си повтаряш като развален грамофон phpGuru   08.06.05 10:39
. * Re: Ама ти си повтаряш като развален грамофон NDeu   08.06.05 11:15
. * Re: Ама ти си повтаряш като развален грамофон phpGuru   08.06.05 12:48
. * Re: Ама ти си повтаряш като развален грамофон Miro   11.06.05 14:29
. * Re: Ама ти си повтаряш като развален грамофон Wolfheart   11.06.05 22:57
. * Re: AutoInc и Генератори fiffy   07.06.05 18:32
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.