26 Mayıs 2008 Pazartesi

SQL sorgusuyla doğum günü bulma

Merhaba Arkaşlar,

Bu yazıda SQL sorgusu ile doğum günü bugün olanları bulduracağız.

Örnek tablomuzun adı MUSTERI olsun ve tabloda müşterinin Ad soyad ve doğum tarihi bilgilerini tutan şu alanlar
[ADSOYAD varchar(50)]
[DT (datetime)]
olsun.

Sorguyu Access için yaparsak bugünün tarihini döndüren NOW fonskiyonunu,
SQL Server için yaparsak GETDATE() fonksiyonunu kullanacağız.

Access Sorgusu:

select ADSOYAD,DT from MUSTERI where DAY(DT)=DAY(NOW) and MONTH(DT)=MONTH(NOW)

SQL SERVER(T-SQL) sorgusu:

select ADSOYAD,DT from MUSTERI where DAY(DT)=DAY(GETDATE()) and MONTH(DT)=MONTH(GETDATE())

24 Mayıs 2008 Cumartesi

Parmakizi ve Güvenlik 1

Parmak izi tanıma teknolojisinin iki temel dayanağı vardır:
(i) Süreklilik;parmak izinin temel karakteristiği zamanla değişmez; ve
(ii) kişisellik:parmak izi her bireye ait benzersiz bir özelliktir.İlk öncülün geçerliliği parmak derisinin anatomik ve morfolojik özelliğine dayanır.

İkinci öncülün noktası ise deneysel sonuçlara göre doğru olduğu kabul edilmiştir;fakat bilimsel gerçeklikte kesin kanıtlanmamıştır.Sonuç olarak parmak izinin kanıt olmasının yasallığı zamanında bir çok mahkemede sorgulanmıştır.Parmak izinin kişiselliğinin bilimsel temelde kanıtlanması sadece parmak izinin mahkemelerde akla uygunluğunun kabul edilebilirliğini değil,aynı zamanda otomatik parmak izi doğrulama sistemlerinin üstünlüğünü kanıtlayacaktır.

Parmak üzerinde ki küçük noktalara (“Minutiae”) ait özelliklerinden bir miktar uygun bilgi ölçerek elde edilen iki parmakizi imajın karşılaştırılıp doğruluğunun kanıtlanmasın da parmak izinde ki kişiselliğinde ki problemleri gün yüzüne çıkarır.Ölçülen minutiae temellip parmak izi temsillerinin arasında ki birbirine benzerlikten bir ifade elde edilir.Örneğin bir parmak izinde ki 36 minutiae noktası ,rastgele seçilmiş başka bir parmak izine ait 36 minutiae noktası ile 12 noktayı paylaşırsa iki parmak izinin aynı olabilirliği (6.10 x 10^2) dir. Bu olasılık tahmini tipik bir parmakizi kıyaslamasının doğruluk sonucudur.

Parmak izinde çok büyük ayırıcı bilgiler olmasına rağmen algılanan parmak elde edilen değerlerden çıkan sonuç bilinen inanışın aksine, parmak izi kıyaslaması hatasız değildir ve hatalar olabilir.Şu an da kullanılan parmak izi okuyucular bile teorik doğruluk limitine çok uzaktır.

Parmakizinin Özellikleri

Parmak izi, parmak ucu derisinde, göz ile görülebilen çıkıntıların meydana getirdiği şekillerdir. Dış deriye ait bu çıkıntılara, papilla veya hat denir. Parmaklarımızı dikkatlice incelersek, parmak izlerinin, birçok hattın farklı biçimlerde bir araya getirilmesiyle yapıldığını görürüz.

Tek yumurta ikizleri de dahil olmak üzere herkes, eşsiz parmak izlerine sahiptir. Bir başka deyişle, insanların kimlikleri parmak uçlarında kodlanır. Bu kodlama sistemi,günümüzde kullanılan barkod sistemine benzetilebilir.

