Veritabanı Bağımlılıkları Nedir?

Veritabanı bağımlılıkları, hem öğrencileri hem de veritabanı uzmanlarını aynı anda karıştıran bir konudur. Neyse ki, bu kadar karmaşık değiller ve bir dizi örnek kullanarak en iyi şekilde gösterilebilirler. Bu yazıda, ortak veritabanı bağımlılık türlerini inceliyoruz.

Veritabanı Bağımlılıkları / İşlevsel Bağımlılıklar

Aynı veritabanı tablosunda saklanan bilgiler, aynı tabloda depolanan diğer bilgileri benzersiz olarak belirlediğinde, bir veritabanında bir bağımlılık oluşur. Bunu, bir öznitelik (veya bir özellik kümesinin) değerini bilmenin, aynı tabloda başka bir özelliğin (veya özniteliklerin) değerini belirtmenin yeterli olduğu bir ilişki olarak da tanımlayabilirsiniz.

Tablodaki öznitelikler arasında bir bağımlılık olduğunu söylemek, bu öznitelikler arasında işlevsel bir bağımlılık olduğunu söylemekle aynı şeydir. Bir veritabanında bağımlılık varsa, B niteliği A niteliğine bağımlı olacaksa, bunu “A -> B” olarak yazarsınız.

Örneğin, Sosyal Güvenlik Numarası (SSN) ve isim de dahil olmak üzere çalışanların özelliklerini listeleyen bir tabloda, bir çalışanın adı SSN'lerinden benzersiz bir şekilde belirlenebileceğinden, adın SSN'ye (veya SSN -> adına) bağlı olduğu söylenebilir. Ancak, tersi ifade (isim -> SSN) doğru değildir, çünkü birden fazla çalışanın aynı ada sahip ancak farklı SSN'leri olabilir.

Önem Fonksiyonel Bağımlılıklar

Özgün niteliği içeren öznitelikler koleksiyonunda bir özniteliğin işlevsel bağımlılığını açıkladığınızda önemsiz bir işlevsel bağımlılık oluşur. Örneğin, “{A, B} -> B”, “{name, SSN} -> SSN” gibi önemsiz bir işlevsel bağımlılıktır . Bu tür bir işlevsel bağımlılık, sağduyudan kaynaklanabileceği için önemsiz olarak adlandırılır. B'nin değerini zaten biliyorsanız, B'nin değeri bu bilgi tarafından benzersiz olarak belirlenebilir.

Tam Fonksiyonel Bağımlılıklar

İşlevsel bağımlılık gereksinimlerini zaten karşıladığınızda ve işlevsel bağımlılık bildiriminin sol tarafındaki öznitelik dizisi daha fazla azaltılamadığında tam işlevsel bağımlılık oluşur. Örneğin, “{SSN, age} -> name”, işlevsel bir bağımlılıktır, ancak bağımlılık ilişkisini etkilemeden ifadenin sol tarafından yaşını kaldırabileceğiniz için tam bir işlevsel bağımlılık değildir.

Geçişli Bağımlılıklar

Geçiş bağımlılıkları , işlevsel bağımlılığa neden olan dolaylı bir ilişki olduğunda ortaya çıkar. Örneğin, "A -> C", yalnızca "A -> B" ve "B -> C" değerleri doğru olduğu için doğru olduğunda geçiş bağımlılığıdır .

Çok Değerli Bağımlılıklar

Bir tablodaki bir veya daha fazla satırın varlığı, aynı tabloda bir veya daha fazla satırın varlığına işaret ettiğinde, birden çok değerli bağımlılıklar oluşur. Örneğin, birçok otomobil modeli üreten bir araba şirketi düşünün, ancak her modelin her zaman kırmızı ve mavi renklerini yaratır. Şirket adının model adını, rengini ve yılını içeren bir tablonuz varsa, bu tabloda çok değerli bir bağımlılık vardır. Belirli bir model adı ve mavi için bir satır varsa, aynı arabanın kırmızı sürümüne karşılık gelen benzer bir satır da olmalıdır.

Bağımlılıkların önemi

Veritabanı bağımlılıkları, veritabanı normalleştirmesinde kullanılan temel yapı taşlarını sağladıkları için anlaşılması önemlidir. Örneğin: