1NF vs 2NF vs 3NF
Normalleştirme, ilişkisel veritabanlarındaki verilerde bulunan fazlalıkları en aza indirmek için gerçekleştirilen bir işlemdir. Bu işlem büyük tabloları daha az yedekli küçük tablolara böler. 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 gerektirir. İlk normal form (1NF), İkinci normal form (2NF) ve Üçüncü Normal Form (3NF), aynı zamanda ilişkisel modelin mucidi ve normalleşme kavramının Edgar F. Codd tarafından tanıtıldı..
1NF nedir?
1NF, ilişkisel veritabanını normalleştirmek için minimum gereksinim kümesini sağlayan İlk normal formdur. 1NF ile uyumlu bir tablo, aslında bir ilişkiyi temsil ettiğini garanti eder (yani yinelenen hiçbir kayıt içermez), ancak 1NF için evrensel olarak kabul edilen bir tanım yoktur. Önemli bir özellik, 1NF ile uyumlu bir tablonun ilişkisel değer içeren herhangi bir özellik içerememesidir (yani tüm niteliklerin atom değerleri olması gerekir).
2NF nedir?
2NF, ilişkisel veritabanlarında kullanılan ikinci normal formdur. Bir tablonun 2NF ile uyumlu olması için, tabloya 1NF ile uyulmalıdır ve herhangi bir aday anahtarının parçası olmayan herhangi bir özellik (yani asal olmayan özellikler) tablodaki aday anahtarların herhangi birine tamamen bağlı olmalıdır..
3NF nedir?
3NF ilişkisel veritabanı normalleştirmesinde kullanılan üçüncü normal formdur. Codd'un tanımına göre, bir tablonun 3NF'de olduğu söylenir, ancak bu tablonun ikinci normal formda (2NF) olması ve tablodaki bir aday anahtara ait olmayan her niteliğin doğrudan bağımlı olması gerekir. tablonun her aday anahtarında. 1982'de Carlo Zaniolo, 3NF için farklı 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 ve 2NF ve 3NF arasındaki fark nedir?
1NF, 2NF ve 3NF, ilişkisel veritabanlarında tablolardaki fazlalıkları en aza indirmek için kullanılan normal formlardır. 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 uyan bir tablo elde etmek için 2NF içindeki bir tablonun ayrıştırılması gerekir. Benzer şekilde, 2NF ile uyumlu bir tablo elde etmek için 1NF içinde bulunan bir tablonun ayrıştırılması gerekir. Ancak, 1NF ile uyumlu bir tablo yalnızca tek bir öznitelikten (yani kompozit olmayan aday anahtarlardan) oluşan aday anahtarları içeriyorsa, bu tür bir tablo otomatik olarak 2NF ile uyumlu olur. 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. Diğer taraftan, daha güçlü normal formlara uyan tablolar, yalnızca daha zayıf normal formlara uyan tablolardan daha az yedekliliğe sahip olacaktır..