İlişkisel veritabanlarında Normalleştirme , bir veritabanının şema yapısını en uygun şekilde düzenlemek için kullanılan sistematik bir tekniktir. Veri bütünlüğünü sağlarken ve referans bütünlüğü kısıtlamalarını uygularken veri fazlalığını, tutarsızlığını ve tekrarlılığını en aza indirmeyi amaçlar. Uygun normalleştirme, her veri parçasının tam olarak tek bir yerde saklanmasını sağlar, böylece hatalar ve belirsizlikler azalır. Ayrıca gereksiz verileri ortadan kaldırarak, ilgili veri öğelerini birleştirerek ve varlıklar arasında net ilişkiler sağlayarak veritabanını daha verimli, bakımı kolay ve esnek hale getirir.
Normalleştirme ilk olarak ilişkisel modeli icat eden aynı bilgisayar bilimcisi olan EF Codd tarafından tanıtıldı. Normalleştirmenin temel amacı, anormallikler ve bağımlılık sorunları gibi kötü yapılandırılmış veritabanı tasarımından kaynaklanabilecek çeşitli sorunları önlemektir. Anormallikler, veriler eklendiğinde, değiştirildiğinde veya silindiğinde ortaya çıkabilecek tutarsızlıklardır; bağımlılık sorunları ise veritabanının bakımını zorlaştırır ve hataya açık hale getirir.
Normalleştirme, Birinci Normal Form'dan (1NF) Beşinci Normal Form'a (5NF) kadar "normal formlar" (NF) adı verilen çeşitli aşamalarda gerçekleştirilir. Her normal form, belirli bir normalleştirme düzeyini temsil eder ve sonraki her normal form, aşağıdaki gibi ek bir optimizasyon düzeyi sağlar:
1. Birinci Normal Form (1NF): 1NF'de bir tablonun birincil anahtarının olması ve her özelliğin yalnızca atomik değerler içermesi gerekir; bu, değerlerin tekrarlanmaması veya birden fazla parçaya bölünmemesi gerektiği anlamına gelir. Çoklu değerli ve bileşik nitelikler kaldırılır ve gerekirse tablo birden fazla tabloya bölünür. Bu aşama, her tablo satırının tek bir varlık hakkındaki tek bir gerçeği temsil etmesini sağlar.
2. İkinci Normal Form (2NF): 2NF'ye ulaşmak için tabloların 1NF'de olması ve anahtar olmayan tüm niteliklerin tamamen birincil anahtara bağımlı olması gerekir. Anahtar olmayan bir özniteliğin birincil anahtarın yalnızca bir kısmına bağlı olması durumunda ortaya çıkan kısmi bağımlılıklar, tablonun uygun anahtarlarla yeni tablolara bölünmesiyle ortadan kaldırılır.
3. Üçüncü Normal Form (3NF): Bir tablonun 3NF'de olabilmesi için 2NF'de olması ve geçişli bağımlılıkları olmaması gerekir; bu, anahtar olmayan niteliklerin diğer anahtar olmayan niteliklere bağlı olmaması gerektiği anlamına gelir. Dolaylı olarak ilişkili nitelikler için ayrı tablolar oluşturularak ve bunların yabancı anahtarlar aracılığıyla birbirine bağlanmasıyla geçişli bağımlılıklar ortadan kaldırılır.
4. Boyce-Codd Normal Formu (BCNF): BCNF, her belirleyicinin (başka bir özelliği belirleyen bir dizi özellik) bir aday anahtar olmasını sağlayarak kalan tüm fazlalıkları ortadan kaldıran, 3NF'nin daha katı bir versiyonudur. BCNF gereksinimlerini karşılayan tablolar da 3NF'dedir ancak bunun tersi her zaman doğru değildir.
5. Dördüncü Normal Form (4NF): 4NF'deki bir tablo BCNF'de olmalı ve çok değerli bağımlılıklara sahip olmamalıdır (birden fazla bağımsız nitelik kümesi birincil anahtara bağlı olduğunda). Bu tür tablolar, çok değerli bağımlılıkları ortadan kaldırmak için daha küçük tablolara bölünür.
6. Beşinci Normal Form (5NF): 5NF'ye ulaşmak için, bir tablonun 4NF'de olması ve birleştirme bağımlılığının olmaması gerekir (bir tablo diğer tablolar birleştirilerek yeniden oluşturulabildiğinde). Birleştirme bağımlılıklarına sahip tablolar, herhangi bir bilgi kaybı olmadan daha küçük tablolara ayrıştırılır.
Bunlar ana normal formlar olsa da, veritabanlarındaki belirli sorunları ele alan Altıncı Normal Form (6NF) ve Etki Alanı Anahtarı Normal Formu (DKNF) gibi daha yüksek normal formlar da vardır. Ancak çoğu pratik uygulama yalnızca 3NF veya BCNF'ye kadar normalizasyon gerektirir.
Normalleştirmenin AppMaster platformu bağlamında uygulanması, platformda kullanılan İlişkisel Veritabanı Yönetim Sistemi (RDBMS) için standartlaştırılmış ve verimli sunucu arka uçlarının oluşturulmasına temel oluşturması nedeniyle büyük önem taşıyor. AppMaster, birincil veri deposu olarak Postgresql uyumlu veritabanını kullanır; bu da uyumluluk, ölçeklenebilirlik ve yüksek performans için normalleştirilmiş şemaların uygulanması ihtiyacını gerektirir.
Örneğin, bir kullanıcı birden çok ilişkiye sahip karmaşık bir veri modeline sahip bir uygulama tasarlarsa, AppMaster normalleştirme süreci, modeli optimize ederek fazlalıkları ve tutarsızlıkları önleyecek ve daha sürdürülebilir bir yapıya ulaşacaktır. AppMaster, tasarım aşamasında normalleştirmeyi kullanarak, veritabanı tasarımında endüstri tarafından kabul edilen uygulamalara bağlı kalarak oluşturulan uygulamaların sağlam, ölçeklenebilir ve bakımı kolay olmasını sağlar.
Sonuç olarak normalleştirme, ilişkisel veritabanı şemalarının tasarlanmasında, ölçeklenebilirliğin, sürdürülebilirliğin ve performansın sağlanmasında çok önemli bir süreçtir. AppMaster no-code platformu, küçük işletmelerden kuruluşlara kadar çeşitli kullanım durumları için uygulama geliştirmeye olanak tanıdığından, normalleştirme, yapısal olarak sağlam ve verimli sunucu arka uçlarının oluşturulmasında kritik bir rol oynayarak, üretilen uygulamaların kurumsal düzeydeki beklentileri karşılamasını sağlar. ve gereksinimler.