PostgreSQL Otomatik Artış Birincil Anahtarı Nasıl Kurulur?

How Setup Postgresql Auto Increment Primary Key



İstek üzerine oluşturulan bir sütun için belirli değerler istediğinizde, PostgreSQL'de tablolar oluşturduğunuz ve sürdürdüğünüz durumlar olabilir. Bu, özellikle tablonun birincil anahtarı olarak işlev gören kimlik sütunları için geçerlidir. Neyse ki, SERIAL sözde tipi, otomatik artan bir tamsayı serisini kullanışlı hale getirmeye izin verir. Seri, PostgreSQL'de bir dizi dizin veya tam sayı üreten bir tür veritabanı nesnesidir. Bir PostgreSQL dizisi, yeni bir tablo oluştururken birincil anahtar olarak kullanılmaya uygun hale getiren bir dizi farklı tamsayı üretir. Size PostgreSQL'de hangi otomatik artış menülerini göstereceğiz ve bu kılavuz boyunca SERIAL sözde tipini kullanacağız.

Sözdizimi:

Otomatik artışlı birincil anahtarı oluşturmaya yönelik genel sözdizimi aşağıdaki gibidir:







>>TABLO OLUŞTUR tablo_adı( İDSERİ);

Şimdi CREATE TABLE bildirimine daha ayrıntılı olarak bakalım:



  • PostgreSQL önce bir dizi varlığı oluşturur. Serideki bir sonraki değeri üretir ve bunu alanın varsayılan referans değeri olarak ayarlar.
  • PostgreSQL, bir dizi sayısal değerler ürettiğinden, bir kimlik alanına NOT NULL örtük kısıtlamasını uygular.
  • Kimlik alanı, serinin sahibi olarak tahsis edilecektir. Kimlik alanı veya tablonun kendisi atlanırsa, dizi atılır.

Otomatik artış kavramını elde etmek için lütfen bu kılavuzdaki çizimlere devam etmeden önce PostgreSQL'in sisteminize monte edildiğinden ve yapılandırıldığından emin olun. Masaüstünden PostgreSQL komut satırı kabuğunu açın. Üzerinde çalışmak istediğiniz sunucu adınızı ekleyin, aksi takdirde varsayılan olarak bırakın. Üzerinde çalışmak istediğiniz sunucunuzda bulunan veritabanı adını yazın. Değiştirmek istemiyorsanız, varsayılan olarak bırakın. Test veritabanını kullanacağız, bu yüzden ekledik. Ayrıca varsayılan 5432 numaralı bağlantı noktasında da çalışabilirsiniz, ancak bunu değiştirebilirsiniz. Sonunda, seçtiğiniz veritabanı için kullanıcı adını sağlamanız gerekir. Değiştirmek istemiyorsanız varsayılan olarak bırakın. Komut kabuğunu kullanmaya başlamak için seçilen kullanıcı adı için şifrenizi yazın ve klavyeden Enter tuşuna basın.







SERİ Anahtar Kelimeyi Veri Türü Olarak Kullanma:

Bir tablo oluşturduğumuzda, genellikle SERIAL anahtar sözcüğünü birincil sütun alanına eklemeyiz. Bu, INSERT ifadesini kullanırken değerleri birincil anahtar sütununa eklememiz gerektiği anlamına gelir. Ancak tablo oluştururken sorgumuzda SERIAL anahtar sözcüğünü kullandığımızda, değerleri eklerken birincil sütun değerlerini eklememiz gerekmemelidir. Bir göz atalım.

Örnek 01:

İki sütun kimliği ve adı olan bir tablo Testi oluşturun. Sütun kimliği, veri türü SERIAL olduğundan birincil anahtar sütunu olarak tanımlanmıştır. Öte yandan, sütun adı TEXT NOT NULL veri türü olarak tanımlanır. Bir tablo oluşturmak için aşağıdaki komutu deneyin ve aşağıdaki resimde görüldüğü gibi tablo verimli bir şekilde oluşturulacaktır.



