Ana içeriğe atla

Geçişli Bağımlılık Nedir?

Geçişli bağımlılık, bir veritabanındaki bir öznitelik üçüncü bir öznitelik üzerinden başka birine dolaylı olarak bağlı olduğunda ortaya çıkar ve fazlalığa neden olur. Veritabanı tasarımında geçişli bağımlılıkları nasıl belirleyip ortadan kaldıracağınızı öğrenmek için okumaya devam edin.
Güncel 3 Eki 2026  · 5 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Veritabanlarında, bir tabloda yer alan bir öznitelik bir başka özniteliğe, onun da birincil anahtara bağlı olması durumunda geçişli bağımlılık oluşur. Geçişli bağımlılık, güncelleme, ekleme ve silme anomalileri gibi veri sorunlarına yol açtığı için veritabanı normalleştirmesinde bir problemdir; bu yazıda bunları inceleyeceğiz. 

Bu yazının ardından daha fazlasını öğrenmek isterseniz, ilişkisel veritabanlarını ve verilerin bir veritabanında nasıl saklandığını öğrenmek için DataCamp’in Database Design kursunu almanızı öneririm. Ayrıca, bu bağlamda ilişkisel veritabanlarını yönetmek için en yaygın dil olan SQL’deki normal formları öğrenmek üzere Normalization in SQL eğitimimize göz atmanızı tavsiye ederim.

Veritabanlarında Geçişli Bağımlılığı Anlamak

İlişkisel veritabanlarında, bir öznitelik başka bir özniteliğe, aradaki bir ara öznitelik üzerinden dolaylı olarak bağlı olduğunda geçişli bağımlılık oluşur. Bu sorun, bir sütunun değerinin iki başka sütunun değerlerinden dolaylı olarak belirlenebildiği anlamına gelir. Aşağıdaki, DataCamp_Programs adlı tabloyu düşünün:

Course_or_Skill_Track Instructor Instructor_Title
Data Manipulation in SQL Mona Khalil Data Scientist
SQL Fundamentals Mona Khalil Data Scientist
Introduction to SQL Izzy Weber Data Coach

Bu tablodan:

  • Course_or_Skill_Track → Instructor: Kursu veya beceri yolunu biliyorsak eğitmeni biliriz.

  • Instructor does not → Course_or_Skill_Track: Bazen eğitmenler birden fazlasını verir.

  • Instructor → Instructor_Title: Her eğitmenin bir unvanı vardır.

Dolayısıyla, Course_or_Skill_Track → Instructor_Title bir geçişli bağımlılıktır. 

Geçişli Bağımlılıklar Neden Sorun Yaratır?

Geçişli bağımlılıklar, başta veri fazlalığı, anomaliler ve tutarsızlık olmak üzere veritabanı sorunlarına yol açabilir.

Veri fazlalığı

Veri fazlalığı, aynı verinin veritabanı genelinde gereksiz yere yinelenmesiyle oluşur ve verimsizliğe neden olur. DataCamp_Programs tablosu örneğinde, eğitmenin unvanı verdiği her kurs için birden fazla kez saklanmaktadır. Bu tekrar hem depolama alanını israf eder hem de veritabanının bakımını zorlaştırır.

Veri anomalileri

Şimdi güncelleme, ekleme ve silme sorunlarına bakalım.

Güncelleme anomalileri

Güncelleme anomalileri, fazlalık nedeniyle veri değişikliklerinin birden fazla yerde uygulanması gerektiğinde ortaya çıkar. Bazı örnekler güncellenirken diğerleri atlanırsa tutarsızlıklara yol açar. Örneğin, Mona Khalil’in unvanı Lead Data Scientist olarak değiştiği için DataCamp_Programs tablosunu bir SQL sorgusuyla güncellediğimizi düşünün. Unvanının göründüğü her satırı elle güncellemeniz gerekir. Tek bir örnek bile atlanırsa, veritabanında mevcut unvanına ilişkin çelişkili bilgiler bulunacaktır. 

Course_or_Skill_Track Instructor Instructor_Title
Data Manipulation in SQL Mona Khalil Lead Data Scientist
SQL Fundamentals Mona Khalil Data Scientist
Introduction to SQL Izzy Weber Data Coach

Ekleme anomalileri

Ekleme anomalileri, gerekli diğer veriler eksik olduğu için veritabanına veri ekleyemediğinizde ortaya çıkar. Başka durumlarda, veri ekleyebilseniz bile tablonun yapısı sizi aşağıdaki örnekte olduğu gibi alakasız, yinelenen veya eksik bilgiler eklemeye zorlayabilir:

