
Tam işlevsel bağımlılık, İkinci Normal Biçimin (2NF) normalleştirme standardına eşit olan bir veritabanı normalleştirme durumudur. Kısaca, bu, İlk Normal Form (1NF) gereksinimlerini karşıladığı ve tüm anahtar olmayan özniteliklerin tamamen işlevsel olarak birincil anahtara bağlı olduğu anlamına gelir. Bu göründüğü kadar karmaşık değil. Buna daha detaylı bakalım.
İlk Normal Formun Özeti
Bir veritabanının tam olarak işlevsel olarak bağımlı olabilmesi için önce Birinci Normal Biçim ile uyumlu olması gerekir. Bütün bunlar, her bir özniteliğin tek bir atomik değere sahip olması gerektiği anlamına gelir. Örneğin, aşağıdaki tablo şunu yapar: değil 1NF ile uyumludur, çünkü Tina çalışanı iki konumla bağlantılıdır, ikisi de tek bir hücrede:
İlk Normal Biçim Uyumsuzluk
Çalışan | yer |
John | Los Angeles |
Tina | Los Angeles, Chicago |
Bu tasarıma izin vermek, veri güncellemelerini veya girişlerini olumsuz etkileyebilir. 1NF uyumluluğunu sağlamak için, tabloyu tüm özniteliklerin (veya sütun hücrelerinin) tek bir değeri tutacağı şekilde yeniden düzenleyin:
İlk Normal Form Uyumluluğu
Çalışanın Konumu John Los Angeles Tina Los Angeles Tina Chicago Ancak 1NF, verilerle ilgili sorunları önlemek için hala yeterli değil.
Tam Bağımlılık Sağlamak İçin 2NF Nasıl Çalışır?
Tamamen bağımlı olmak için, tüm aday olmayan anahtar özniteliklerinin birincil anahtara bağlı olması gerekir. (Unutmayın, bir aday anahtar özelliği, bir veritabanı kaydını benzersiz şekilde tanımlamak için kullanılan herhangi bir anahtardır (örneğin, birincil veya yabancı anahtar). Veritabanı tasarımcıları, özellikler arasındaki bağımlı ilişkileri açıklamak için bir gösterim kullanır: A özelliği B’nin değerini belirlerse, bunu yazıyoruz A -> B – bu, B’nin işlevsel olarak A’ya bağımlı olduğu anlamına gelir. Bu ilişkide, A, B’nin değerini belirlerken, B, A’ya bağlıdır. Örneğin, aşağıdaki Çalışan Departmanları tablo, EmployeeID ve DeptID her ikisi de aday anahtarlardır: EmployeeID tablonun birincil anahtarı iken DeptID bir yabancı anahtardır. Diğer tüm öznitelikler – bu durumda ÇalışanAdı ve BölümAdı – değerini elde etmek için birincil anahtara bağlı olmalıdır.
Çalışan Departmanları
Çalışan kimliği | Çalışan Adı | DeptID | DeptName |
Emp1 | John | Dept001 | Finansman |
Emp2 | Tina | Dept003 | Satış |
Emp3 | Carlos | Dept001 | Finansman |
Bu durumda, tablo tam olarak bağımlı değildir çünkü EmployeeName, EmployeeID birincil anahtarına bağlıyken, DeptName bunun yerine DeptID’ye bağlıdır. Bu denir kısmi bağımlılık. Bu tabloyu 2NF’ye uygun hale getirmek için verileri iki tabloya ayırmamız gerekir:
Çalışanlar
Çalışan kimliği | Çalışan Adı | DeptID |
Emp1 | John | Dept001 |
Emp2 | Tina | Dept003 |
Emp3 | Carlos | Dept001 |
DeptName özniteliğini Çalışanlar tablo ve yeni bir tablo oluştur Bölümler:
Bölümler
DeptID | DeptName |
Dept001 | Finansman |
Dept002 | İnsan kaynakları |
Dept003 | Satış |
Şimdi tablolar arasındaki ilişkiler tamamen bağımlı veya 2NF’de.
Tam Bağımlılık Neden Önemlidir?
Veritabanı öznitelikleri arasındaki tam bağımlılık, veri bütünlüğünün sağlanmasına ve veri anormalliklerinin önlenmesine yardımcı olur. Örneğin, yalnızca 1NF’ye uyan yukarıdaki bölümde yer alan tabloyu düşünün. İşte yine:
İlk Normal Form Uyumluluğu
Çalışan | yer |
John | Los Angeles |
Tina | Los Angeles |
Tina | Chicago |
Tina’nın iki kaydı var. İki tane olduğunu fark etmeden birini güncellersek, sonuç tutarsız veriler olur. Ya da bu tabloya bir çalışan eklemek istiyorsak, ancak henüz Konumunu bilmiyorsak? Konum özniteliği NULL değerlerine izin vermiyorsa, yeni bir çalışan eklememize bile izin verilmeyebilir. Normalleşme söz konusu olduğunda tam bağımlılık resmin tamamı değildir. Veritabanınızın Üçüncü Normal Formda (3NF) olduğundan emin olmalısınız. Lifewire’dan daha fazlası
-
Veritabanı İlişkileri
-
Ortak Veritabanı Terimleri Sözlüğü
-
Veritabanını Üçüncü Normal Biçime (3NF) Koyma
-
Boyce-Codd Normal Formu (BCNF) Nedir?
-
Veritabanı Normalleştirme Temelleri
-
Belirleyiciler ve Veritabanındaki Rolleri
-
Veritabanı Bağımlılıkları Nelerdir?
-
Bir Veritabanında Geçişli Bağımlılık Nedir?
-
Bir Veritabanında Bire Çok İlişkiler
-
Bilgi Bütünlüğü Veritabanı Tutarlılığını Nasıl Sağlar?
-
Veritabanınızı Normalleştirme: İlk Normal Form (1FN)
-
Veritabanı İlişkilerine Giriş
-
Veritabanı Tasarımında Birden Çok Değerli Bağımlılık
-
Birincil Anahtar Seçme
-
Bir Veritabanında Fonksiyonel Bağımlılık
-
Veritabanı Yönetimini Kolaylaştıran Temel Anahtarlar
Gizlilik Haklarınız
Lifewire ve üçüncü taraf ortaklarımız tanımlama bilgileri kullanır ve bir cihazda bilgi depolama ve / veya bilgilere erişme, kişiselleştirilmiş reklamlar görüntüleme ve içerik ölçümü, hedef kitle anlayışı ve ürün geliştirme izninize bağlı olarak benzersiz tanımlayıcılar gibi kişisel verileri işler. Meşru menfaatin kullanıldığı durumlarda itiraz etme hakkınız da dahil olmak üzere hayateli.com için onay seçeneklerinizi değiştirmek veya geri çekmek için aşağıya tıklayın. İstediğiniz zaman, herhangi bir sayfanın altındaki “AB Gizliliği” bağlantısını kullanarak ayarlarınızı güncelleyebilirsiniz. Bu seçimler, küresel olarak ortaklarımıza bildirilecek ve tarama verilerini etkilemeyecektir. İş Ortakları Listesi (satıcılar)
Biz ve ortaklarımız verileri şu amaçlarla işleriz:
Tanımlama için cihaz özelliklerini aktif olarak tarayın. Kesin coğrafi konum verilerini kullanın. Bir cihazda bilgi depolayın ve / veya bunlara erişin. Kişiselleştirilmiş içeriği seçin. Kişiselleştirilmiş bir içerik profili oluşturun. Reklam performansını ölçün. Temel reklamları seçin. Kişiselleştirilmiş bir reklam profili oluşturun. Kişiselleştirilmiş reklamları seçin. Kitle içgörüleri oluşturmak için pazar araştırması uygulayın. İçerik performansını ölçün. Ürünleri geliştirin ve iyileştirin. İş Ortakları Listesi (satıcılar)