Birincil anahtarı olmayan bir tablo normalleştirilmiş mi?


9

Bir derste, öğretim üyem bize birincil anahtarı olmayan bir masa gösterdi. Sorgulama üzerine, 3NF'de geçişli bağımlılıkları kaldırdığınızda, birincil anahtarsız bir tabloya sahip olmanın uygun olduğunu söyledi.

Bununla birlikte, hiçbir birincil anahtar işlevsel bağımlılık olmadığı anlamına gelmez - ancak 3NF geçişli bağımlılıkların kaldırılmasıdır ve her bir tablonun, normal bağımlılık için olduğu gibi normalleştirme için bir birincil anahtara sahip olması gerektiği öğretildi.

Birincil anahtar olmadan bir tablo oluşturmak tamamen mümkün olduğunu biliyorum, ama bu tablo varsa bu veritabanı normalleştirilmiş kabul edilir mi?

Eklemeliyim ki, tablonun herhangi bir “benzersiz anahtarı” yok, birincil, kompozit, yabancı yok.

Gösterilen tabloda hiçbiri birincil veya benzersiz olarak etiketlenmemiş üç özellik bulunmaktadır. Bunun bir hata olup olmadığını sordum ve bir tane olmamasının iyi olduğunu söyledi. Tablodaki bilgilerin hiçbiri benzersiz bir şekilde tanımlanamayacağı ve bu şekilde olmanın iyi olduğunu iddia ettiği için sözleri sorguladım. Bu normalizasyon hakkında bana öğretilenlere aykırı.

Yanıtlar:


15

Bir ilişkinin herhangi bir aday anahtarı yoksa (ve birincil anahtarın aday anahtarlardan yalnızca biri), yinelenen satırlara sahip olabilir, bu yüzden aslında bir ilişki değildir! (ilişkiler her zaman belirlendiği için).

Bu durumda, sorunuzda yaptığınız gibi bir tablo değil bir ilişki olarak adlandırmak daha doğrudur ve birkaç RDBMS'nin geçerli olmayan ilişkileri yönetebileceğini ve bu durumda bile herhangi bir benzersizlik kısıtlaması olmayan tablolara izin verebileceğini unutmayın. çok nadirdir ve veriler üzerinde çalışırken sorun (anormallikler) üretir.

Ancak bu durumda normal formlardan bahsetmek uygun değildir: tüm normalleştirme teorisi, ilgi nesnelerinin çoklu setler değil ilişkiler olduğu temel varsayımına dayanır . Aslında bu teori, bir veritabanının tüm ilişkilerinin, her ilişkideki tüm öznitelikleri içeren bu ilişkinin bir projeksiyonunun bir alt kümesi olduğunu varsayan (biraz tartışılan) Evrensel İlişki Varsayımına dayanmaktadır. Ve bu nesne aslında bir ilişki (yani bir küme), çoklu küme değil.

İlişkisel Veri Modeli verileri hakkında konuşurken, bazen iki terimi, tabloları ve ilişkileri değiştiririz, aslında eşanlamlı oldukları anlamına gelmez ve normalleşme teorisi hakkında konuşurken bu fark esastır. Kitaplarda, bazı normal formlar sunulduğunda, her zaman şöyle bir şey söylendiğini unutmayın:

Bir ilişki xxx normal formda ise ...


Öğelere ek bir countözellik eklediğiniz bir küme için çoklu küme izomorfik değil mi?
Barmar

3
@ Barmar evet, ama sonra bir aday anahtar ve tüm ilgili fonksiyonel bağımlılıkları eklersiniz, bu yüzden normalleştirme teorisi bakış açısından tamamen farklı bir durumdasınız.
Renzo

1
İnsanlar ilişkisel olmayan tablolarda ilişkisel işlemler gerçekleştirdiklerinde ilişkisel sonuçlar beklerler. Onları alamadıklarında bunlar anormal görünür.
Walter Mitty

0

3NF, ilk 3 Veri Normalleştirme Kuralına uygun bir tabloyu ifade eder.

  1. Tekrarlanan grupların ortadan kaldırılması
  2. Gereksiz verilerin ortadan kaldırılması
  3. Anahtara bağlı olmayan sütunların kaldırılması

Üçüncü kural bir anahtar gerektirir. Haklısın, öğretim üyesinin masası 3NF değildi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.