Blog
Veritabanı Normalizasyonu ve İlişki Türleri
- 16 Şubat 2022
- Yayınlayan: svahabi
- Kategori: Blog Yazıları
Yazılım sistemlerinin ayakta tutucusu olan ve tüm verilerin depolanmasını sağlayarak işlem yapılmasında etkin rol oynayan veri tabanlarının iyi tasarlanması ve iyi yönetilmesi gerekmektedir. Veritabanı mantığını iyi biçimde oturtarak yazılım projesine başlayan geliştiricilerin yazılım sistemlerini daha iyi tasarladıkları, zamanı daha verimli kullandıkları ve istenen sürede hedefe ulaştıkları görülmektedir. Bu da yine temel zeminin en iyi şekilde ayarlanması ve o zemin üzerine yapıların kurulmasıyla doğrudan alakalıdır. Yazılım sistemleri tasarlanırken de ilk aşama olarak veri tabanı mimarisinin ortaya çıkarılması gerekmektedir. Bu mimari bağlamında projeye yön verilerek daha iyi sonuçlar alınacaktır.
Veritabanı modellemesinde dikkat edilmesi gereken konulardan biri de veritabanı normalizasyonudur. Veritabanı normalizasyonu, veritabanlarında yer alan çok satır ve sütuna sahip tabloları tekrarlardan arındırmak amacıyla ele alınmaktadır. Daha az sütun ve satır içeren alt kümelere ayrıştırma işlemine veritabanı normalizasyonu adı verilmektedir. Normalizasyon işlemi sayesinde yazılım sistemlerinde esneklik, yüksek performans ve hedefe yönelik çalışmalar daha oturmuş biçimde gerçekleştirilecektir.
Normalizasyon Avantajları Nedir?
Veritabanı normalizasyon işleminin çeşitli avantajları da bulunmaktadır. Buna göre veritabanı normalizasyonlarının avantajları olarak şunlardan bahsedilebilir:
- Veri bütünlüğünün sağlanması
- Verimli veri yapılarının oluşturulması
- Veri tekrarının önlenmesi
- Verilerin daha sade ve anlaşılır hale gelmesi
- Hızlı sorgulama avantajı sunması
Yazılım sistemleri her zaman için son kullanıcı gözüyle test edilmeli ve tüm isterler bu kritere göre değerlendirilmelidir. Bu kapsamda sistemin daha hızlı çalışması sorguların çalışma süresinin daha hızlı çalışmasıyla doğrudan alakalıdır. Bununla da birlikte verilerin tutarlılığı ve veri bütünlüğünün de sağlanacak olması yazılım sistemlerindeki uzun vadeli yapılacak tüm işlemler için önem teşkil eder.
Normalizasyon Türleri Nelerdir?
Normalizasyon yaparak veritabanı mimarisini en yalın ve sisteme uygun hale getirmek isteyen yazılım geliştiricilerinin bu noktada tercih edeceği birden çok normalizasyon türü mevcuttur. Bunlar genel olarak 1NF, 2NF ve 3NF olarak isimlendirilen normal formlardır. Sırasıyla;
1NF; aynı tablo içerisinde tekrarlayan kolonların bulunmadığı ve her kolonda sadece bir değerin olduğu bir normalizasyon türüdür. İkinci normal form olan 2NF’de ise tablo 1NF formatında olmalıdır. Her satır eşsiz anahtar ile tanımlanıp herhangi bir veri alt kümesi çok fazla satırda tekrarlı olmamalıdır.
2NF normalizasyonun en önemli kurallarından birisi ise ana tablo ile alt tablolar arasında dış anahtarların kullanılarak ilişkilerin tanımlanacak olmasıdır.
Üçüncü normal form olan 3NF’de ise anahtara sahip olmayan hiç bir kolon, başka bir kolona bağlı olmamalıdır.
Her bir normalizasyon türü kendi içerisinde bağımlı olup genel anlamda veritabanı mimarisinin olması gerektiği gibi ayarlanmasıyla doğrudan alakalıdır. Bu bağlamda yazılım projelerinin planlaması ve analiz işlemleri oluşturulurken veritabanı mimarisinin mutlaka planlanması da gerekmektedir.
Veritabanı İlişkileri Nelerdir?
Veritabanı mimarisi planlanırken tablolar arasındaki ilişkilerin de belirli olması gerekmektedir. Bu noktada normalizasyon türleri içerisinde tercihler yaparken de yine bu ilişki türlerinin mutlaka planlanmasında yarar vardır. Özellikle de kurumsal ve büyük projelerde veritabanı ilişkileri kurulurken sadece iki tablo arasında değil aynı anda birçok farklı tablo arasında ilişki kurmak da gerekebilir.
Veritabanı mimarisi kurgulanırken tablolar arasındaki ilişkinin nasıl olacağıyla alakalı olarak kurgunun en iyi şekilde yapılması gerekmektedir. Çünkü veritabanı ilişki türleri genel olarak bire bir, bire çok ve çoka çok olmak üzere üç farklı türde incelenir. Bu ilişki türlerinin her biri farklı yapılarda olup farklı amaçları da taşımaktadır. Ele alınacak sistemin, fonksiyonun gereksinimine göre tablolar arasındaki ilişkilerin buna göre düzenlenmesinde yarar vardır.
Bire Bir İlişki
Veritabanı tabloları arasında nadir olarak tercih edilen ilişki türleri arasında bire bir ilişki türü bulunmaktadır. Bire bir ilişki türünün amacı sol tablodan gelen herhangi bir kaydın sağ tablodaki sadece bir kayıt ile eşleştirilmesidir. Güvenlik amacıyla tabloların bir bölümünü yalıtmak veya ana tablo üzerinden yalnızca bir alt küme çıkararak bilgilerin depolanmasını sağlamak amacıyla kullanılan bir ilişki türüdür. Birebir ilişki türüne en iyi örnek ise personel tablosundaki bir personele ait ID değerinin, TC numaralarını barındıran diğer tablodaki ID değeriyle bire bir olarak eşleştirilmesidir. Çünkü bir kişinin sadece bir TC numarası mevcut olup bu iki tablo arasındaki ilişkinin türü de bire bir olmak zorundadır.
Bire Çok İlişki
Bire çok ilişkisi veritabanı mimarilerinde en çok tercih edilen ve kullanılmakta olan ilişki türlerinden biridir. Bire çok ilişki türüne göre sol tablodan gelecek olan bir kaydın sağdaki tabloda yer alan birden fazla kayıt ile eşleştirilmesi durumu mevcuttur. Örnek olarak ülke ile şehir olmak üzere iki farklı tablo verilebilir. Bir ülkenin birden fazla şehri olacağı için ülkeden gelen ID değeri, şehir tablosundaki birden çok kayıtla eşleştirilebilir. Aynı şekilde bir yazarın birden çok kitabı olabilir. Bu gibi örneklere sahip sistemlerde veritabanı ilişki türü olarak bire çok ilişki türü tercih edilmelidir.
Çoka Çok İlişki
Çoka çok ilişki türü yapısında her iki tablodaki eşleşecek olan ID değerleri ara bir tabloda tutularak üç tablo birleştirilir. Çoka çok ilişki türüne en iyi örnek ise film ile kategori tabloları verilebilir. Bir film birden fazla kategoriye sahip olacağı için bu iki tablo arasındaki ilişkinin kurulması için çoka çok ilişki türü tercih edilmelidir.
Veritabanı eğitimlerimizi detaylı bir şekilde incelemek için tıklayınız…
Güncel eğitim takvimimiz için tıklayınız…