Skip to content

Veritabanı İlişkileri

12 de Mayıs de 2021

Bir tablo, başka bir tablonun birincil anahtarına başvuran bir yabancı anahtar kullandığında, iki veritabanı tablosu arasında bir ilişki kurulur. Bu terimin arkasındaki temel kavramdır ilişkisel veritabanı.

Bir İlişki Kurmak İçin Yabancı Anahtar Nasıl Çalışır?

Birincil anahtar, tablodaki her kaydı benzersiz şekilde tanımlar. Genellikle bir tablodaki ilk sütun olan ve benzersiz olmasını sağlamak için veritabanı tarafından otomatik olarak oluşturulabilen bir aday anahtar türüdür. Yabancı anahtar, bir kaydı başka bir tablodaki verilere bağlamak için kullanılan başka bir aday anahtardır (birincil anahtar değil). Örneğin, hangi öğretmenin hangi dersi öğrettiğini belirleyen bu iki tabloyu düşünün. Burada, Courses tablosunun birincil anahtarı Course_ID’dir. Yabancı anahtarı Teacher_ID:

Kurs kimliği Ders_Adı Teacher_ID
Course_001 Biyoloji Öğretmen_001
Ders_002 Matematik Öğretmen_001
Ders_003 ingilizce Öğretmen_003
Dersler
Kurslardaki yabancı anahtarın Öğretmenler’de bir birincil anahtarla eşleştiğini görebilirsiniz:

Teacher_ID Öğretmen adı
Öğretmen_001 Carmen
Öğretmen_002 Veronica
Öğretmen_003 Jorge
Öğretmenler
Teacher_ID yabancı anahtarının bir ilişki Kurslar ve Öğretmenler tabloları arasında.

Veritabanı İlişkileri Türleri

Glow / Getty Images
Yabancı anahtarları veya diğer aday anahtarları kullanarak, tablolar arasında üç tür ilişki uygulayabilirsiniz:

Bire bir: Bu tür bir ilişki, ilişkinin her iki tarafında yalnızca bir kayda izin verir. Birincil anahtar, başka bir tablodaki yalnızca bir kayıtla veya hiçbiriyle ilgilidir. Örneğin bir evlilikte her eşin yalnızca bir eşi vardır. Bu tür bir ilişki tek bir tabloda uygulanabilir ve bu nedenle yabancı anahtar kullanmaz.

Bire çok: Bire çok ilişkisi, bir tablodaki tek bir kaydın başka bir tablodaki birden çok kayıtla ilişkilendirilmesine izin verir. Müşteriler ve Siparişler tabloları olan bir veritabanına sahip bir işletmeyi düşünün. Tek bir müşteri birden fazla sipariş satın alabilir, ancak tek bir sipariş birden çok müşteriye bağlanamaz. Bu nedenle, Siparişler tablosunda Müşteriler tablosunun birincil anahtarıyla eşleşen bir yabancı anahtar bulunurken, Müşteriler tablosunda Siparişler tablosunu gösteren yabancı anahtar bulunmaz.

Çoktan çoğa: Bu, bir tablodaki birçok kaydın başka bir tablodaki birçok kayda bağlanabildiği karmaşık bir ilişkidir. Örneğin, işletmemizin muhtemelen yalnızca Müşteriler ve Siparişler tablolarına değil, aynı zamanda bir Ürünler tablosuna da ihtiyacı var. Yine, Müşteriler ve Siparişler tablosu arasındaki ilişki bire çoktur, ancak Siparişler ve Ürünler tablosu arasındaki ilişkiyi göz önünde bulundurun. Bir sipariş birden fazla ürün içerebilir ve bir ürün birden fazla siparişe bağlanabilir: birkaç müşteri aynı ürünlerin bazılarını içeren bir sipariş verebilir. Bu tür bir ilişki en az üç tablo gerektirir.

Veritabanı İlişkileri Neden Önemlidir?

Veritabanı tabloları arasında tutarlı ilişkiler kurmak, veri bütünlüğünün sağlanmasına yardımcı olarak veritabanı normalizasyonuna katkıda bulunur. Örneğin, herhangi bir tabloyu bir yabancı anahtar aracılığıyla bağlamaz ve bunun yerine, Dersler ve Öğretmenler tablolarındaki verileri şöyle birleştirirsek ne olur:

