NULL Değerleri Hakkında Bilmeniz Gerekenler

Veritabanı Sorunlarını Önlemek için NULL'lerin Kullanımı

Veri tabanları dünyasına yeni gelen kullanıcılar genellikle, alana özel bir değerle karıştırılır - NULL değeri. Bu değer herhangi bir veri türü içeren bir alanda bulunabilir ve ilişkisel veritabanı bağlamında çok özel bir anlama sahiptir. NULL ile ilgili tartışmamıza NULL'ın neyle ilgili olmadığı hakkında birkaç kelime ile başlamak muhtemelen en iyisidir:

Tersine, NULL bilinmeyen bir veri parçasını temsil etmek için kullanılan değerdir. Genellikle, veritabanı programcıları "NULL değeri" ifadesini kullanacaklardır, ancak bu yanlıştır. Unutmayın: NULL, alanın boş göründüğü bilinmeyen bir değerdir.

Gerçek Dünyada NULL

Basit bir örneğe bakalım: Bir meyve standı için envanteri içeren bir tablo. Envanterimizin 10 elma ve üç portakal içerdiğini varsayalım. Erikler de stoklarımız var, ama stok bilgilerimiz eksik ve stokta kaç tane (eğer varsa) erik var bilmiyoruz. NULL değerini kullanarak, aşağıdaki tabloda gösterilen stok tablosuna sahip olurduk.

Meyve Stand Envanteri

InventoryId madde miktar
1 Elmalar 10
2 portakal 3
3 Erik BOŞ


Erik reçetesi için 0'lık bir miktar eklemek kesinlikle yanlıştır, çünkü bu, stokta hiç erime olmadığı anlamına gelir. Aksine, biraz erik alabiliriz, ama emin değiliz.

NULL veya NULL değil mi?

Bir tablo NULL değerlerine izin verecek şekilde tasarlanıp tasarlanmayabilir.

İşte bazı NULL'lere izin veren bir Envanter tablosu oluşturan bir SQL örneğidir:

SQL> TABLE INVENTORY CREATE (InventoryID INT NOT NULL, Item VARCHAR (20) NOT NULL, Miktar INT);

Envanter tablosu, Envanter Kimliği ve Öğe sütunları için NULL değerlerine izin vermez, ancak Miktar sütununa izin verir.

Bir NULL değerinin mükemmel olmasına izin verirken, NULL değerleri sorunlara neden olabilir, çünkü nULL öğesinin null olduğu değerlerin karşılaştırması her zaman NULL ile sonuçlanır.

Tablonuzun NULL değerler içerip içermediğini kontrol etmek için IS NULL veya IS NOT NULL operatörünü kullanın. İşte IS NULL bir örneğidir:

SQL> INVENTORYID, ITEM, MİKTAR SEÇENEĞİNDEN MİKTARDA NEMİN OLDUĞUNU;

Bizim örneğimiz göz önüne alındığında, bu geri dönecekti:

InventoryId madde miktar
3 Erik

NULL'larda Çalışıyor

NULL değerleri ile çalışmak genellikle SQL işlemine bağlı olarak NULL sonuç üretir. Örneğin, A'nın NULL olduğunu varsayarak:

Aritmetik operatörler

Karşılaştırma Operatörleri

Bunlar, bir işlenenin NULL olması durumunda NULL değerini her zaman döndüren bazı işleç örnekleridir. Çok daha karmaşık sorgular vardır ve hepsi NULL değerleri ile karmaşıktır. Ev sahibi noktası, veritabanınızda NULL değerlerine izin verirseniz, sonuçları anlayın ve bunlar için plan yapın.

Özetle bu NULL !