# Veritabanı Dokümantasyonu: Neden Sürekli Ertelenir ve Nasıl Yapılır?

Her DBA dokümantasyonun önemli olduğunu bilir. Ama çoğu veritabanı ya hiç belgelenmemiş ya da yıllarca güncellenmemiş belgelerle yönetiliyor. Neden böyle?

Ertelemenin Gerçek Sebebi "Zaman yok" en yaygın gerekçe. Ama bu tam doğru değil. Gerçek şu: dokümantasyon anlık hiçbir sorunu çözmüyor. Bugün belgeleme yapmazsanız bugün hiçbir şey değişmez. Bu yüzden acil işlerin arkasında sürekli bekler. Oysa belgelenmemiş bir veritabanının maliyeti zamanla birikir. Yeni gelen DBA sistemi anlamak için haftalar harcar. Bir sorun çıktığında neyin ne olduğunu bulmak saatler alır. Ekipten biri ayrıldığında bilgi onunla birlikte gider.

Ne Belgelenmeli? Veritabanı mimarisi Kaç veritabanı var, aralarındaki ilişki nedir, hangi uygulama hangisine bağlanıyor? Kritik nesneler Hangi tablolar iş açısından kritik? Hangi stored procedure'ler hangi iş sürecini yönetiyor? Hangi job'lar ne zaman çalışıyor, ne yapıyor? Bağımlılıklar Hangi uygulama hangi veritabanına bağlanıyor? Hangi stored procedure hangi tabloları kullanıyor? Dış servis bağlantıları var mı? Standart olmayan yapılar Her veritabanında "bu neden böyle yapılmış?" diye düşündüren yerler vardır. Bunları belgelemek gelecekteki geliştirici için inanılmaz değerli. Bilinen sorunlar ve geçici çözümler "Şu job bazen hata veriyor, manuel tetiklemek gerekiyor" gibi geçici çözümler mutlaka belgelenmeli. Aksi halde her yeni kişi aynı sorunu sıfırdan keşfeder.

Pratik Başlangıç: Otomatik Belgeleme Sıfırdan belge yazmak yerine var olan yapıyı otomatik sorgulamakla başlayın. sql-- Veritabanındaki tüm tabloları ve kolon sayılarını listele SELECT t.name AS TabloAdi, COUNT(c.column\_id) AS KolonSayisi, MAX(p.rows) AS TahminiSatirSayisi FROM sys.tables t JOIN sys.columns c ON t.object\_id = c.object\_id JOIN sys.partitions p ON t.object\_id = p.object\_id AND p.index\_id IN (0,1) GROUP BY t.name ORDER BY MAX(p.rows) DESC; sql-- Stored procedure'leri ve son değişiklik tarihlerini listele SELECT name AS ProcedureAdi, create\_date AS OlusturmaTarihi, modify\_date AS SonDegisiklikTarihi FROM sys.procedures ORDER BY modify\_date DESC; Bu sorgular başlangıç noktası. Çıktıları bir belgeye aktarın ve üzerine açıklamalar ekleyin.

Değişiklik Yönetimiyle Entegrasyon En pratik dokümantasyon yaklaşımı değişiklik süreciyle entegre çalışmak. Her değişiklik yapıldığında o nesnenin belgesi de güncellenir. Bu ayrı bir iş yükü değil, değişiklik sürecinin bir parçası haline gelir. "Tabloyu değiştirdim" demek "tabloyu değiştirdim ve belgesini güncelledim" anlamına gelir. Bu yaklaşımla dokümantasyon sürekli güncel kalır ve bakımı yük olmaktan çıkar.

Sonuç Dokümantasyon bugün sizi kurtarmaz. Ama altı ay sonra, bir kriz anında, ya da yeni bir ekip üyesi geldiğinde inanılmaz değer taşır. Küçük adımlarla başlamak büyük bir belge hazırlamaktan çok daha sürdürülebilir. Detaylı bilgi için: sqlchangeguard.com
