Skip to content

Bir Veritabanında Bire Çok İlişkiler

7 de Mayıs de 2021

Bir veritabanındaki bire çok ilişkisi, Tablo A’daki her kayıt, Tablo B’de birçok bağlantılı kayda sahip olduğunda oluşur, ancak Tablo B’deki her kayıt, Tablo A’da yalnızca bir karşılık gelen kayda sahip olabilir. bir veritabanı, en yaygın ilişkisel veritabanı tasarımıdır ve iyi tasarımın merkezinde yer alır.

Erik Isakson / Getty Images
Bir öğretmen ile öğrettiği dersler arasındaki ilişkiyi düşünün. Bir öğretmen birden fazla ders verebilir, ancak dersin öğretmenle aynı ilişkisi olmayacaktır. Bu nedenle, Öğretmenler tablosundaki her kayıt için Kurslar tablosunda birçok kayıt olabilir. Bu bire çok bir ilişkidir: bir öğretmenden birden çok derse.

Bire Çoğa İlişki Kurmak Neden Önemlidir?

Bire çok ilişkisini temsil etmek için en az iki tabloya ihtiyacınız vardır. Bakalım neden. Belki de adı ve öğretilen dersleri kaydetmek istediğimiz bir tablo oluşturduk. Şöyle tasarlayabiliriz:

Teacher_ID Öğretmen adı Ders
Öğretmen_001 Carmen Biyoloji
Öğretmen_002 Veronica Matematik
Öğretmen_003 Jorge ingilizce
Öğretmenler ve Kurslar
Ya Carmen iki veya daha fazla ders verirse? Bu tasarımla iki seçeneğimiz var. Bunu Carmen’in mevcut kaydına şu şekilde ekleyebiliriz:

Teacher_ID Öğretmen_Name Ders
Öğretmen_001 Carmen Biyoloji, Matematik
Öğretmen_002 Veronica Matematik
Öğretmen_003 Jorge ingilizce
Öğretmenler ve Kurslar
Ancak yukarıdaki tasarım esnek değildir ve daha sonra veri eklemeye, düzenlemeye veya silmeye çalışırken sorunlara yol açabilir. Veri aramayı zorlaştırır. Bu tasarım, her bir tablo hücresinin tek ve ayrı bir veri parçası içermesi gerektiğini belirten veritabanı normalleştirme ilk ilkesi olan Birinci Normal Form’u (1NF) ihlal eder. Başka bir tasarım alternatifi de Carmen için ikinci bir kayıt eklemek olabilir:

Öğretmen_İD Öğretmen_Name Ders
Öğretmen_001 Carmen Biyoloji
Öğretmen_001 Carmen Matematik
Öğretmen_002 Veronica Matematik
Öğretmen_003 Jorge ingilizce
Öğretmenler ve Kurslar
Bu, 1NF’ye bağlıdır, ancak yine de zayıf veritabanı tasarımıdır çünkü fazlalık sağlar ve çok büyük bir veritabanını gereksiz yere şişirebilir. Daha da önemlisi, veriler tutarsız hale gelebilir. Örneğin, ya Carmen’in adı değişirse? Verilerle çalışan biri, adını bir kayıtta güncelleyebilir ve ikinci kayıtta güncellemede başarısız olabilir. Bu tasarım, 1NF’ye uyan ve aynı zamanda veri alt kümelerini birden çok tabloya ayırarak ve bunlar arasında bir ilişki oluşturarak birden çok kaydın fazlalıklarından kaçınması gereken İkinci Normal Formu (2NF) ihlal eder.

Bire Çoğa İlişkilerle Bir Veritabanı Nasıl Tasarlanır

Öğretmenler ve Kurslar tablosunda bire çok ilişkisi uygulamak için tabloları ikiye böler ve bir yabancı anahtar kullanarak birbirine bağlarız. Burada, Öğretmenler tablosundaki Kurs sütununu kaldırdık:

Öğretmen_İD Öğretmen_Name
Öğretmen_001 Carmen
Öğretmen_002 Veronica
Öğretmen_003 Jorge
Öğretmenler
Ve işte Kurslar tablosu. Yabancı anahtarı Teacher_ID’nin, bir dersi Öğretmenler tablosundaki bir öğretmene bağladığını unutmayın:

Kurs kimliği Ders_Adı Teacher_ID
Ders_001 Biyoloji Öğretmen_001
Ders_002 Matematik Öğretmen_001
Ders_003 ingilizce Öğretmen_003
Dersler
Yabancı bir anahtar kullanarak Öğretmenler ve Kurslar tablosu arasında bir ilişki geliştirdik. Bu bize hem Biyolojinin hem de Matematiğin Carmen tarafından öğretildiğini ve Jorge’nin İngilizce öğrettiğini söylüyor. Bu tasarımın olası fazlalıkları nasıl önlediğini, bireysel öğretmenlerin birden fazla ders vermesine izin verdiğini ve bire çok ilişkisini nasıl uyguladığını görebiliriz. Veritabanları ayrıca bire bir ilişki ve çoka çok ilişki uygulayabilir. Lifewire’dan daha fazlası

  • Bilgisayar ekranındaki bir çizelge.

    Veritabanı İlişkileri

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

    Ortak Veritabanı Terimleri Sözlüğü

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

    Veritabanı İlişkilerine Giriş

  • Dizüstü bilgisayar kullanan adam

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

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

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

  • Stilize veritabanı akış şeması

    Veritabanı Normalleştirme Temelleri

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

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

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

    Birincil Anahtar Seçme

  • Ev ofis masasında dizüstü bilgisayar kullanan adam

    Veritabanını Üçüncü Normal Biçime (3NF) Koyma

  • 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

  • Varlık ilişki diyagramı

    Varlık ilişki diyagramı

  • Elini açık tutan kadın eli, üzerinde resimli ağ bağlantısı ile

    Veritabanı Tasarımında Birden Çok Değerli Bağımlılık

  • Excel'de ROUNDUP işlevini kullanmak zaman kazandırır.

    Excel’de Veritabanı Nasıl Oluşturulur

  • Bilgisayardaki veritabanı

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

  • Yazılım geliştirme projesini yapan orta 20'li yılların sarışın zenci kadının yakın plan 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?

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, 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)