Derin kesik ve yaralar olmadığı sürece, parmak izlerindeki bu hatlar, insan hayatı boyunca değişmez. Parmak izlerinin bu değişmez ve herkes için farklı özellikleri (tek yumurta ikizlerinde bile bu farklılık mevcuttur), onları kimlik tespiti konusunda çok kullanılan bir özellik haline getirmiştir.

Yaratıcı, parmak izlerine o kadar fazla eşsiz bilgiyi sıkıştırmış ki ,doğru tanımlama için parmak izinin küçük bir parçası bile yeterli olmaktadır.

Parmak izlerinin ferdi tanıma gayesiyle kullanılması fikri, 1890´lı yıllarda, Hindistan´da
görev yapan İngiliz polis şefi Sir Edward Henry tarafından ortaya atılmıştır. Bu teknik
günümüzde en yaygın kullanılan biometridir.

Parmak izleri, tanımlama doğruluğu konusunda güçlü bir şablon sağlamak için yeterince karmaşıktır. Daha sağlıklı bir güvenlik isteniyorsa, birden çok parmağın izi kullanılabilir. Çünkü her parmağın izi farklı yaratılmıştır. Parmak izinin taranması, hızlıdır ve kişilere herhangi bir rahatsızlık vermez. Parmak izi tarayıcıları, kolaylıkla küçültülebilir vedüşük maliyetle çok sayıda üretilebilir. Bugün bazı ülkelerde sadece sol ve sağ işaret parmakları bile yeterli görülmektedir. Bununla beraber bazı insanların parmak izlerinin görüntülenmesi güçtür. Yeni teknolojilerle, parmak izlerinin görüntü olarak değil, kodlanarak saklanması da tercih edilebilmektedir.

Bilim ilerledikçe, biyometrik olarak kullanılabilecek insana has hususiyetler daha da artacaktır. Bu sebeple insan biyometrisi; çağın gerisinde kalmak istemeyen toplumların,araştırma ve geliştirme çalışmalarında ihmal etmemeleri gereken bir çalışma sahasıdır.

İnsanlar parmak izinin özelliklerini uzun yıllardan beri bilmektedir.Daha önceleri siyah mürekkeple kriminoloji de kullanılan parmak izleri gelişen teknoloji ile dijital hale getirilmiştir.Kişiyi tanımlayan ayırıcı bir özellik olmasından dolayı son yıllarda özellikle güvenlik sistemlerinde kullanılmaya başlanmıştır.

Parmak izinin fizyolojik ve morfolojik yapısına dönersek parmak izi parmak derisinde ki tepelerden(ridge) ve çukurlardan oluşur.Tepeler parmak boyunca uzanan yükseltili çizgilerdir.Bu tepeler arasında ki kısım ise çukurları oluşturur.Parmak izi tanıma teknolojisinde bu çukurlar ve tepeler arasında oluşan noktalar(minutiae) dan faydalanılmaktadır.Bunun yanında parmak izlerinde çekirdek ve delta adı verilen iki özellik daha vardır.Çekirdek küçük noktaların kodlanmasında kullanılırlar.Deltalar ise parmak izlerinin oluşturduğu deltalardır.












Not:Bu yazı üniversite bitirme tezimden özetlenerek yapılmış alıntıdır.

23 Mayıs 2008 Cuma

Biyometrik Sistemler üzerine...

Ünlü eğitim bilimci Maslov’un gereksinimler hiyerarşisinin ikinci basamağını güvenlik kavramı oluşturmaktadır.Eski insanlar için güvenlik vahşi hayvanlardan korunmak ve yaşamını çeşitli tehditlerden korumak iken,modern insan için güvenlik tanımı değişmiştir.

Yaşadığımız çağ bilişim çağı olduğu için bilgi kavramının önemi artmıştır.Bilgi değer anlamına geldiği için bu değeri muhafaza etmek de önem kazanmıştır.İnternet’in de yaşamımıza girmesiyle bilgiye ulaşmak kolaylaşmıştır.Bilgiye olan gereksinim arttıkça bilgi güvenliği de aynı doğrultuda artmıştır.Her bilginin herkese açık olmasının bazı sakıncaları vardır.Özellikler iş,finans ve e-ticaret ortamlarında bilgi güvenliği son derece önemlidir.

