Normalleştirme ve Denormalleştirme Arasındaki Fark

Anonim

Normalleştirme ve Denormalizasyon

İlişkisel veritabanlar ilişkilerden oluşur (ilgili tablolar) Tablolar sütunlardan oluşur. Tablolar iki büyükse (yani bir tabloda çok fazla sütun varsa), veritabanı anormallikleri ortaya çıkabilir: Tablolar iki küçük ise (yani, veritabanı çok daha küçük tablolardan oluşur), sorgulamada verimsiz olur Normalleştirme ve Denormalleştirme Veritabanının performansını optimize etmek için kullanılan iki işlemdir.Geliştirme, veri tablolarında bulunan fazlalıkları en aza indirir.Denormalleştirme (normalleştirme tersi) gereksiz veri veya grup verileri ekler.

< Normalleştirme Nedir?

Normalleştirme, ilişkisel veritabanlarındaki verilerin fazlalıklarını en aza indirgemek için yapılan bir işlemdir.Bu işlem büyük tabloları daha az masrafla daha küçük tablolara böler ("Normal formlar" olarak adlandırılır)) Bu küçük tablolar birbiriyle ilişkili olacak d birbirine iyi tanımlanmış ilişkiler yoluyla. İyi normalleştirilmiş bir veritabanında, verilerin herhangi bir değiştirilmesi veya değiştirilmesi yalnızca tek bir tablonun değiştirilmesini gerektirir. İlk Normal Form (1NF), İkinci Normal Form (2NF) ve Üçüncü Normal Form (3NF) Edgar F. Codd tarafından tanıtıldı. Boyce-Codd Normal Form (BCNF), Codd ve Raymond F. Boyce tarafından 1974 yılında tanıtıldı. Yüksek Normal Formlar (4NF, 5NF ve 6NF) tanımlanmıştır, ancak nadiren kullanılmaktadır.

1NF ile uyumlu bir tablo, aslında bir ilişkiyi temsil ettiğini garanti eder (yani, tekrar eden herhangi bir kayıt içermez) ve değerli herhangi bir öznitelik içermez (yani tüm nitelikler atomik değerlere sahip olmalıdır). Bir tablo için 2NF'ye uymak için, 1NF'ye uyulmalı ve herhangi bir adayın anahtarının bir parçası olmayan herhangi bir nitelik (ör., Asal olmayan nitelikler), tablodaki herhangi bir aday anahtarına tamamen bağımlı olmalıdır. Codd'un tanımına göre, bir tablonun ikinci normal formda (2NF) olduğu ve tablonun aday anahtara ait olmayan her özniteliğin doğrudan her birine bağımlı olması gerekiyorsa, bir tablonun 3NF'de olduğu söylenir Bu tablonun adayı anahtarı. BCNF (3. 5NF olarak da bilinir), 3NF tarafından ele alınmayan bazı anomalileri yakalar.

Denormalizasyon nedir?

Denormalization, normalleştirme işleminin tersi işlemdir. Denormalization, performansı optimize etmek için gereksiz veriler ekleyerek veya verileri gruplandırarak çalışır. Yedekli veri ekleme üretkenliğini tersine üretse bile, bazen denormalizasyon, ilişkisel veritabanı yazılımındaki normalleştirilmiş veritabanlarında (hatta daha yüksek performans için ayarlanmış) ağır cezalara maruz kalabilecek eksikliklerin üstesinden gelmek için çok önemli bir işlemdir.Bunun nedeni, bir sorguya sonuç üretmek için birkaç ilişkiye (normalleştirme sonucudur) katılmak bazen veritabanı sistemlerinin fiili fiziksel uygulanmasına bağlı olarak yavaş olabilir.

Normalleştirme ve Denormalleştirme arasındaki fark nedir?

- Normalleştirme ve denormalizasyon tamamen ters iki işlemdir.

- Normalleştirme, daha büyük tabloları gereksiz verileri azaltarak küçük olanlara bölerken, denormalizasyon işlemi performansı optimize etmek için gereksiz veriler ekleme işlemidir.

- Veritabanı anormallikleri önlemek için normalizasyon yapılır.

- Denormalleştirme genellikle veritabanının okuma performansını artırmak için yapılır, ancak denormalizasyon için kullanılan ilave kısıtlamalar nedeniyle yazmalar (yani, ekleme, güncelleme ve silme işlemleri) daha yavaş olabilir. Bu nedenle, denormalize edilmiş bir veritabanı, normalleştirilmiş bir veritabanından daha kötü yazma performansı sunabilir.

- Sık sık, "acı çekinceye kadar normale dönsün, çalışıncaya dek denormalize olmalısın" önerilir.