Teacher_ID Öğretmen adı Ders
Öğretmen_001 Carmen Biyoloji, Matematik
Öğretmen_002 Veronica Matematik
Öğretmen_003 Jorge ingilizce
Öğretmenler ve Kurslar
Bu tasarım esnek değildir ve her bir tablo hücresinin tek, ayrı bir veri parçası içermesi gerektiğini belirten veritabanı normalleştirme ilk ilkesi olan Birinci Normal Form’u ihlal eder. Ya da belki de 1NF’yi uygulamak için Carmen için ikinci bir kayıt eklemeye karar verdik:

Teacher_ID Öğretmen adı Ders
Öğretmen_001 Carmen Biyoloji
Öğretmen_001 Carmen Matematik
Öğretmen_002 Veronica Matematik
Öğretmen_003 Jorge ingilizce
Öğretmenler ve Kurslar
Bu hala zayıf bir tasarımdır, gereksiz çoğaltmaya neden olur ve ne denir veri ekleme anormallikleriBu sadece tutarsız verilere katkıda bulunabileceği anlamına gelir. Örneğin, bir öğretmenin birden fazla kaydı varsa, ya bazı verilerin düzenlenmesi gerekiyorsa, ancak veri düzenlemeyi yapan kişi birden fazla kaydın var olduğunun farkında değilse? Tablo daha sonra aynı kişi için, onu tanımlamanın veya ondan kaçınmanın net bir yolu olmadan farklı veriler içerecektir. Bu tabloyu Öğretmenler ve Kurslar olmak üzere iki tabloya ayırmak, veriler arasında doğru ilişkiyi oluşturur ve bu nedenle veri tutarlılığını ve doğruluğunu sağlamaya yardımcı olur. Lifewire’dan daha fazlası

  • İşadamları konuşuyor, konferans salonu toplantısında dizüstü bilgisayardaki verileri tartışıyor

    Veritabanı İlişkilerine Giriş

  • Masa başında çalışan veritabanı yöneticisi

    Belirleyiciler ve Veritabanındaki Rolleri

  • Sunucu odasına bakan kadın

    Bir Veritabanında Bire Çok İlişkiler

  • Bilgisayardaki veritabanı

    Bilgi Bütünlüğü Veritabanı Tutarlılığını Nasıl Sağlar?

  • Veritabanı ilişkilerini özetleyen kırmızı kalem grafiği

    Access’te Veritabanı İlişkileri Oluşturma

  • Bir veritabanını temsil eden bağlanan bilgisayar kodunun ve hatların dijital olarak yorumlanması

    Ortak Veritabanı Terimleri Sözlüğü

  • Bir veritabanını temsil eden 1'ler ve 0'lar

    Veritabanı Nedir?

  • Dijital tablet kullanan bir web tasarımcısının elleri

    Veritabanı Normalleştirmesinde Tam İşlevsel Bağımlılık

  • Yazılım geliştirme projesini yapan orta 20'li yılların sarışın siyah kadının yakın çekim yan görünümü.  Bir masaüstü bilgisayarın önünde oturuyor ve bilgisayarda çalışırken bir kahve yudumluyor.

    Boyce-Codd Normal Formu (BCNF) Nedir?

  • Ofiste çalışan bir iş adamı

    Birincil Anahtar Seçme

  • Bilgisayar ekranına bakan iki adam

    İlişkisel Veritabanlarında Yabancı Anahtarların Gücü

  • Sunucu odasında çalışan teknisyenlerin yüksek açılı görünümü

    Veritabanı Yönetimini Kolaylaştıran Temel Anahtarlar

  • Karanlık sınıfta bilgisayarda genç çocuk öğrenci programlama

    Yeni Başlayanlar İçin Veritabanları

  • Stilize veritabanı akış şeması

    Veritabanı Normalleştirme Temelleri

  • Dizüstü bilgisayar kullanan adam

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

  • Kırmızı ekose gömlek ve gözlük dizüstü bilgisayar programcısı

    Microsoft Access GROUP BY Query

Cankurtaran

Bizi takip edin

  • Facebook

  • Hakkımızda
  • Reklam Verin
  • Gizlilik Politikası
  • Çerez politikası
  • Kariyerler
  • Yazım Yönergeleri
  • İletişim
  • Kullanım Şartları
  • AB Gizliliği
  • California Gizlilik Bildirimi



Gizlilik Haklarınız

Lifewire ve üçüncü taraf ortaklarımız tanımlama bilgileri kullanır ve bir cihazda bilgi depolama ve / veya bu 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 global 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)