Bu yüzden bilgi güvenliği için günümüzde bir çok çalışma yapılmaktadır.Bu konuda ki en son yaklaşım ise biometrik tanımaya dayalı güvenlik sistemleridir.Çünkü biometrik yaklaşım insanoğlunun doğasında ki benzersizlik prensibine dayanır.İnsanlar diğer insanlardan parmak izleri,yüz ve el geometrileri,irisleri,ses tonları ile birbirlerinden farklılık gösterirler.Bu farklılık üzerine yapılan bir güvenlik sistemi kuşkusuz diğer sistemlere göre üstünlükler taşıyacaktır.

Ülkemiz için biometrik uygulamalar son derece sınırlı iken Amerika Birleşik Devletlerinin başını bir çok ülkede bu temelde bir çok uygulama geliştirilmektedir.ABD pasaportu bile biyometrik hale getirilmiş özellikle ülkeye giriş çıkışlar parmak izi tanısına dayanmıştır.Bunun yanında bir çok banka pilot bölgeler seçerek müşterilerine parmak izi sensörlerü dağıtmış ve e-ticaret ortamnı güvenli hale getirmeyi amaçlamıştır.Sadece ABD’de e-ticaret ortamında dolaşımda ki para bir trilyon dolar civarında tahmin edilmektedir.Bu da bilgi güvenliğin önemini göstermektedir.

YAZININ AMACI


Dijital bilgi güvenliği için bir çok yöntem geliştirilmiştir.Bu yöntemler kriptoloji
algoritmaları,güvenlik protokol ve servisleri (SSL,Kerberos– X.509 kimlik kanıtlama),dijital
imzalama(DDS,RSA),özel kodlar (hash, digest, MAC) şeklinde özetlenebilir.
Bu yazının amacı , biometrik sistemlerin özellikleri anlatmak ve parmakizi tanımaya
dayalı biometrik bir sistemin ERP gibi bir uygulamaya nasıl entegre edileceği hakkında fikir
verecek bir uygulamayı tanımamaktır.


İş ortamında kullanılacak bir ERP yazılımında erişim kontrollerini ve haklarını klasik şifre korumalı yöntemler yerine biometrik parmak izi ile sağlayarak klasik sistemlere güvenli bir alternatif olacak bir bilgisayar programının tanımlanmasından oluşmaktadır.

BİYOMETRİK SİSTEMLER

Biometrik, bir kişinin fizyolojik veya davranışsal karakteristiğini temel alan ve
kişilerin tanınması işleminin otomatikleştirilmesidir.Biometrik tanımlamada kişilerin ölçüt
özellikleri kişinin; parmak izi, el veya yüz geometrisi , el yazısı, irisi, retinası ve damarı
olarak sayılabilir. Biometrik teknolojiler yüksek güvenlikli tanımlama uygulamalarında ve
kişi doğrulama çözümlerinde temel olmaya başlamaktadır.Güvenlik basamağı oyukları ve
sahtekarlığın arttığı günümüzde yüksek güvenlikli tanımlama ve kişi doğrulama teknoloji olan
biometrik sistemlere ihtiyaç artmaktadır.

Biometrik sistemleri temel alan çözümler gizli mali işlemler ve kişisel veri gizliliğini
sağlayabilecek yapıdadırlar.Biometrik sistemlere devlet daireleri,askeri kurumlar,finansal ve
ticari uygulamalarda ihtiyaç vardır.Kurumsal ağ güvenlik yapıları,güvenli elektronik
bankacılık,mali işlemler,parekende satış,hukuki yürütme,sağlık ve sosyal servislerde daha
şimdiden biometrik teknolojilerden faydalanmaktadırlar.
Biometrik temelli yetkilendirme ve tanıma uygulamalarına istasyonları,ağ ve domain
erişimi,uygulama logon,kaynaklara uzak erişim,WEB ve işlem güvenliği dahil edilebilir.

