Null Alan Sorunu

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Null Alan Sorunu

Mesaj gönderen pro_imaj »

Merhaba;

Veri tabanında boş bıraktığım alanlar null değerini alıyor bazı güncelleme işlemlerinde alan null olduğundan dolayı hata alıyorum.

Alan üzerinde herhangi bir işlem yapıp tekrar alanı boşalttığımda null alanda kalkmış oluyor.

Sizce Null alan bırakmanın dezavantajları varmıdır. yani ben alanları nul bırakmak yerine string alanlara boşluk sayısalalanlarada 0 degerinimi vereyim.

Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Bazı yazılım firmalarının veri tabanlarını incelediğimde alnlar boş olmasına rağmen null olmadığını görüyorum yani mantık arrka planda önce bu alana bir değer veriliyor sonra bu değer siliniyormu acaba?


Teşekkürler. :P
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

Hz. Ali'nin (R.A.) bir sözü var: "Kendini bilen Rabb'ini bilir." diye.
Ben de biraz abartılı olacak ama: "NULL'u bilen SQL'i bilir." dersem herhalde NULL'un SQL'de ne kadar önemli olduğunu belirtmiş olurum.

Birçok yazılımcı-VT yöneticisi hiçbir şeyden çekmemiştir NULL'dan çektiğini.

FireBird'te NULL ile ilgili şu linkte çok güzel bir doküman var (MS SQL için de geçerli):
http://www.firebirdsql.org/manual/nullg ... snull.html

Aslında NULL'un tam tanımını bilip (NULL means UNKNOWN) querylerde mümkün mertebe COALESCE fonksiyonunu ve NULL kontrollerini kullanırsanız sıkıntı çekmezsiniz. Veri girişlerinde kontrol etmek de bir çözüm ama bu bazen kontrol dışı değiştirilebiliyor ve kesin çözüm değil.

İyi çalışmalar.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Bu tamamen tercih ve programı dizayn meselesi.

Ben şöyle bir yöntem izliyorum : karaktersel alanları (varchar vs.) eğer boşsa null bırakıyorum. Sayısal alanları (integer vs.) default değerini 0 vererek mutlaka dolduruyorum ve not null yapıyorum. Toplam gibi işlemler yapınca null sıkıntılı olabiliyor.

Kolay gelsin.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

yani bu yazılardan şunumu anlamalıyım null alanın hiçbir sakıncası yok. ama şartlarda ve hesaplama işlemlerinde sorun çıkartabiliyor !.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Hocam niye sıkıntı olsun, neticede güzide bir veritabanı bileşeni kendisi :) Taktik şu eğer bir alan üzerinde toplam, ortalama vs. gibi işlemler yapacağın sayısal bir alan ise, parasal bir alan ise null bırakma. Default değerini 0 ver.

Kolay gelsin.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

mussimsek yazdı:Hocam niye sıkıntı olsun, neticede güzide bir veritabanı bileşeni kendisi :)
Beni güldürdünüz Allah (cc) sizi güldürsün.

Şaka bir yana o zaman dediğiniz gibi yapacağım.

Teşekkür ederim. :wink:
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla