Re: auto increment

From: "Mehmet Uysal" <mehmath(at)gmail(dot)com>
To: "Esref Atak" <esrefatak(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: auto increment
Date: 2006-02-28 09:43:48
Message-ID: 15b5c4c90602280143i49dc1018ve6842966af9ff8ce@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

cevaplar içim çok teşekür ederim. ayrıca sequence in türkçesi kullanimi
içinde :)
kolay gelsin...

On 2/28/06, Esref Atak <esrefatak(at)gmail(dot)com> wrote:
>
>
>
> On 2/28/06, Devrim GUNDUZ <devrim(at)commandprompt(dot)com > wrote:
> >
> > Merhaba,
>
>
> Merhaba mesai arkadaşlarım (sabahın bu saatinde) :)
>
> On Tue, 2006-02-28 at 02:51 +0200, Mehmet Uysal wrote:
>
>
>
> > increment özelliği postgresql de biraz değişik galiba, başka bir yolu
> >
> > varmı bilmiyorum ama ben sequence oluşturarak yaptım. burada problem
> >
>
> Alanın türünü serial yapabilisiniz. İşiniz biraz daha kolaylaşabilir.
>
> > oluşturdugum sequence de max min ve artış değerlerini belirttim ancak
> > > bunu birkaç tabloda kullandığımda artan ID ler , mesela kullanıcı
> > > tablosunda en son 20 eklendi , sonra mesaj tablosuna yeni veri
> > > eklendiğinde mesaj id si 21 oluyor ve tekrar kullaniciya veri
> > > eklendiğinde kullanicidaki ID 21 i atlayarak 22 ye yani sequence in
> > > kaldıgı yerden devam ediyor.
>
>
> Bir arttırıcının, kaldığı yerden devam etmesi en temel kuraldır. Öyle ki;
> aynı transaction içerisindeyken, transaction geri sarılsa bile, arttırıcılar
> en son hangi değeri almışlarsa, oradan arttırmaya devam ederler.
>
>
> Evet bu durumdaki davranışı doğru. Hepsi için tek sequence
> > kullanıyorsunuz çünkü.
> >
> > > şimdi bu kullanımda herhangi bir problem yaşanırmı onu sormak
> > > istiyorum veya her tablo için sequence mi oluşturmam daha mantıklı
> > > olur. bunların dışında başka bir çözüm yolu var mı?
> >
> > Sequence mantığına ters bir durum var bence burada. Kişisel düşüncem her
> >
> > tabloya ayrı bir seq tanımlamanız.
>
>
> Her tablo için aynı arttırıcı tanımlama yöntemi, kesinlikle bir tercih
> meselesidir. Yöntemi seçme konusunda belirleyici unsurlar şunlar olabilir:
>
> + Değerin kaç olduğu sizin için önemli mi? Örneğin: bu numarayı insanlara
> söyleyecek misiniz? Mesela bir başvuru numarası mı? Mesela, banka
> kuyruklarındaki gibi bir numara sistemini hayal edin. Eğer öyle ise, ardışık
> şekilde artması sizin için önemli olacağından, söz konusu tablo için tek
> arttırıcı kullanmanız mantıklı olabilir.
> + Değer, çok mu kısıtlı? Örneğin: yalnızca 2 haneden mi oluşuyor? Eğer
> böyle ise ve değerin kaydedileceği alanı yalnızca 2 hane kabul edecek
> şekilde ayarladıysanız, ortak kullanılan bir arttırıcıdan değer almanız
> sıkıntılı olabilir. Zira; aşırı yüksek bir değer dönebilir.
>
> Bu gibi durumların dışında,
>
> create table ogrenciler (ogrenciId bigint);
> create table ogretmenler (ogretmenId bigint);
>
> gibi her tablo için ayrı arttırıcı kullanmanın, pratikte hiçbir faydası
> yok. Aksine, eğer çok sayıda tablonuz varsa, her tablo için ayrıca bir de
> arttırıcı ile uğraşmak, canınızı sıkabilir.
>
>
>
>
> Saygılar.
> > --
> > The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564
> > PostgreSQL Replication, Consulting, Custom Development, 24x7 support
> > Managed Services, Shared and Dedicated Hosting
> > Co-Authors: PL/php, plPerlNG - http://www.commandprompt.com/
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 6: Have you searched our list archives?
> >
> > http://archives.postgresql.org
> >
>
>
> --
> Saygılar,
> Eşref Atak
>
>

In response to

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Devrim GUNDUZ 2006-02-28 12:03:51 Re: oid hakkında
Previous Message acemi nix 2006-02-28 08:40:43 oid hakkında