Course_or_Skill_Track Instructor Instructor_Title
Data Manipulation in SQL Mona Khalil Data Scientist
SQL Fundamentals Mona Khalil Data Scientist
Introduction to SQL Izzy Weber Data Coach
TBD Liam Cooper Data Analyst

Silme anomalileri

Silme anomalileri, bir kaydın silinmesinin veritabanından istemeden değerli bilgileri de kaldırmasıyla ortaya çıkar. Örneğin, Izzy Weber’i içeren kaydın silinmesi, eğitmenin unvanını da kaldıracaktır; bu da sistemdeki unvan yelpazesinin artık tam olmaması gibi veri kaybına yol açabilir. Burada, istemeden Data Coach unvanını sistemi tamamen kaldırmış olabiliriz.

Course_or_Skill_Track Instructor Instructor_Title
Data Manipulation in SQL Mona Khalil Data Scientist
SQL Fundamentals Mona Khalil Data Scientist

3NF ile Geçişli Bağımlılıkları Kaldırma

Veritabanı bağlamında normalleştirme, verileri düzenleyerek fazlalığı en aza indirir ve veri bütünlüğünü artırır. Bu nedenle, geçişli bağımlılıklar genellikle, geçişli bağımlılık sorununu ele almak için bağımlılıkları ortadan kaldıran bir veritabanı normalleştirme tekniği olan üçüncü normal form (3NF) bağlamında tartışılır. 

Üçüncü normal form, geçişli bağımlılıkları ortadan kaldıran ve her anahtar olmayan özniteliğin yalnızca birincil anahtara bağlı olmasını sağlayan bir normalleştirme düzeyidir. Bu, fazlalığı ve geçişli bağımlılıkların neden olduğu hataları önlemeye yardımcı olur. Bir veritabanı şemasını normalleştirirken aşağıdaki adımları düşünün.

Geçişli bağımlılıkları belirleme

Veritabanınızdaki geçişli bağımlılıkları tespit etmek için süreci parçalara ayırın:

  1. Birincil Anahtar Üzerindeki Fonksiyonel Bağımlılıkları Kontrol Edin: Özniteliklerin doğrudan birincil anahtara bağlı olduğu tüm fonksiyonel bağımlılıkları belirleyerek başlayın. Bu adım, tablonuzdaki temel ilişkilere odaklanmanıza yardımcı olur.
  2. Dolaylı Bağımlılıkları Arayın: Ardından, anahtar olmayan özniteliklerin (birincil anahtarın parçası olmayanlar) diğer anahtar olmayan özniteliklere bağlı olup olmadığını kontrol edin. Bir anahtar olmayan özniteliğin, kendisi birincil anahtara bağlı olan başka bir anahtar olmayan özniteliğe bağlı olduğunu görürseniz, bir geçişli bağımlılık belirlemişsiniz demektir.
  3. Fazlalık veya Anomali Testi Yapın: Son olarak, bu dolaylı bağımlılığın veri fazlalığına yol açıp açmadığını veya güncellemeleri zorlaştırıp zorlaştırmadığını düşünün.

Tabloları bölme

Geçişli bağımlılıkları belirledikten sonra, bunları ortadan kaldırmak için tabloları bölmeniz gerekir. Tabloları, anahtar olmayan özniteliklerin doğrudan birincil anahtara bağlı olduğu daha küçük tablolara böleceksiniz. Tablolar arasındaki ilişkiyi de yabancı anahtarlar üzerinden ilişkilendirerek koruyacaksınız.

İşte, DataCamp_Programs tablosunu normalleştirmek ve geçişli bağımlılığı ortadan kaldırmak için iki tabloya nasıl bölebileceğiniz. Göreceğiniz üzere tabloyu ikiye ayırıyoruz. instructor, ikisini bağlamak için anahtar haline geliyor.   

Tablo 1: courses_table

Course or Skill Track Instructor
Data Manipulation in SQL Mona Khalil
SQL Fundamentals Mona Khalil
Introduction to SQL Izzy Weber

Tablo 1: instructors_table

Instructor Instructor_Title
Mona Khalil Data Scientist
Izzy Weber Data Coach

Bu yapı, daha önce Instructor üzerinden Course_or_Skill_Track bağımlı olan Instructor_Title ögesindeki geçişli bağımlılığı ortadan kaldırır. Artık Instructor_Title yalnızca Instructor ögesine bağlıdır.

Geçişli Bağımlılıklardan Nasıl Kaçınılır

