DBMS'de Fonksiyonel Bağımlılık: Nedir, Türleri ve Örnekleri
İşlevsel Bağımlılık Nedir?
İşlevsel Bağımlılık (FD) Veri Tabanı Yönetim Sisteminde (DBMS) bir özelliğin başka bir özellik ile ilişkisini belirleyen bir kısıtlamadır. İşlevsel Bağımlılık, veritabanındaki verilerin kalitesinin korunmasına yardımcı olur. İyi ve kötü veritabanı tasarımı arasındaki farkı bulmak hayati bir rol oynar.
İşlevsel bir bağımlılık “→” okuyla gösterilir. X'in Y'ye işlevsel bağımlılığı X → Y ile temsil edilir. DBMS'deki İşlevsel Bağımlılığı örnekle anlayalım.
Örnek:
Çalışan sayısı | İşçi adı | Maaş | Şehir |
---|---|---|---|
1 | Dana | 50000 | San Francisco |
2 | Francis | 38000 | Londra |
3 | Andrew | 25000 | Tokyo |
Bu örnekte Çalışan numarasının değerini biliyorsak Çalışan Adı, şehir, maaş vb. bilgileri elde edebiliriz. Böylece şehrin, Çalışan Adının ve maaşın işlevsel olarak Çalışan sayısına bağlı olduğunu söyleyebiliriz.
Anahtar terimler
Veritabanındaki İşlevsel Bağımlılık için bazı temel terimler şunlardır:
Anahtar terimler | Açıklama |
---|---|
Aksiyom | Aksiyomlar, ilişkisel bir veritabanındaki tüm işlevsel bağımlılıkları ortaya çıkarmak için kullanılan bir dizi çıkarım kuralıdır. |
ayrışma | Bu, aynı birincil anahtar tarafından belirlenen iki varlığı içeriyor gibi görünen bir tablonuz varsa, bunları iki farklı tabloya ayırmayı düşünmeniz gerektiğini öneren bir kuraldır. |
Bağımlı | Üzerinde görüntülenir işlevsel bağımlılık diyagramının sağ tarafı. |
determinant | İşlevsel bağımlılık Diyagramının sol tarafında görüntülenir. |
sendika | Bu, iki tablo ayrıysa ve PK aynıysa bunları yerleştirmeyi düşünmeniz gerektiğini önerir. birlikte |
İşlevsel Bağımlılık Kuralları
Veritabanında İşlevsel Bağımlılık için en önemli üç kural aşağıda verilmiştir:
- Dönüşlü kural –. X bir nitelikler kümesiyse ve Y, X'in_altkümesiyse, bu durumda X, Y değerini tutar.
- Büyütme kuralı: x -> y geçerli olduğunda ve c öznitelik kümesi olduğunda, ac -> bc de geçerli olur. Bu, temel bağımlılıkları değiştirmeyen niteliklerin eklenmesidir.
- Geçişlilik kuralı: Bu kural cebirdeki geçiş kuralına çok benzer, eğer x -> y geçerliyse ve y -> z geçerliyse, o zaman x -> z de geçerliyse. Fonksiyonel olarak y'yi belirleyen X -> y olarak adlandırılır.
DBMS'deki İşlevsel Bağımlılık Türleri
DBMS'de esas olarak dört tür İşlevsel Bağımlılık vardır. DBMS'deki İşlevsel Bağımlılık türleri şunlardır:
- Çok Değerli Bağımlılık
- Önemsiz İşlevsel Bağımlılık
- Önemsiz Olmayan İşlevsel Bağımlılık
- Geçişli Bağımlılık
DBMS'de Çok Değerli Bağımlılık
Çok değerli bağımlılık, tek bir tabloda birden fazla bağımsız çok değerli öznitelik bulunduğu durumda ortaya çıkar. Çok değerli bağımlılık, bir ilişkideki iki öznitelik kümesi arasındaki tam bir kısıtlamadır. Bir ilişkide belirli tuple'ların bulunmasını gerektirir. Anlamak için aşağıdaki Çok Değerli Bağımlılık Örneğini inceleyin.
Örnek:
Araba modeli | Maf_yılı | Renk |
---|---|---|
H001 | 2017 | madeni |
H001 | 2017 | Yeşil |
H005 | 2018 | madeni |
H005 | 2018 | Mavi |
H010 | 2015 | madeni |
H033 | 2012 | Gri |
Bu örnekte maf_year ve color birbirinden bağımsızdır ancak car_model'e bağlıdır. Bu örnekte bu iki sütunun car_model'e bağlı çoklu değere sahip olduğu söyleniyor.
Bu bağımlılık şu şekilde temsil edilebilir:
car_model -> maf_year
araba_modeli-> renk
DBMS'de Önemsiz İşlevsel Bağımlılık
Önemsiz bağımlılık, öznitelik kümesinin o özniteliğe dahil edilmesi durumunda önemsiz olarak adlandırılan bir öznitelik kümesidir.
Yani, eğer Y, X'in bir alt kümesiyse, X -> Y önemsiz bir işlevsel bağımlılıktır. Önemsiz İşlevsel Bağımlılık Örneğiyle anlayalım.
Örneğin:
Emp_id | Emp_name |
---|---|
AS555 | Harry |
AS811 | George |
AS999 | Kevin |
Emp_id ve Emp_name olmak üzere iki sütun içeren bu tabloyu düşünün.
{Emp_id, Emp_name} -> Emp_id, Emp_id'nin {Emp_id,Emp_name} alt kümesi olması nedeniyle önemsiz bir işlevsel bağımlılıktır.
DBMS'de Önemsiz Olmayan İşlevsel Bağımlılık
Önemsiz olmayan bağımlılık olarak da bilinen işlevsel bağımlılık, B'nin A'nın bir alt kümesi olmadığı durumlarda A->B doğru olduğunda ortaya çıkar. Bir ilişkide, B özelliği, A özelliğinin bir alt kümesi değilse, o zaman önemsiz olmayan bir bağımlılık olarak kabul edilir. bağımlılık.
Firmamız | CEO | Yaş |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Apple | Tim Cook, | 57 |
Örnek:
(Şirket} -> {CEO} (Şirketi tanıyorsak CEO'nun adını da biliriz)
Ancak CEO, Şirketin bir alt kümesi değildir ve dolayısıyla önemsiz olmayan bir işlevsel bağımlılıktır.
DBMS'de Geçişli Bağımlılık
Geçişli Bağımlılık, "t"nin iki işlevsel bağımlılık tarafından dolaylı olarak oluşturulmasıyla oluşan bir tür işlevsel bağımlılıktır. Aşağıdaki Geçişli Bağımlılık Örneği ile anlayalım.
Örnek:
Firmamız | CEO | Yaş |
---|---|---|
Microsoft | Satya Nadella | 51 |
Sundar Pichai | 46 | |
Alibaba | Jack Ma | 54 |
{Şirket} -> {CEO} (şirketi biliyorsak CEO'sunun adını da biliyoruz)
{CEO } -> {Yaş} CEO'yu tanıyorsak Yaşını da biliyoruz
Bu nedenle geçişli bağımlılık kuralına göre:
{Şirket} -> {Yaş} geçerli olmalı, bu mantıklı çünkü şirketin adını biliyorsak yaşını da bilebiliriz.
Not: Geçişli bağımlılığın yalnızca üç veya daha fazla özelliğin ilişkisinde ortaya çıkabileceğini unutmamanız gerekir.
Normalleşme nedir?
Normalleştirme, veri fazlalığından, ekleme, güncelleme ve silme anormalliklerinden kaçınmanıza yardımcı olan, veritabanındaki verileri düzenleme yöntemidir. İlişki şemalarının farklı işlevsel bağımlılıklarına ve birincil anahtarlarına göre analiz edilmesi sürecidir.
Normalleştirme ilişkisel veritabanı teorisinin doğasında vardır. Veritabanında aynı verilerin kopyalanması etkisine sahip olabilir ve bu da ek tabloların oluşturulmasına neden olabilir.
Fonksiyonel Bağımlılığın Avantajları
- İşlevsel Bağımlılık veri fazlalığını önler. Bu nedenle aynı veriler o bölgedeki birden fazla yerde tekrarlanmaz. veritabanı
- Veritabanındaki verilerin kalitesini korumanıza yardımcı olur
- Veritabanlarının anlamlarını ve kısıtlamalarını tanımlamanıza yardımcı olur
- Kötü tasarımları tanımlamanıza yardımcı olur
- Veritabanı tasarımıyla ilgili gerçekleri bulmanıza yardımcı olur
ÖZET
- İşlevsel Bağımlılık, bir özelliğin bir yapıdaki başka bir özelliği belirlemesidir. DBMS sistemi.
- Aksiyom, Ayrıştırma, Bağımlı, Belirleyici, Birlik fonksiyonel bağımlılık için anahtar terimlerdir
- Dört tür işlevsel bağımlılık vardır: 1) Çok değerli 2) Önemsiz 3) Önemsiz olmayan 4) Geçişli
- Çok değerli bağımlılık, tek bir tabloda birden fazla bağımsız çok değerli özelliğin olduğu durumda ortaya çıkar
- Önemsiz bağımlılık, bir öznitelik kümesinin o özniteliğe dahil edilmesi durumunda önemsiz olarak adlandırılan bir öznitelik kümesi oluştuğunda ortaya çıkar.
- Önemsiz olmayan bağımlılık, B'nin A'nın bir alt kümesi olmadığı durumlarda A->B doğru olduğunda ortaya çıkar
- Geçişli, dolaylı olarak iki işlevsel bağımlılık tarafından oluştuğunda ortaya çıkan bir tür işlevsel bağımlılıktır.
- Normalleştirme, veri fazlalığından kaçınmanıza yardımcı olan, veritabanındaki verileri düzenleme yöntemidir