PostgreSQL

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

PostgreSQL Otomatik Artış Birincil Anahtarı Nasıl Kurulur?
İ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 "id" 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ı ( id SERIAL );

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

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 birincil sütun alanına SERIAL anahtar sözcüğünü 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. şuna bir göz atalım.

Örnek 01:

“id” ve “name” olmak üzere iki sütunlu bir “Test” tablosu oluşturun. "id" sütunu, veri türü SERIAL olduğundan birincil anahtar sütunu olarak tanımlanmıştır. Öte yandan, “name” sütunu, 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( id SERİ BİRİNCİL ANAHTAR, isim METİN NULL DEĞİL);

Yeni oluşturulan “TEST” tablosunun “name” sütununa bazı değerler ekleyelim. “id” sütununa 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.

>> EKLE Test(isim) DEĞERLER ('Aksa'), ('Rimsha'), ('Khan');

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

>> Testten * SEÇİN;

Aşağıdaki çıktıdan, “id” sütunu için belirlediğimiz veri tipi SERIAL nedeniyle, INSERT komutundan herhangi bir değer eklememiş olmamıza rağmen “id” sütununun 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ının değerini verir:

>> INSERT INTO Test(name) DEĞERLER ('Hassam') DÖNÜŞ id;

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

>> Testten * SEÇİN;

Örnek 03:

Yukarıdaki ekleme sorgusunun alternatif versiyonu DEFAULT anahtar sözcüğünü kullanıyor. INSERT komutunda “id” sütun adını kullanacağız ve VALUES bölümünde, değer olarak DEFAULT anahtar kelimesini vereceğiz. Aşağıdaki sorgu, yürütme sırasında aynı şekilde çalışacaktır.

>> INSERT INTO Test(id, name) DEFAULT (VARSAYILAN, 'Raza');

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

>> Testten * SEÇİN;

Aşağıdaki çıktıdan görebilirsiniz, “id” sütunu varsayılan olarak artırılırken yeni değer eklendi.

Örnek 04:

SERIAL 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() işlevinin parametrelerinde tablo adını ve SERIAL sütun adını sağlayacağız. Gördüğünüz gibi “Test” tablosunu ve “id” sütununu belirledik. Bu yöntem aşağıdaki sorgu örneğinde kullanılmıştır:

>> SELECT currval(pg_get_serial_sequence('Test', 'id'));

Currval() fonksiyonumuzun dizinin en son değeri olan “5”i çıkarmamıza yardımcı olduğunu belirtmekte fayda var. Aşağıdaki resim, performansın nasıl görünebileceğinin bir örneğidir.

Sonuç:

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, referans olarak resimlerimizi kullanarak SERİ alanını tablo açıklamalarına uygulayabilirsiniz.

How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...
Vulkan for Linux Users
With each new generation of graphics cards, we see game developers push the limits of graphical fidelity and come one step closer to photorealism. But...