Veritabanınızı tasarlarken, veri verimliliğini, ölçeklenebilirliği ve bütünlüğü korumak için geçişli bağımlılıklardan kaçınmak önemlidir. Aşağıdakiler, fazlalık, anomali ve tutarsızlık risklerini en aza indirmek için en iyi uygulamalardır.

  • Şema Tasarımında Normalleştirme: Veritabanınızı şemadan tasarlıyorsanız, erken aşamalarda üçüncü normal formu (3NF) dikkate almak önemlidir. Bu yaklaşım, normalleştirme tekniğini uygulayarak geçişli bağımlılığı azaltmaya yardımcı olacaktır. 
  • Düzenli Şema Denetimleri: Veritabanınızı oluşturduktan sonra, geçişli bağımlılıklardan arınmış kaldığından emin olmak için düzenli denetimler yapmak önemlidir.
  • İlişkileri Aşırı Basitleştirmekten Kaçınma: İlişkileri her zaman haritalayın ve farklı bilgileri depolamak için varlıkları farklı tablolarda doğru şekilde ayırın.

Sonuç

Veritabanlarında geçişli bağımlılıklar, bir tablodaki bir özniteliğin başka bir özniteliğe, onun da birincil anahtara bağlı olması durumunda ortaya çıkar. Geçişli bağımlılık, fazlalık, tutarsızlıklar ve anomaliler oluşturarak veritabanı verimliliğini her zaman olumsuz etkiler. Bir geliştirici olarak, veri bütünlüğü için geçişli bağımlılıkları belirlemek ve ortadan kaldırmak önemlidir. Geçişli bağımlılıkları veritabanı tasarımı sırasında da belirleyip gidermelisiniz. Üçüncü normal forma (3NF) ulaşmak, veritabanlarını optimize etmenize ve verimliliği artırmanıza yardımcı olacaktır.

Veritabanı tasarım becerilerinizi geliştirmek istiyorsanız, şema tasarımı ve veritabanı erişim kontrolleri hakkında daha fazla bilgi edinmek için DataCamp’in Creating PostgreSQL Databases kursunu almanızı öneririm. Son olarak, büyük veri için veritabanı yönetimi becerilerinizi ilerletmek istiyorsanız, ilişkiler, boyutsal modelleme ve veri kasaları hakkında daha fazla bilgi edinerek verimli bulut veri ambarları tasarlamak için Introduction to Data Modeling in Snowflake kursumuzu almanızı tavsiye ederim.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Veri analitiği, iş zekâsı ve veri bilimi alanlarında pratik deneyime sahip Veri Bilimi Teknik Yazarı. SQL, Python, Power BI, Databricks ve veri mühendisliği üzerine, gerçek dünya analitik çalışmalarına dayanan, uygulamaya dönük ve sektöre odaklı içerikler yazıyorum. Yazılarım teknik derinlikle iş etkisi arasındaki köprüyü kurarak profesyonellerin veriyi güvenle karara dönüştürmelerine yardımcı olur.

Geçişli Bağımlılık SSS

Fonksiyonel bağımlılıklar ile geçişli bağımlılıklar arasındaki fark nedir?

Fonksiyonel bağımlılık, bir öznitelik doğrudan birincil anahtara bağlı olduğunda ortaya çıkar. Geçişli bağımlılık ise, bir anahtar olmayan özniteliğin, yine anahtar olmayan başka bir özniteliğe, bu özniteliğin de birincil anahtara bağlı olduğu durumlarda görülür.

Geçişli bağımlılıklar neden sorunludur?

Geçişli bağımlılıklar, güncelleme, ekleme ve silme anomalileri gibi veri fazlalığına ve anomalilere yol açar.

Veri normalleştirme nedir?

Veri normalleştirme, veritabanını veri fazlalığını azaltmak ve veri bütünlüğünü artırmak için tablolar ve sütunlar halinde düzenleme sürecidir.

Üçüncü normal form (3NF) nedir?

Üçüncü normal form (3NF), geçişli bağımlılıkların bulunmadığı bir normalleştirme tekniğidir. 3NF’de, her bir asal olmayan öznitelik yalnızca birincil anahtara bağlı olmalıdır; bu da dolaylı bağımlılıkların bulunmamasını sağlar.

Konular
SQL
Veri Mühendisliği

DataCamp ile Öğrenin

Kurs

Veritabanı Tasarımı

4 sa
131K
Verileri daha verimli bir şekilde işlemek, depolamak ve düzenlemek için SQL'de veritabanı tasarlamayı öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör