Birinci normal form

Birinci normal form veya Birinci normal biçim (1NF), ilişkisel bir veritabanındaki bir ilişkinin özelliğidir. Bir ilişki, ancak ve ancak her bir öznitelik yalnızca atomik (bölünemez) değerler içeriyorsa ve her özniteliğin değeri, bu etki alanından yalnızca tek bir değer içeriyorsa birinci normal biçimdedir (1NF). Terimin ilk tanımı, Edgar Codd'un 1971 tarihli bir konferans makalesinde yapılmıştır.

Birinci normal form, ilişkisel bir veritabanındaki bir ilişkinin temel bir özelliğidir. Veritabanı normalizasyonu, bir veritabanını ilişkiler açısından standart normal formlarda temsil etme sürecidir, burada birinci normal form minimum gereksinimdir.

Aşağıdaki senaryolar ilk olarak bir veritabanı tasarımında birinci normal formun nasıl ihlal edildiğini ve ardından birinci normal forma uygun örnekleri gösterir.

Telefon numarası sütunu, tek bir değerde birden çok telefon numarası içerir. Örneğin, ilk satırda virgülle ayrılmış iki telefon numarası vardır. Sütun değerleri atomik değildir: iki sayıya bölünebilir. Bu durum, birinci normal formu ihlal etmektedir.

Modeli birinci normal forma getirmek için, telefon numarası bilgilerini tutmak için kullanılan satırlar "atomik" (yani bölünemez) varlıklara bölünür: her varlık tek bir telefon numarası içerir. Ve hiçbir satırın birden fazla telefon numarası içermediğinden emin olunur.

Bu çözümde yinelenen müşteriler için "ID" nin artık tekil olmadığı unutulmamalıdır. Bçyle bir yapıda, bir satırı tekil (benzersiz) şekilde tanımlamak için (ID, Telefon) kombinasyonunu kullanmak gerekir. Her bir sütun ayrı ayrı tekrarlanan değerler içermesine rağmen, kombinasyonun değeri tekildir. Bir satırı tekil şekilde tanımlayabilmek, 1NF'nin bir gereksinimidir.

Bu tasarımda kolonlar birden fazla telefon numarası içermemektedir. Bunun yerine, her Müşteri-Telefon Numarası bağlantısı kendi satırında görünür. MüşteriID anahtar olarak kullanıldığında, müşteri ve müşteri telefonu tabloları arasında bire çok ilişkisi vardır. "Üst" tablodaki bir satır olan Müşteri Adı, "alt" tablodaki birçok telefon numarası satırıyla, Müşteri Telefon Numarasıyla ilişkilendirilebilir, ancak her telefon numarası yalnızca bir müşteriye aittir. Bu tasarımın ikinci ve üçüncü normal form için ek gereksinimleri de karşıladığını belirtmekte fayda var.

Edgar F. Codd'un 1NF tanımı, 'atomiklik' kavramına gönderme yapar. Codd, atomik bir değeri "daha küçük parçalara ayrıştırılamayan (belirli özel işlevler hariç)" şeklinde tanımlar Bu, bir sütunun içinde birden fazla veri türü olan parçalara bölünmemesi gerektiği anlamına gelir.

Chris Date, "atomiklik kavramının mutlak bir anlamı olmadığını" öne sürer: Bir değer bazı amaçlar için atomik olarak kabul edilebilirken, başka amaçlar için daha temel elementlerin bir araya gelmesi olarak düşünülebilir. Bu kabule göre, 1NF tanımında atomikliğe referans verilemez.

Tanımı, sonuçların belirli bir sırayla döndürülmesini zorunlu kılan bir görünüm, böylece sıra sıralaması, görünümün içsel ve anlamlı bir yönüdür. Bu durum ilk kuralı ihlal eder. Gerçek ilişkilerdeki demetler birbirine göre sıralanmamıştır.

En az bir "null" atanabilir özelliğe sahip bir tablo. Null yapılabilir bir öznitelik, her sütunun kendi sütun etki alanından tam olarak bir değer içermesini gerektiren 4 koşulunu ihlal eder. Durum 4'ün bu yönü tartışmalıdır. Bu, Codd'un daha sonraki ilişkisel model vizyonundan önemli bir ayrılışı işaret eder, bu da "null" değerler için açık hükümler getirir.

Chris Date tarafından tanımlanan birinci normal form, ilişki değerli özniteliklere (tablolar içindeki tablolar) izin verir. Date, bir tablodaki bir sütunun bir tablo içerebildiği, ilişki değerli özniteliklerin nadir durumlarda yararlı olduğunu savunur.