PostgreSQL Boolean Veri Türü

Bu yazıda PostgreSQL Boolean Veri Türü hakkında bilgiler vereceğim. Bir önceki yazıda PostgreSQL veri türlerini açıklamıştım.

PostgreSQL Boolean Veri Türü

PostgreSQL Boolean Veri Türü Nedir?

Doğrular ve yanlışlar yoktur, sadece yorumlar vardır der Friedrich Nietzsche. Bu yazı onun nihilizmi anlattığı bu sözle alakalı değil. Havalı bir giriş olması amacıyla yazdım. Diğer programlama dillerinde (en azından bildiklerimden bahsedeyim) herhangi bir kararsızım, bence böyle olmalı gibi bir durumla karşılaşmazsınız. Örneğin 2’nin 2’ye eşit olması mutlak doğruyu ortaya çıkarır.

Bazen bu doğruları ve yanlışları saklamak isteriz. Veri tabanları özellikle bu doğru ve yanlışların tutulması anlamında güzellikler sağlar. Özellikle PostgreSQL veri tabanı doğru ve yanlış olayını bir adım ileriye taşıyarak adeta kafası karışık yazılımcılara çayıda mı ben demleyeyim demiş. PostgreSQL Boolean Veri Türü bağlamında diğer veri tabanlarına göre farklı keywordlere sahip.

Nedir Bu Keyword Olayı?

Aşağıdaki formatlarda bool içerikleri postgresql üzerinde insert edebilirsiniz. Mesela basit bir tablo oluşturup denemelere başlayalım. Önceki yazılardan hatırlanacaktır konsoldan nasıl giriş yaparız onları göstermeyeceğim. Tablomuzu şöyle oluşturalım:

CREATE TABLE ogrenciler(
    id SERIAL,
    mezun BOOLEAN NOT NULL
);

Basit olarak bu tabloya sahibiz. Şimdi diğerlerinden farklı olan yanını gösterelim.

İlk Verilerimizi Ekleyelim

Örnek veri girişleri yapalım. Bunlar diğer RDBMS nedeniyle bildiğiniz şekilde olsun. Bu ilk örnek true, false, 1 ve 0 ile süslenecek.

INSERT INTO ogrenciler(mezun) VALUES(true);
-- INSERT 0 1

INSERT INTO ogrenciler(mezun) VALUES(false);
-- INSERT 0 1

INSERT INTO ogrenciler(mezun) VALUES('1');
-- INSERT 0 1

INSERT INTO ogrenciler(mezun) VALUES('0');
-- INSERT 0 1

Kısacası yukarıdaki örnekte verilerimiz eklendi ki bunu select sorgusu ile görebiliriz. Gelin bakalım nasıl görünüyor:

 id | mezun 
----+-------
  1 | t
  2 | f
  3 | t
  4 | f
(4 rows)

Basit ogrenciler select sorgusudur bu. Bazı veri tabanları t ve f yerine 1 ve 0 veriyor. Burada olay farklı şekillerde gerçeklenmiş durumda t ve f.

Yes mi No mu?

Bu tanıdık geliyor dimi hepimiz çocuktuk. Neyse sanırım PSQL geliştiricisi abiler çocukluklarını özlemişler ki boolean tiplere yes ve no şeklinde eklemeler yapabiliyorsunuz. Örnek eklemeler yapalım. Bu arada sadece yes ve no değil true ve false için de örnek ekliyor olacağım.

INSERT INTO ogrenciler(mezun) VALUES('yes');
-- INSERT 0 1

INSERT INTO ogrenciler(mezun) VALUES('no');
-- INSERT 0 1

INSERT INTO ogrenciler(mezun) VALUES('t');
-- true için kısaltma

INSERT INTO ogrenciler(mezun) VALUES('f');
-- false için kısaltma

INSERT INTO ogrenciler(mezun) VALUES('y');
-- yes için kısaltma

INSERT INTO ogrenciler(mezun) VALUES('n');
-- no için kısaltma

Where Sorguları Nasıl Peki Süpermen?

Burada ne eklediyseniz onu o şekilde kullanabiliyorsunuz. Örneğin;

SELECT * FROM ogrenciler WHERE mezun = 'y';

Yukarıdaki sorgunun çıktısı şöyle olacaktır:

 id | mezun 
----+-------
  1 | t
  3 | t
  5 | t
  7 | t
  9 | t
(5 rows)

Bool Kontrollerde Parametre Şart Değil

Bu özelliği çok seviyorsunuz eminim. Sonuç olarak true ya fa false parametre alan kolonların üreteceği değerler bellidir. Doğru ya da yanlış. Bu yüzden true == true gibi bir olayı yapmamak adına direkt olarak WHERE kolonadi şeklinde bir kullanım da gerçekleştirebilirsiniz. Bu PostgreSQL özelinde bir durum değildir onu da söyleyeyim.

Sonuç Olarak?

Boolean türünü öğrendik gibi he? Bu bizim için iyi bir başlangıç oldu. Ayrıca ben de öğreniyorum bana da iyi geldi. Şu bool kolonlarda parametre olayını zaten biliyordum da t, y, f, n gibi garip yapıları bilmiyordum öğrendiğim iyi oldu.

Çok feyz aldım ama az daha feyzleneyim gidip kendileriyle selamlaşayım diyorsanız resmi sitelerinden de okuyabilirsiniz.

Ayrıca sorularınız varsa yorum atmayı ihmal etmeyin. Teşekkürler okuduğunuz için.