

Makale numarası: 283878 - Bu makalenin geçerli olduğu ürünleri görün.
Acemi: Tek kullanıcılı bilgisayarlarda kullanıcı arabirimi bilgisini gerektirir.
Bu makalenin Microsoft Access 2000 sürümü için bkz: 209534
(http://support.microsoft.com/kb/209534/TR/ )(Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir).
Bu makalenin Microsoft Access 95 veya Microsoft Access 97 sürümü için bkz: 100139
(http://support.microsoft.com/kb/100139/TR/ )(Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir).
Bu makalede, yeni başlayanlar için veritabanı normalleştirme terminolojisi açıklanmaktadır. İlişkisel veritabanının tasarımı üzerine bir tartışmada bu terminolojinin temel olarak anlaşılmış olması işinizi kolaylaştıracaktır.
NOT: Microsoft veritabanı normalleştirme esaslarının anlatıldığı bir Web Yayını da sunmaktadır. Bu Web Yayınını görüntülemek için, aşağıdaki Microsoft Web sitesini ziyaret edin:
http://support.microsoft.com/servicedesks/webcasts/wc060600/wc060600.asp?fr=1
(http://support.microsoft.com/?scid=http%3a%2f%2fsupport.microsoft.com%2fservicedesks%2fwebcasts%2fwc060600%2fwc060600.asp%3ffr%3d1)
Normalleştirmenin AçıklamasıNormalleştirme, bir veritabanındaki verileri düzene koyma işlemidir. Buna, tablolar oluşturmak ve bu tablolar arasında hem verileri koruyacak hem de artıklığı ve tutarsız bağımlılığı ortadan kaldırarak veritabanını daha esnek duruma getirecek biçimde tasarlanmış kurallara göre ilişkiler oluşturmak da dahildir.
Artık veriler disk alanını boşa kullanır ve bakım sorunları oluşturur. Birden çok konumda bulunan verilerin değiştirilmesi gerekirse, bu veriler tüm konumlarda tam olarak aynı şekilde değiştirilmelidir. Müşteri adresi bilgileri yalnızca Müşteriler tablosunda saklanıyorsa ve veritabanında başka bir konumda yoksa, bir müşteri adresi değişikliği çok kolay gerçekleştirilebilir.
"Tutarsız bağımlılık" nedir? Bir kullanıcı belirli bir müşterinin adresi için Müşteriler tablosuna bakabilir, ancak bu müşteriyle görüşen çalışanın maaşını öğrenmek için bu tabloya bakması mantıklı değildir. Çalışanın maaşı, çalışanın kendisiyle ilişkili ya da buna bağımlıdır ve bu nedenle de Çalışanlar tablosuna taşınmalıdır. Tutarsız bağımlılıklar verilere erişimi zorlaştırabilir, çünkü verileri bulma yolu eksik veya bozuk olabilir.
Veritabanı normalleştirmesi için birkaç kural bulunmaktadır. Her kurala "normal form" adı verilir. İlk kural kullanılıyorsa, veritabanının "ilk normal formda" olduğu söylenir. İlk üç kural kullanılıyorsa, veritabanı "üçüncü normal formda" olarak nitelendirilir. Başka normalleştirme düzeyleri de kullanılabilmekle birlikte, çoğu uygulama için en yüksek düzey üçüncü normal formdur.
Çoğu kural ve belirtimde olduğu gibi, gerçek dünyada karşılaşılan senaryolarda her zaman mükemmel bir uyumluluk sağlanamaz. Genel olarak, normalleştirme için ek tablolar gerekir ve bazı müşteriler bunun ek yük getirdiğini düşünmektedir. Normalleştirmenin ilk üç kuralından birini ihlal etmeye karar verirseniz, uygulamanızın artık veriler ve tutarsız bağımlılıklar gibi oluşabilecek sorunlara karşı hazır olmasını sağlayın.
Aşağıdaki açıklamalarda örnekler yer almaktadır.
İlk Normal Form
Üçüncü bir satıcı eklerseniz ne olur? Bir alan eklemek çözüm değildir; programda ve tabloda değişiklikler yapılmasını gerektirir ve satıcı sayısını dinamik hale getirmez. Bunun yerine, tüm sayıcı bilgilerini Satıcılar adlı ayrı bir tabloya yerleştirin, sonra da stoğu bir öğe numarası anahtarıyla satıcılara veya satıcıları bir satıcı kodu anahtarıyla stoğa bağlayın.
İkinci Normal Form
Üçüncü Normal Form
Örneğin bir Çalışan İşe Alma tablosunda, bir adayın bitirdiği üniversitenin adı ve adresi bulunabilir. Ancak grup postaları için tüm üniversitelerin listesi gerekir. Üniversite bilgileri Adaylar tablosunda saklanıyorsa, geçerli adaylar olmayan üniversiteler listelenemez. Ayrı bir Üniversiteler tablosu oluşturup bu tabloyu bir üniversite kodu anahtarıyla Adaylar tablosuna bağlayın.
ÖZEL DURUM: Üçüncü normal form teorik olarak istense de her zaman uygulanabilir değildir. Bir Müşteriler tablonuz varsa ve tüm olası alanlar arası bağımlılıkları kaldırmak isterseniz şehirler, posta kodları, satış temsilcileri, müşteri sınıfları ve birden çok kayıtta yinelenebilecek tüm diğer öğeler için ayrı tablolar oluşturmalısınız. Teorik olarak, normalleştirme yapılması doğrudur. Ancak çok sayıda küçük tablo nedeniyle performans düşebilir veya açık dosya ve bellek özellikleri yetersiz kalabilir.
Üçüncü normal formun yalnızca sık sık değişen verilere uygulanması daha uygun olabilir. Bazı bağımlı alanlar kalacaksa, uygulamanızı kullanıcıdan herhangi bir alan değiştiğinde tüm ilgili alanları doğrulamasını isteyecek biçimde tasarlayın.
Diğer Normalleştirme FormlarıBoyce Codd Normal Form (BCNF) adı verilen dördüncü normal form ve beşinci normal form da vardır, ancak tasarım sırasında nadiren kullanılırlar. Bu kuralları yoksaymak mükemmel veritabanı tasarımından uzaklaşılmasına neden olacaktır, ancak işlevselliği etkilememelidir.
Örnek Bir Tabloyu NormalleştirmeAşağıdaki adımlarda, kurgusal bir öğrenci tablosunu normalleştirme işlemi gösterilmektedir.
Makale numarası: 283878 - Last Review: 20 Kasım 2007 Salı - Gözden geçirme: 6.2
Bu makaledeki bilginin uygulandığı durum:

