Veritabanlarında Çok Değerli Bağımlılık

İçindekiler:

Veritabanlarında Çok Değerli Bağımlılık
Veritabanlarında Çok Değerli Bağımlılık
Anonim

İlişkisel bir veritabanında, aynı veritabanı tablosunda depolanan bilgiler aynı tabloda depolanan diğer bilgileri benzersiz şekilde belirlediğinde bir bağımlılık oluşur. Bir tabloda bir veya daha fazla satırın bulunması, aynı tablodaki bir veya daha fazla satırın varlığını ima ettiğinde, çok değerli bir bağımlılık oluşur. Başka bir deyişle, bir tablodaki iki öznitelik (veya sütun) birbirinden bağımsızdır, ancak her ikisi de üçüncü bir özniteliğe bağlıdır.

Image
Image

Çok değerli bir bağımlılık, normalleştirme standardı dördüncü normal biçimi engeller. İlişkisel veritabanları, kayıt tasarımı için yönergeleri temsil eden beş normal formu takip eder. Verilerdeki güncelleme anormalliklerini ve tutarsızlıklarını önlerler. Dördüncü normal biçim, bir veritabanındaki çoktan bire ilişkilerle ilgilenir.

İşlevsel Bağımlılık ve Çok Değerli Bağımlılık

Çok değerli bir bağımlılığı anlamak için, işlevsel bir bağımlılığın ne olduğunu tekrar gözden geçirmek yararlıdır.

X özelliği bir Y niteliğini benzersiz bir şekilde belirlerse, Y işlevsel olarak X'e bağlıdır. Bu, X -> Y olarak yazılır. Örneğin, aşağıdaki Öğrenciler tablosunda, Öğrenci_Adı Binbaşı belirler:

Öğrenci_Adı Binbaşı
Ravi Sanat Tarihi
Beth Kimya

Bu işlevsel bağımlılık şu şekilde yazılabilir: Student_Name -> Major. Her Öğrenci_Adı tam olarak bir Binbaşı belirler ve daha fazlasını değil.

Veritabanının bu öğrencilerin yaptığı sporları da izlemesini istiyorsanız, bunu yapmanın en kolay yolunun Spor: başlıklı başka bir sütun eklemek olduğunu düşünebilirsiniz.

Öğrenci_Adı Binbaşı Spor
Ravi Sanat Tarihi Futbol
Ravi Sanat Tarihi Voleybol
Ravi Sanat Tarihi Tenis
Beth Kimya Tenis
Beth Kimya Futbol

Buradaki sorun, hem Ravi hem de Beth'in birkaç spor yapması. Her ek spor için yeni bir sıra eklemek gerekir.

Bu tablo çok değerli bir bağımlılığı ortaya çıkardı çünkü ana dal ve spor birbirinden bağımsız ama ikisi de öğrenciye bağlı. Bu basit bir örnektir ve kolayca tanımlanabilir, ancak çok değerli bir bağımlılık, büyük ve karmaşık bir veritabanında bir sorun haline gelebilir.

Çok değerli bir bağımlılık X ->-> Y yazılır. Bu durumda:

Öğrenci_Adı ->-> Binbaşı

Öğrenci_Adı ->- > Spor

Bu, "Öğrenci_Adı Binbaşı çoklu belirler" ve "Öğrenci_Adı Sporu çoklu belirler" şeklinde okunur.

Çok değerli bir bağımlılık her zaman en az üç öznitelik gerektirir, çünkü bir üçüncüye bağlı en az iki öznitelikten oluşur.

Çok Değerli Bağımlılık ve Normalleştirme

Çok değerli bağımlılığa sahip bir tablo, gereksiz fazlalıklar oluşturduğundan ve tutarsız verilere katkıda bulunabileceğinden dördüncü normal formun normalleştirme standardını ihlal eder. Bunu 4NF'ye getirmek için bu bilgiyi iki tabloya bölmek gerekiyor.

Aşağıdaki tabloda artık Öğrenci_Adı -> Binbaşı işlevsel bağımlılığı var ve birden çok değerli bağımlılık yok:

Öğrenci_Adı Binbaşı
Ravi Sanat Tarihi
Ravi Sanat Tarihi
Ravi Sanat Tarihi
Beth Kimya
Beth Kimya

Bu tablo aynı zamanda Student_Name -> Sport: için tek bir işlevsel bağımlılığa sahip olsa da

Öğrenci_Adı Spor
Ravi Futbol
Ravi Voleybol
Ravi Tenis
Beth Tenis
Beth Futbol

Normalleştirme, genellikle, tek bir tablonun çok fazla farklı bilgi içermesini sağlamaya çalışmak yerine, tek bir fikir veya temayla ilgili bilgileri içerecek şekilde karmaşık tabloları basitleştirerek gerçekleştirilir.

Önerilen: