Örnek Veritabanı Tasarımı ve Normalizasyon

Normalizasyon, veritabanının tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilen işlemlerdir. Yani bir veri tabanının en sade haline normalizasyon denir. Gerek tasarım konusunda olsun gerekse sorgu yazma kısımlarında olsun tablolar arasındaki bir çok tutarsız bağımlılığı ortadan kaldırma normalizasyonun temel amacıdır.

Bir nevi veri bütünlüğünü sağlıyoruz. Eğer bir sütun için veri gereksiz veri tekrarı varsa bu sütun bir süre sonra birbirinden farklı değerler içermeye başlayacaktır. Birazdan da göreceğiniz veri tabanında öğrenci numarasını birden fazla tabloda farklı farklı kullanırsanız veri karışıklığına sebep olacaktır. Ayrıca performans bakımından da gereksiz veriler silindiği için gereksiz alan kaplama sorununu da halletmiş olacaksınız.

Normalizasyonun sahip olduğu 3 kural vardır.  Genel olarak tanımlarını söylemekte fayda olduğunu düşünüyorum.

1.Normal Form(1NF): Veritabanının daha az yer kaplaması için geliştirilen ilk normalizasyon kuralıdır. Mesela öğrenci notlarını düşünürsek bir sütuna bütün sınav notlarını girmemeliyiz.

2.Normal Form(2NF): Nitelikler fonksiyonel bağımlılıktan yararlanılarak tabloların birden fazla tabloya dönüştürülmesi ile sağlanır.

3.Normal Form(3NF): Örnek verirsek öğrenci tablosunda öğrenci numarası 227 iken ilişkili diğer tabloda öğrenci numarası A227 olmamasıdır. Bütün tablolarda öğrenci numarası aynı olmalıdır.

Şimdide küçük bir öğrenci veri tabanı tasarımı yapalım. Yeni bir veri tabanı oluşturmak için “Databases” klasörüne sağ tıklayıp “New Database” diyoruz ve bir pencere karşımıza çıkıyor. “Database Name” kısmına veri tabanımızın ismini girdikten sonra ok diyoruz ve veritabanımız oluşturuluyor.

Şimdiki işlem ise tablolarımızı oluşturmak. İsterseniz “Database Diagrams” kısmından da ya da “Tables” kısmından da oluşturabilirsiniz. Ama tavsiye edilen “Tables” kısmıdır. Çünkü birden fazla PK(Primary Key) tanımlamanız gerektiğinde tekrar “Tables” kısmına geri dönmeniz gerekecektir. Tablolarımıza bakacak olursak tek tek yerine toplu bir şekilde gösterip fazla görüntüden kurtulmak istedim. Toplu bir şekilde inceleyelim. Ama öncelikle verileri tabloya nasıl ekleyeceğiz ona bakalım.  Tables klasörüne sağ tıklayıp “Table” seçeneğini seçersek direkt karşımıza bu ekran gelecektir. Oluşturduğunuz bir tablo varsa ve sonradan o tabloyu düzenlemek için “Design” seçeneğini seçiyoruz. PK atamak için tablodaki okun olduğu kısma sağ tıklayıp “Set Primary Key” seçeneğini seçiyoruz. Eğer birden fazla PK tanımlamak istiyorsanız Ctrl tuşuna basılı tutup satırları seçiyorsunuz.

Tabloda göründüğü gibi gereksiz verilerden kaçınmak için öğrenci numaraları ve diğer PK’ler tek bir tabloda toplanmış ve ilişkilendirilmiştir. İlişkileri rahatlıkla görebilmeniz için direkt karşısına okları taşıdım.

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hakkında yorum “Örnek Veritabanı Tasarımı ve Normalizasyon”