Home / MAKALELER / Veri Tabanı / Bitwise Operatörleri(Bir Bazlı Operatörler)

Bitwise Operatörleri(Bir Bazlı Operatörler)

Bitwise operatörleri iş dünyasında çok sık kullanılan bit bazlı operatörlerdir.

Bitwise-Edit

Bitwise operatörleri iş dünyasında çok sık kullanılan bit bazlı operatörlerdir.Ne kadar okullarda üzerinden çok basit geçilsede (bazılarında hiç bahsedilmez) projelerde hızlı işlemler yaparak işlem yükünden kurtulmanızı sağlar.Herhangi bir dilde programlama yaparken ikilik tabanda işlem yapmamızı sağlayan operatörlerdir.Bitwise operatörleri ile çarpma, bölme , toplama vb. işlemlerimizi çok hızlı yapabiliriz.

 

Bitwise operatörleri ile mantıksal operatörler arasında bir bağ söz konusu değildir ve mantıksal operatörlerle karıştırılmaması gerekir.

 

Bu makalemde sizlerle database yapısında en yaygın kullanılan Bitwise And operatörünü paylaşacağım.Diğer Bitwise operatörlerini başka bir makalemde sizlerle paylaşacağım.

 

Bitwise And Operatörü (TSQL :& , PLSQL :Bitand) :

 

Yaptığımız projelerde Bitwise And operatörü ile birkaç tablodan kolayca kurtulabilirsiniz.

 

Örneğin;

 

Projemizde müşterilerden toplanması gereken evraklar olsun.Nüfus cüzdanı fotokopisi , ikematgah belgesi,banka hesap cüzdanı fotokopisi vb. evraklar olsun.Bir müşteriye ait evrakları databasede tutmak için her evrağa müşteri tablosunda kolon adı açıp 1 , 0 bayrakları ile işaretleyebiliriz fakat bu yöntem  tablomuzu şişir.İki veya üç evrak olunca seçilebilecek bir yöntemken 20 evrak olduğunda gereksiz bir kullanım olacaktır.

 

Buna benzer birkaç yöntem daha denenebilir.Bu yöntemleri sayarak makalemi uzatmak istemiyorum.

 

Bitwise And operatörü kullanarak yukarda anlattığım işlemi şöyle yapabilirz ;

 

Databasemizde EVRAKLAR adı ile bir tablo oluşturarak her evrak için bir satır oluştururuz.EVRAKLAR tablosunun yapısı şöyle olmalıdır.

 

ID EVRAK_ADI BITWEIGHT
1 Evrak 1 1
2 Evrak 2 2
3 Evrak 3 4
4 Evrak 4 8
5 Evrak 5 16
6 Evrak 6 32
7 Evrak 7 64
8 Evrak 8 128

 

 

 

Tablomuzu oluşturduktan sonra Müşteri tablomuza EVRAKLAR adı ile kolon ekliyoruz. Bu tablomuza kayıt eklerken örneğin;

 

1. müşterimizde Evrak 1, Evrak 3, Evrak 5, Evrak 6 bulunsun.

 

2.müşterimizde Evrak 2, Evrak 3, Evrak 4 bulunsun.

 

Tablomuza 1. Müşteri için EVRAKLAR satırına 53 yazacağız.2. müşterimiz içinde 14 yazacağız.53 ve 14 sayıları EVRAKLAR tablosunun her evrak kolonundaki BITWEIGHT kolonunda bulunan sayıların toplamı oluyor.Artık evraklarımızı Müşteri tablosunda tek kolonda tutabiliyoruz.Bir müşteriye ait hangi evrakların olduğunu öğrenmek istediğimizde  çok basit bir select kodu ile öğrenebiliyoruz.

 

Birinci müşteri için 5 numaralı evrak varmı diye baktığımızda  “Evrak  5” in bitweight değeri olan 16 ile 53 ü bitwise and işlemine sokuyoruz aşağıdaki şekilde.

 

TSQL:Select 53 & 16

 

PL-SQL: select BITAND(53, 16) from dual;

 

Kodumuzu çalıştırdığımızda sonuç olarak 16 değeri dönüyorsa “Evrak 5” bulunmaktadır anlamına geliyor. Sonuç 16 dan farklı dönüyorsa “Evrak 5” bulunmadığı anlamına geliyor.

 

Bitwise operatörleri  ile gördüğünüz gibi çok basit birşekilde tüm evrakları basit ve dinamik birşekilde tutmuş olduk.

 

 

 

Faydalı olması dileğiyle …

 

About Omer Faruk Gul

Sakarya Bilgisayar Müh. mezunuyum.Çalışmalarıma Web Teknolojileri ve Oracle Data Warehouse üzerine devam ettirmekteyim.

İlginizi Çekebilir

SQL Server ile Veri Şifreleme

Bilgi teknolojilerinde verinin güvenliği çok kritik bir öneme sahiptir. Önemli verileri korumak için ekstra bir …

Bir Cevap Yazın