1NF vs 2NF vs 3NF
Normalleştirme, ilişkisel veritabanlarındaki verilerde mevcut olan fazlalıkları en aza indirmek için gerçekleştirilen bir işlemdir. Bu süreç esas olarak büyük tabloları daha az yedekli daha küçük tablolara bölecektir. Bu daha küçük tablolar, iyi tanımlanmış ilişkiler yoluyla birbirleriyle ilişkilendirilecektir. İyi normalleştirilmiş bir veritabanında, verilerdeki herhangi bir değişiklik veya değişiklik yalnızca tek bir tablonun değiştirilmesini gerektirecektir. Birinci normal form (1NF), İkinci normal form (2NF) ve Üçüncü Normal Form (3NF), ilişkisel modelin ve normalizasyon kavramının mucidi olan Edgar F. Codd tarafından tanıtıldı.
1NF nedir?
1NF, ilişkisel bir veritabanını normalleştirmek için minimum gereksinimler kümesini sağlayan İlk normal biçimdir. 1NF ile uyumlu bir tablo, gerçekte bir ilişkiyi temsil ettiğini garanti eder (yani, tekrar eden herhangi bir kayıt içermez), ancak 1NF için evrensel olarak kabul edilmiş bir tanım yoktur. Önemli bir özellik, 1NF ile uyumlu bir tablonun ilişkisel değerli nitelikler içerememesidir (yani, tüm nitelikler atomik değerlere sahip olmalıdır).
2NF nedir?
2NF, ilişkisel veritabanlarında kullanılan ikinci normal formdur. Bir tablonun 2NF ile uyumlu olması için 1NF ile uyumlu olması ve herhangi bir aday anahtarın parçası olmayan herhangi bir niteliğin (yani asal olmayan nitelikler) tamamen tablodaki aday anahtarlardan herhangi birine bağlı olması gerekir.
3NF nedir?
3NF, ilişkisel veritabanı normalleştirmesinde kullanılan Üçüncü normal biçimdir. Codd'un tanımına göre, bir tablonun 3NF'de olduğu söylenir, ancak ve ancak bu tablo ikinci normal formda (2NF) ise ve tablodaki bir aday anahtara ait olmayan her öznitelik doğrudan bağlı olmalıdır. o tablonun her aday anahtarında.1982'de Carlo Zaniolo, 3NF için farklı şekilde ifade edilen bir tanım üretti. 3NF ile uyumlu tablolar genellikle tabloya kayıt eklerken, silerken veya güncellerken oluşan anormallikleri içermez.
1NF ile 2NF ve 3NF arasındaki fark nedir?
1NF, 2NF ve 3NF, tablolardaki fazlalıkları en aza indirmek için ilişkisel veritabanlarında kullanılan normal biçimlerdir. 3NF, 2NF'den daha güçlü bir normal form olarak kabul edilir ve 1NF'den daha güçlü bir normal form olarak kabul edilir. Bu nedenle genel olarak 3NF formuna uygun bir tablo elde etmek için 2NF'de bulunan bir tablonun ayrıştırılması gerekecektir. Benzer şekilde, 2NF ile uyumlu bir tablo elde etmek, 1NF'de bulunan bir tablonun ayrıştırılmasını gerektirecektir. Ancak, 1NF ile uyumlu bir tablo, yalnızca tek bir öznitelikten oluşan aday anahtarlar içeriyorsa (yani, bileşik olmayan aday anahtarlar), böyle bir tablo otomatik olarak 2NF ile uyumlu olacaktır. Tabloların ayrıştırılması, sorgular yürütülürken ek birleştirme işlemlerine (veya Kartezyen ürünlere) neden olur. Bu, hesaplama süresini artıracaktır. Öte yandan, daha güçlü normal formlarla uyumlu olan tablolar, yalnızca daha zayıf normal formlarla uyumlu olan tablolara göre daha az fazlalığa sahip olacaktır.