31 Aralık 2007

2007'nin Bıraktıkları

Blog okuyanlar mutlaka yaşamıştır. Tesadüfen bir kaç ay önce yazılmış gündemle alakalı bir yazıya rastlarsınız. Yazı derinlemesine yazılmış ve onlarca yorum yapılmıştır. Konunun sıcaklığı geçip bir de aradaki geçen zamanın olgunluğu eklendiğinde yorumlar biraz daha duru bir şekilde olur. Ama blogların dinamikleri itibariyle o kadar eski bir yazıya yorum yapamazsınız. Ama insan kendi yazdığı yazıya yorumlar ve eklemeler yapabilir galiba :) Ben de bu kategoriye giren bir kaç yazı seçtim bir kaç küçük ekleme yapmak istedim.

Veritabanı ve Pazarlama
İnternetin pazarlama faaliyetlerinde kullanılmaya başlanmasının ülkemiz için yeni olduğunu söyleyebiliriz. Bilgi toplama konusunda zamanla daha doğru düzgün yöntemler kullanılmaya başlanıyor. Ama hala buradaki en ciddi problem bu tarz işlerin teknik olmayan veya yeterli düzeyde donanıma sahip olmayan kişiler tarafından üstlenilip yönlendirilmesi.

Web 3.0 ve Servis Odaklı Mimari
Burada tekrarlamak istediğim şey, bu standartların bir moda gibi düşünülüp kendi başında değerlendirilmemeleri. Kullanım alanına uygun olarak bu parçalardan doğru olanları uygulamalara yerleştirmemiz.

Web 3.0 yazılımcısı olmak
Artık kaliteli uygulamalar için web platformunda web yazılımcılarının değil daha nitelikli yazılımcıların çalışması gerektiğinden bahsetmiştim. Aslında o günlerde piyasada nitelikli yazılımcı bulmanın zorlaştığı bir döneme girdik. Böyle bir ortamda bu ne kadar mümkün olacak tartışılır.

Programlanabilir Web
Google'ın Open Social ile Facebook un karşısındaki gövde gösterisi Türkiye için kayda değer bir sonuç vermedi aslında. Facebook için geliştirilen uygulamalar hızla artıyor. Zamanla artık ayakta kalabilen saman alevi gibi olmayan uygulamarın daha revaçta olacağını düşünüyorum. Ama bunun da ne kadar süreceğini yine bekleyip göreceğiz.

Herkese mutlu yıllar :)

11 Aralık 2007

Veritabanı İsimlendirme Kuralları

Kod yazma standartlarında bazı isimlendirme notasyonları kullanılmaktadır. Database nesneleri için de bazı standartlar önerilmekte. Aşağıda bu standartları derleyip kendi yorumlarıma göre değiştirerek bir kaç madde listelemeye çalıştım. İsimlendirmede genel olarak Pascal Case kullanılmaktadır.

Tablo isimlendirmesi:
  • Tablo isimleri çoğul olmalıdır şeklinde bir kural var. Fakat çift kelimeli tablolar kullandığımızda bir sıralama problemi yaşamamız mümkün. Yani Users ve UserAnswers şeklinde bir sıralamada UserAnswers daha önde olur. Bu yüzden şahsi görüşüm temel tabloları tekil olarak isimlendirmenin daha doğru olduğu yönünde.
  • Birden fazla kelimeli tablo isimlerinde sadece son kelime çoğul olmalıdır. Örneğin UserAnswers.
  • tbl gibi bir prefix hiç bir anlam ifade etmediği için kullanılmamalıdır. Prefix olarak projenin kısaltılması kullanılabilir. Örneğin Google Analytics projesi için GaUser şeklinde bir isimlendirme olabilir.
  • Tablo isimlerinde _ kullanılmamalıdır
  • SQL cümlelerinde SQL terimlerinin tamamı büyük harfle kullanılmalıdır
  • Developer dışında kişilerin de database i kullanma ihtiyacı olacağı için hiç bir kısaltma kullanılmamalıdır
  • Çoka çok ilişkilerde iki tablo ismi de çoğul kullanılması önerilir. Ama son kelimenin çoğul kullanılma kuralı ile karmaşa yaratacağı için bu durumda da son kelimeyi çoğul olarak kullanmak daha tutarlı olacaktır. Örneğin EmployeeCustomers



Kolon isimlendirmesi

  • User tablosu için UserId alanı key alan için kullanılabilir. Fakat SQL Server'da I küçük harfle i nin karşılığı olmadığı için dilimize özgü olarak tüm Id ifadelerinin id olarak yazılmasını öneriyorum. Örneğin Userid,Cityid.
  • Yabancı anahtarların isimleri ana tablodaki alan isimleriyle aynı olmalı. Örneğin City tablosunda alan Cityid olarak kullanıldıysa id değerin tutulduğu User tablosunda da Cityid olarak kullanılmalıdır.
  • Birden fazla alanın PK olduğu tablolarda id isiminde bir alan kullanılmamalıdır.
  • Kolon isminde kln, fld gibi prefixler kullanmak gereksizdir. Sadece alan IntUserid şeklinde alan tipi prefix olabilir ama bu da pek önerilen bir şey değildir.
View isimlendirmesi
  • Vw prefix iyle başlamalıdır.
  • İki tablo join edilerek bir view oluşturuluyorsa isimde iki tablo da kullanılmalıdır.
SP isimlendirmesi
  • Create,Get,Update,Delete,Set gibi fiil ifadeler isimde prefix olarak kullanılabilir. Örneğin GetUserInformation.
  • "sp_", "xp_" veya "dt_" gibi prefixler kullanıldığında önce master tabloya bakılıp aranacağı için bir performans kaybı yaratır. Kesinlikle kullanılmamalıdır.