Bu elektronik işlemlerde güven(trust) küresel ekonominin sağlıklı büyüyebilmesi için
zorunluluktur.Tek başına kullanılan ya da akıllı kart,şifrelenmiş anahtarlar ve sayısal
imzalama gibi diğer teknolojilerle entegre edilmiş biometrik sistemler günlük yaşamımızı
kaplamaya başlayacaktır.Kişi tanıma ve yetkilendirme için biometrik sistemlerin kullanımı şu
an güncel metotlar olan şifre ya da PIN kullanımdan daha güvenli ve kullanılışlıdır.Bundan
dolayı biometrik sistemler bireye özgü eylemlere işaret eder.Çünkü güncel sistemlerde şifre
ya da kart başkası tarafından kullanılabilir veya şifre hatırlamak veya kart taşımak
gerekebilir.Biometrik sistemlerde ise kişi dışında başka yollarla sisteme erişmek mümkün
değildir.Ayrıca şifre hatırlamaya da gerek yoktur.Bu da biometrik sistemleri sosyal yönden
daha kabul edilebilir kılmaktadır.

Biometrik Sistemlerin Çalışması

Biyometrik sistemler tarayacı gibi sensörlerden elde edilen bilginin dijital hale getiren
yazılımlardan ve analiz gerektiğinde karşılaştırma yapabilmek için eski kayıtların tutulduğu
bir veri tabanından oluşur.Biometrik sistemlerde iki önemli unsur bulunur.Bunlar
kayıt tanımlamadır ve onaylamadır.

Dış dünyadan sensörlerle alınan biometrik bilgi sayısal olarak işaretlenir ve bu bilgi
küçük ama anlamlı sayısal ifadeler olarak bir şablona dönüştürülür.Uygulama çeşidine göre
bu şablon veri tabanı(Access,MySql,Oracle) olabileceği gibi kullanıcıya verilen bir kart da
olabilir.Tanımla bölümünde ise aynı kayıt işleminde olduğu gibi dış dünyadan alınan
örneklenmiş ve sayısal hale getirilmiş şablon daha önce veri tabanına kaydedilmiş şablonda
aranır ve kıyaslama yapılarak tanımlama yapılır.

Tanımlama ve Onaylama

Biometrik bir sistemde iki farklı modda işlem yapılır.İlk basamakta
“Ben kimim?” sorusuna cevap aranır.Kullanıcı kendine ait biyometrik bir özelliği sisteme
tanıttıktan sonra , bu özellikten bir Şablon çıkartılır.Bu Şablonin doğru elde edilmesi
önemlidir.Bu Şabloni elde etmek için doğruluk kontrolü yapılır ve bu Şablonin mevcut
veritabanında olup olmadığı araştırılır.(Matching)Bu araştırma/arama esnasında yeni
oluşturulan Şablonin veri tabanında ki mevcut Şablonlere benzerlik derecesi belirtilen eşik
değerinin üstünde ise kullanıcının veritabanında olduğunu , elde edilen Şablon eşik değerinin
altında ise kullanıcının veri tabanında kayıtlı olmadığını gösterir.

Onaylama ya da doğrulama ( authentication ) işleminde ise “ben gerçekten iddia
ettiğim kişi miyim?” sorusuna cevap aranır.Tanımlamanın aksine kullanıcı kendine ait bir
parola ya da tanmlı kart ile sisteme kendi özelliklerinin olduğu bir yer belirtir.Bu işlemin
ardından kullanıcının biometrik özellikleri sistem tarafından alınır.Elde edilen Şablon , daha
önce kayıtarda ki Şablonle kıyaslanır ve boolean mantığının doğru(True) ya da yanlış(False)
sonucu üretilir.

Şablon Yönetimi

Biyometrik bir Şablon bireyin biyometrik özelliklerinin sayısal ifadesidir.Farklı
algoritmalar ve farklı metotlar Şablonlerin farklı boyutlarda olmasını sağlar.Ayrıca Şablonin
sistemde nasıl temsil edileceği ,nasıl temsil edileceği ve nasıl saklandığı da şablon
yönetiminde dikkat edilmesi gereken bir diğer unsurdur.Genelde daha küçük boyutlu şablonlar
oluşturabilen sistemler kapasiteye ve performansa olan pozitif etkilerinden dolayı daha
avantanlıdırlar.Örneğin elde edilen bir parmak izi , 150 Kb lık bir resim dosyası halinde
saklandığını ve karşılaştırıldığını düşünelim.Bu durumda büyüyen veri tabanı binlerce
kullanıcının kayıtlı olduğu bir sistemi büyük ölçüde yavaşlatacak;sisteme kayıt ve doğrulama
işlemi büyük ölçüde artarak hem zaman kaybına hem de performans kaybına sebep olacaktır.

Bu sebepten dolayı şu dört sistemden en uygun olanı tercih edilir.

  • Şablon sistemin kendi içinde saklanır.
  • Kapalı bir ağda şablonlar dağıtık veri tabanları üzerinde saklanır.
  • Şablonlar tek ve merkezi bir veritabanında saklanır gerektiğinde biometrik cihazın
  • hafızasına indirgenebilir.
  • Şablon akıllı kart (match on card ) veya jeton (token) gibi taşınabilir bir araç üzerinde
  • saklanır.

İlk yöntemde şablonlar cihaz üzerinde ki hafızada tutulur.Hafıza kapasitesinin
kullanıcı sayısını karşıladığı sistemler için çok uygundurlar.Bu tür sistemlerde şablon ve işlem
bilgilerinin yedeklenebileceği bir ünite ve bir iletişim portu bulunmalıdır.Haberleşme popüler
haberleşme standartları ile yapılır(RS 232 gibi) Yedekleme yapılarak sistemin kriz anında
korunması amaçlanır.

İkinci yöntemde ise bir ağda bulunan her bir biometrik ünitenin üzerinde bulunan veri
tabanlarının ağda paylaşımı ile oluşan bir yapı vardır.Örneğin her biri 500 şablon saklayabilen
5 adet ünitenin bulunduğu biometrik sistemde veri tabanının toplam büyüklüğü 2500
şablondur.Kullanıcı 2 numaralı okuyucu ünitesinden PIN numarası ya da ID kartını tanıtıp
sisteme girmek istediğinde ilk olarak 2 nolu ünite kendi veri tabanında arama yapar.Eğer
kullanıcının veritabanında olmadığı anlaşılırsa diğer ünitelere bu kullanıcının veritabanlarında
olup olmadığına bakmaları için bir mesaj gönderilir.Diğer birimlerden olumlu cevap gelirse
kullanıcı tanımlanmış olur.Bu tür birimlerden biri ağ yönetiminden ve veritabanı
yedeklemesinden sorumludur.Genellikle bu işlemler bilgisayarlar tarafından yapılır.

Üçüncü yöntemde ise biometrik Şablonlar merkezi bir veritabanı tarafından tutulur ve
tanımlama isteği geldiğinde kullanıcı ünitesine aktarılır.Bu yöntem seçilen biometrik ünitenin
yapısından bağımsız geniş ölçekli bir veritabanının kullanımına imkan verir.Bu yapıya bağlı
birimlerden birine tanımlama isteği geldiğine,bu birim merkezi veri tabanına bu isteği
ulaştırır.Merkezi ünite ise gelen çağrının ve Şablonun türüne göre veritabanında arama ve
kıyaslama işlemi yapıp sonucu istemci birime gönderir.


