merhaba,
firebird de veritabanı ve tablo oluştururken string tipinde olan alanlara not null özelliği atınca sorun mu çıkıyor ? biyerde bunu okumuştum ama bulamadım şimdi, not null atınca geri dönüşüm sırasında sorun çıkabilir gibisinden bişey okumuştum sanki? örneğin oraya not null değilde default değere boş gibi bişeymi yazalım ?
db ve tablo oluşturma hakkında.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: db ve tablo oluşturma hakkında.
Alanı oluştur, programı yaz ve testler yap. Kendin için neyin uygun olacağını en pratik bu şekilde çözebilirsin. Bir yığın "şu olursa bu olur" teorileriyle de yanışmadan kendin keşif yapmış olursun. Keşfedilen bilgi en makbul olanıdır.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: db ve tablo oluşturma hakkında.
Merhaba,
"not null" yaparsanız hiçbir sıkıntı çıkmaz. Güvenle kullanabilirsiniz.
Şöyle bir senaryoda sıkıntı olabilir, Bir veritabanınız var ve çalışıyorsunuz. Sonradan not null bir alan eklediniz, önceki kayıtlar için uygun bir değer atamanız lazım. Burda sorumlulukta siz de zaten. Eğer atamazsanız restore işleminde sıkıntı çıkarır. Bunun için yeni sürümlerde önlem aldılar sanırım. Ayrıca IB Expert gibi pek çok yönetim aracı, sizi işlemi düzgün yapmanız noktasında yönlendiriyor, yani bir "not null" alan tanımladığınız zaman eski kayıtların değeri nedir diye soruyor.
Kolay gelsin.
"not null" yaparsanız hiçbir sıkıntı çıkmaz. Güvenle kullanabilirsiniz.
Şöyle bir senaryoda sıkıntı olabilir, Bir veritabanınız var ve çalışıyorsunuz. Sonradan not null bir alan eklediniz, önceki kayıtlar için uygun bir değer atamanız lazım. Burda sorumlulukta siz de zaten. Eğer atamazsanız restore işleminde sıkıntı çıkarır. Bunun için yeni sürümlerde önlem aldılar sanırım. Ayrıca IB Expert gibi pek çok yönetim aracı, sizi işlemi düzgün yapmanız noktasında yönlendiriyor, yani bir "not null" alan tanımladığınız zaman eski kayıtların değeri nedir diye soruyor.
Kolay gelsin.
Re: db ve tablo oluşturma hakkında.
tşk ederim
Re: db ve tablo oluşturma hakkında.
zaman çok önemli.. dolayısı ile daha önceden tecrübe kazanmış arkadaşlardan bilgi alışverişi yapmakta en doğrusu, doğru yolu görüp ona doğru yönelmekte doğru adımlar atmakta çok önemli. eğer herkes herşeyi deneme yanılma yöntemi ile bulsaydı burda foruma ne gerek kalırdı.sabanakman yazdı:Alanı oluştur, programı yaz ve testler yap. Kendin için neyin uygun olacağını en pratik bu şekilde çözebilirsin. Bir yığın "şu olursa bu olur" teorileriyle de yanışmadan kendin keşif yapmış olursun. Keşfedilen bilgi en makbul olanıdır.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3081
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: db ve tablo oluşturma hakkında.
Soruyu okurken kafamda canlanan bazı senaryolar oldu ve bu senaryolar birbiriyle çelişen cevaplar ürettiği için gerçekten doğru cevap, neye ihtiyacın varsa ona göre değiştiği için bu şekilde cevap verdim ama haklısın zaman çok önemli
. Sn. @Mustafa'nın bahsettiği konu büyük avantaj gibi. Diğer veritabanlarında bu gibi avantajlar varmı bilmiyorum ama genelde programcı bu meseleyi kendisi aşmak zorunda kalıyor.
Mesela en basit çelişki şuradan doğmaktadır.
-Çok kayıt girerken not null alan es geçildikçe gelen hatalar kullanıcıyı çıldırtabilir, çünkü bu değer sonradan da girilmek istenebilir.
-Yazılımcının da tasarımından kaynaklanan bir ısrarı ortaya çıkabilir. "Bu alan değeri program için çok önemli mutlaka girilmeli" diyerek bir çelişki doğurabilir.
Buna en güzel örnek personel kaydı ve TC Kimlik No alanı olacaktır. Bir personel için en önemli bilgi TC Kimlik No bilgisidir ama bu değer girilmeden kaydı oluşturmak ihtiyaç olabilir. Mesela kullanıcılardan birisine kaydı girilecek bir kaç yüz personel bilgisi gelecektir ama bir çoğunun TC Kimlik No'su olmayacaktır. Bu yüzden o kayıtları girememek kullanıcının sınırlarını zorlayacak, sinirlerini bozacaktır. Belki başka bir örnek için de not null gerçekten olmazsa olmaz olabilir. O yüzden sorunun cevabı ne yapacağınıza göre değişeceğinden biraz kaçak cevap verdim
.

Mesela en basit çelişki şuradan doğmaktadır.
-Çok kayıt girerken not null alan es geçildikçe gelen hatalar kullanıcıyı çıldırtabilir, çünkü bu değer sonradan da girilmek istenebilir.
-Yazılımcının da tasarımından kaynaklanan bir ısrarı ortaya çıkabilir. "Bu alan değeri program için çok önemli mutlaka girilmeli" diyerek bir çelişki doğurabilir.
Buna en güzel örnek personel kaydı ve TC Kimlik No alanı olacaktır. Bir personel için en önemli bilgi TC Kimlik No bilgisidir ama bu değer girilmeden kaydı oluşturmak ihtiyaç olabilir. Mesela kullanıcılardan birisine kaydı girilecek bir kaç yüz personel bilgisi gelecektir ama bir çoğunun TC Kimlik No'su olmayacaktır. Bu yüzden o kayıtları girememek kullanıcının sınırlarını zorlayacak, sinirlerini bozacaktır. Belki başka bir örnek için de not null gerçekten olmazsa olmaz olabilir. O yüzden sorunun cevabı ne yapacağınıza göre değişeceğinden biraz kaçak cevap verdim

Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .