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

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

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



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

Резултатите са винаги едни и съши - уникален идентификатор на записа (бил той последователен или не).

Това може да бъде вярно (макар че не е задължително) само за изключително прости бази данни.
В такъв случай явно аз не зная какво е сложна база. Работя в частна банка в Чикаго и явно базите ни са прости, зашото нито една не използва генерирани стойности и всички използват АутоИнк! Би ли дефинирал 'сложна база'?

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

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

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

А как ще insert-неш записи едновременно в няколко таблици, които имат връзки по това поле?
Каква е разликата:
А)
1) ИД = генерирай ИД
2) инсерт в таблица1
3) инсерт в таблица2
4) инсерт в таблица3 ...
Б)
1) инсерт в таблица1
2) вземи генерирано ИД
3) инсерт в таблица2
4) инсерт в таблица3

А в случая в който инсерт-ваш само в една таблица и не те интересува ИД-то:
А)
1) ИД = генерирай ИД
2) инсерт в таблица1
Б)
1) инсерт в таблица1

АутоИнк даже спестява един рекуест до базата.

Единствения проблем е с MSSQL. Но там лесно се симулират генератори. Иначе AutoInc трябва да се симулират в FB, Oracle, DB2 и не знам къде още.
Какъв е проблема - че в МССЯЛ няма същите генератори (които и без това не са АНСИ стандарт)? Има ли същите генератори в базите които си изброил? Не виждам какво е предимството на генераторите тук: и с генератори и с Аутоинк, винаги имаш проблеми при мигрирането.

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

Епа, това е моето хоби...



Цялата тема
ТемаАвторПубликувано
* 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 Всички права запазени.