Dördüncü ve son yöntemde ise biometrik şablon taşınabilir bir saklama aracında taşınır
ve sorumluk kullanıcıya bırakılır.Taşınabilir araç basit bir manyetik kart,temaslı yapıda
üzerinde chip olan bir kart ya da temasın olmadığı RF (Radio Frequency) kart olabilir.Bu
yöntemde kullanıcı kendi Şablonini yanında taşır ve gerektiğinde biometrik üniteye
yükledikten sonra makineden karşılaştırma yapmasını bekler.Bu sistemde ağa bağlılık
azaldığı için kullanıcı ağ trafinden etkilenmeyecektir.Bunun yanında ağla bağlantı az olduğu
için güvenlik de artar.

Biometrik Sistemlerin Performans Standartları

Biometrik endüstri tarafından geniş bir biçimde kullanılan performans standartları
çeşitli biyometrik sistemlerin etkinliğini ölçmek için kullanılır.Bu standartlar her hangi bir
biometrik sisteme özgü değildir.Bütün biometrik teknolojilere uygulanabilirler.Bu standartlar,

• The False Acceptance Rate(FAR); yanlış kabul oranı,
• The False Rejection Rate(FRR); yanlış olanı red etme,
• The Equal Error Rate(EER) ; eşit olan hata,
• The Failure To Enroll Rate; sisteme giriş başarısızlık oranı,
• The Ability To Verify Rate ;doğrulama kabiliyeti oranından

meydana gelir.

Şu an biometrik ürün imalatçıları tarafından açıklanan performans performans standartlarını
düzenleyen ve gözlemleyen herhangi bir yönetim birimi yoktur.Buna bağlı olarak biometrik
endüstrisinde imalatçıları arasında ürünlerin performansı hakkında bir tartışma
vardır.Örneğin imalatçı performans standartlarının sonuçlarını abartılı
gösterebilirlerdi.Biometrik üreticiler gerçek nesneleri kullanarak ürünlerini geliştirmelerine
rağmen test ortamı gerçek hayatta ki gerçekçiliğe ulaşamadı.Bu yüzden bu sistemlerin
standartlarını tanımlamak ve gözlemek için Uluslar arası Biometrik Endüstri Birliği ve
BioAPI Konsorsiyumunun kurulmasına gidecek yol açılmış oldu.

Biometrik bir sisteme geçmeden ve sistemi tanımlamadan(implementation) önce üreticiler
tarafından tanımlanmış performans standartlarına bakmak gereklidir.
Şimdi biometrik sistem performans standartlarını inceleyelim;

Hata Kabul Oranı (The False Acceptance Rate (FAR)) :Tip II Hataları da denebilir. Bu
performans standardı biometrik sistemin bir sahtekarı sisteme kayıtlı biri olarak yanlışlıkla
tanıma ihtimalini ve sisteme erişimini ifade eder.

Hata Reddetme Oranı (The False Rejection Rate (FRR)) :Tip I hataları da denebilir. Doğru
kişinin biometrik sisteme girişinin reddedilme ihtimalini ifade eder.

Eşit Hata Oranı (The Equal Error Rate): FAR ve FRR oranlarının aynı ya da eşit olması
ihtimalini ifade eder.Eşit hata oranı aynı zamanda Çaprazlama oranı olarak da bilinir.FAR ve
FRR değerinin eşit olması istenen çok az uygulama vardır.Aşağıda ki grafikte Eşit Hata Oranı
(EER) nin nerde olduğu gösterilmiştir.

Sisteme Giriş Başarısızlık Oranı (The Failure To Enroll Rate(FTE)) ,kısaca kişinin
biometrik sisteme giriş yapamama olasılığının oranıdır.Bunun sebebi kişinin biometrik
sistemin yakalayacağı ayırt edici bir özelliğe sahip olmaması olabilir.Örneğin işimizde
çalışan bir işçi biometrik sisteme kendini kaydedemeyebilir.Bunun sebebi kişinin benzersiz
bir parmak izi ya da el geometrisine sahip olmamasından kaynaklanabilir.Gerçi Sisteme Giriş
Başarısızlık Oranı genellikle çok düşük oranlarda olmasına rağmen,herhangi bir kullanıcımız
sisteme bu yüzden giremez ve kullanamazsa sistemin back up unu almak doğru davranış
olacaktır.

Doğrulama Yeteneği Oranı(The Ability To Verify Rate – ATV). Bu performans standardı
biometrik sistem tarafından doğrulan yüzdesini gösterir . Örneğin biometrik sistem tarafından
başarılı bir şekilde tanınarak doğrulanan işçilerimizin oranın yüzdesi Doğrulama Yeteneği
Oranıdır(ATV).Bu değer aynı zamanda FTE ve FRR nin kombinasyonu şeklinde de olabilir.

Not:Bu bilgiler bitirme tezimden özetlenmiştir.
İkinci yazımda parmakizi eşleşme hakkında bilgiler olacak.

22 Mayıs 2008 Perşembe

SQL ISNULL ve COALESCE komutu

SQL ISNULL

Bazı Sql sorgularında kimi alanların null değer döndürürdüğünü biliyoruz.Örneğin
select urunid,urun_adi,fiyat from STOK sorgusunda fiyat alanı null değer almışsa yukarıda ki sorguda null döndürecektir.

Sorgu sonucunda null değerlerle karşılaşmamak istemiyorsak sorguyu ;

select UrunId,UrunAdi,ISNULL(Fiyat,0) from STOK olarak değiştirebiliriz.

ISNULL komutunun yazımı :

ISNULL ( kontrol_edilecek_ifade , null_yerine_konacak değer)

Örnek : select ISNULL(Sum(Fiyat),0) from STOK => Fiyat sutununda null olarak dönen değerleri 0 ile değiştirir.


SQL COALESCE
Kullanım amacı ISNULL komutu ile hemen hemen aynıdır.Yalnız ISNULL komutu ANSI standart komutu değildir.Ben genelde Access veya SQL Server üzerinde sorgularda ISNULL komutunu kullanıyorum.

COALESCE kullanıma gelince yukardaki aynı sorgu cümleciğini kullanarak;

select UrunId,UrunAdi,COALESCE(Fiyat,0) olarak kullanabiliriz.

COALESCE fonksiyonuna parametre olarak verdiğiniz ifadeleri birbiriyle kıyaslar,hangisi null değilse onu döndürür.

COALESCE komutunun yazımı : COALESCE(parametre1,parametre2,.....parametre[n])


Gelelim aralarındaki farklara:
  • COALESCE komutunun yazması,hatırlaması ve telafuzu çok zor.ISNULL komutu ise bu konuda epey avantajlı.
  • COALESCE ANSI-SQL uyumludur.Hemen hemen tüm veritabanlarında sorgulama yaptırabilirsiniz.ISNULL komutu ise T-SQL uyumlu.Yani Microsoft orijinli (Access,SQL Server) veritablarında kullanabilirsiniz ama örneğin Firebird 'de denenerseniz bu komut tanınamaz.
  • ISNULL mutlaka iki parametre ile kullanılır.Birden fazla parametre ile kullanmak isterseniz iç içe(nested) kullanmak durumundayız.COALESCE bu yönden epey işe yarar.İkiden fazla parametreyi kullanabiliriz.Bu söylediklerimizi komut dökersek;

SELECT COALESCE(NULL, NULL, 'fe')==> fe değerini döndürür.(İkiden fazla parametre)

SELECT ISNULL(NULL, NULL, 'fe') ==>hata meydana gelir.Çünkü mutlaka iki parametre kullanmak durumundayız.

Bu hatayla karşılaşmamak için komutu iç içe (nested) kullanacağız;

SELECT ISNULL(NULL, ISNULL(NULL, 'fe')) ==>fe değeri döner.

21 Mayıs 2008 Çarşamba

Merhaba Dünya

Merhaba Arkadaşlar,
Blog ortamına girip bir şeyler yapmaya uzun zamandır niyetleniyordum ama bir türlü fırsat bulamıyordum.
Artık üretkenliğin bir ölçüsü de bildiklerini paylaşmak olarak görülüyorsa,biz de üzerimize düşen görevimizi yapacağız.
Selamlar.