>>TABLO OLUŞTUR Testi( İDSERİ BİRİNCİL ANAHTAR, adı METİN NULL DEĞİL);

Yeni oluşturulan TEST tablosunun kolon adına bazı değerler ekleyelim. Sütun kimliğine herhangi bir değer eklemeyeceğiz. Aşağıda belirtildiği gibi INSERT komutu kullanılarak değerlerin başarıyla eklendiğini görebilirsiniz.

>>Teste EKLE(isim)DEĞERLER('Aksa'),('Rimşa'),('Kağan');

'Test' tablosunun kayıtlarını kontrol etme zamanı. Komut kabuğunda aşağıdaki SELECT komutunu deneyin.

>>SEÇME*Testten;

Aşağıdaki çıktıdan, sütun kimliği için belirlediğimiz veri tipi SERIAL nedeniyle INSERT komutundan herhangi bir değer eklememiş olmamıza rağmen, sütun kimliğinin otomatik olarak bazı değerler aldığını fark edebilirsiniz. SERIAL veri tipi kendi başına bu şekilde çalışır.

Örnek 02:

SERIAL veri türü sütununun değerini kontrol etmenin başka bir yolu, INSERT komutunda RETURNING anahtar sözcüğünü kullanmaktır. Aşağıdaki bildirim, Test tablosunda yeni bir satır oluşturur ve id alanı için değer verir:

>>Teste EKLE(isim)DEĞERLER('Hassam')DÖNÜŞİD;

SELECT sorgusu ile Test tablosunun kayıtlarını kontrol ederek aşağıdaki çıktıyı resimdeki gibi elde ettik. Beşinci kayıt verimli bir şekilde tabloya eklendi.

>>SEÇME*Testten;

Örnek 03:

Yukarıdaki ekleme sorgusunun alternatif versiyonu DEFAULT anahtar sözcüğünü kullanıyor. INSERT komutunda column id name kullanacağız ve VALUES kısmında ise DEFAULT anahtar sözcüğünü değer olarak vereceğiz. Aşağıdaki sorgu, yürütme sırasında aynı şekilde çalışacaktır.

>>Teste EKLE(İD, isim)DEĞERLER(VARSAYILAN, 'Yarış');

Aşağıdaki gibi SELECT sorgusunu kullanarak tabloyu tekrar kontrol edelim:

>>SEÇME*Testten;

Aşağıdaki çıktıdan, sütun kimliği varsayılan olarak artırılırken yeni değerin eklendiğini görebilirsiniz.

Örnek 04:

SERİ sütun alanının sıra numarası PostgreSQL'deki bir tabloda bulunabilir. Bunu gerçekleştirmek için pg_get_serial_sequence() yöntemi kullanılır. pg_get_serial_sequence() yöntemiyle birlikte currval() işlevini kullanmalıyız. Bu sorguda, pg_get_serial_sequence() fonksiyonunun parametrelerinde tablo adını ve SERIAL sütun adını sağlayacağız. Gördüğünüz gibi tablo Testi ve sütun kimliği belirledik. Bu yöntem aşağıdaki sorgu örneğinde kullanılmıştır:

>>Eğriyi SEÇ(pg_get_serial_sequence('Ölçek', 'İD'));

Şunu belirtmekte fayda var ki currval() fonksiyonumuz dizinin en son değeri olan 5'i çıkarmamıza yardımcı oluyor. Aşağıdaki resim performansın nasıl görünebileceğinin bir gösterimidir.

Çözüm:

Bu kılavuz eğitiminde, PostgreSQL'de otomatik artış için SERIAL sözde tipinin nasıl kullanılacağını gösterdik. PostgreSQL'de bir dizi kullanarak, otomatik artan bir sayı kümesi oluşturmak kolaydır. Umarım, örneklerimizi referans olarak kullanarak SERİ alanını tablo açıklamalarına uygulayabilirsiniz.