2 like 0 dislike
640 views
in Bilgi Teknolojileri by
recategorized by
İyi bir veritabanı database tasarımı nasıl olur ? Hangi kriterlere dikkat etmek gerekir ?

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)
selected by anonymous
 
Best answer
İyi bir veritabanı;

1- Tablo isimleri içeriklerini açıklayacak uzunlukta olmalıdır. Ürünler tablosu için urn ya da t_urn gibi isimler verilmemeli, ön ek verilecekse bile, t_urunler şeklinde verilmelidir. Yani kısa öz ve  anlaşılır isimleri olmalıdır. Özelliklede  harfle ve  kısaltmayla tablo adlandırma acemiliğinden uzak durun. Tabiki  içeriği anlaşılsın diye de çok uzun isimlendirme yapmayın, firmalara_ait_karşılıksız_çekler  yerine karsiliksiz_cekler ismi yeterlidir.

2- Tablolara ait, satırlarda tekrar eden bilgiler olmamalıdır. Buna en iyi örnek şehirler olabilir. Her satırda  şehir yazmak yerine, şehirleri  ayrı bir tabloda tutarsanız, zaman ve yer bakımından kazançlı çıkarsınız.

3- İlişkiler eğer çok fazla karmaşıksa kurguda  hata yapıyor olabilirsiniz. Gözden geçiriniz.

4- Temiz bir tasarım derken, her bilgiyi ayrı bir tabloya da yazmayın, evet tekrar eden bilgileri ayrı bir tabloya yazmalıyız ama bunun bir ayarı olmalıdır, sadece bir kaç kere tekrar  edebilecek bir bilgi ayrı bir tabloya yazılmaz. (Performansa etkisi vardır.)

5- Sütun isimleri anlamlı olmalıdır. Tıpkı tablo isimleri gibi. Ne çok uzun ne çok kısa. Sadece açık, anlaşılır ve öz olmalıdır.

6- İsimlendirmede bir kural uygulanmış olmalıdır. Yani tüm tablo isimleri ilk harf büyük sonraki harfler küçük, ya da tüm harfler küçük gibi. Sütunlar  içinde bu geçerlidir.

7- Veritabanının, bir diyagramı olmalıdır. (Genelde veritabanlarının kendi araçları vardır. Yoksa, dia kullanabilirsiniz.)

8- Dökümantasyonu olmalıdır.

9- Verilere stored prosedurlerle erişme hemen hemen olmamalıdır. Çok gerekli yerlerde kullanılmalıdır.

10- Genel ayarlarla ilgili bir tablo olmalıdır. (Limitler, yedekleme vs.)

11- Saklanan parola varsa  şifrelenip saklanmalıdır. Açıkta gözüken bir şifre olmamalıdır.

12- İnteger alan yeterli olan sutünlarda, integer  kullanılmalıdır. Bu performansı arttırır. Örneğin, evet/hayır yerine 1/0 tutabiliriz. (Çok veri olacaksa tabiki. Çok büyük değilse, bunlara kesinlikle kasmayın)

13- Denge olmalıdır. Yani, optimizasyon-performans arasındaki ilişki dengede olmalıdır.

14- Erişmek için datapersistence katmanı kullanılmalıdır.
...