Geniş Ekran Modu Otomatik Ekran Boyutu Font Boyutunu Azalt Font Boyutunu Azalt Font Boyutunu Normal Yap Yazdır

Veri Tabanında İlişki Türleri

Veri Tabanı İlişki Türleri

İlişkiler Nasıl Çalışır?

İlişkiler  genellikle, her iki tablonun aynı adlı alanları olan, anahtar alanlardaki verilerin eşleştirilmesiyle çalışır.(Ortak alan isimleri farklıda olabilir.) 

Çoğu durumda, bu eşleştirme alanları, bir tablodan her kayıt için benzersiz bir tanımlayıcı sunan Birincil Anahtar (PK) ve diğer tablodaki Yabancı Anahtar (FK) dır.

 İlişki Türleri

  • Bir-Çok İlişkisi
  • Çok-Çok İlişkisi
  • Bir-Bir İlişkisi

1)Bir-Çok İlişkisi (İlişkisel Veritabanı Tasarımı)

İlişkisel Veri Tabanlarında en çok kullanılan ilişki türü, Bir–Çok İlişkisi’dir. Bir–Çok İlişkisinde, “A” Tablosundaki bir kayıt, “B” tablosunda pek ÇOK eşleşen kayda sahiptir. Ancak “B” Tablosundaki kayıt, “A” Tablosunda yalnızca BİR eşleşen kayda sahiptir.

Örneğin;

Bir Yazar,

birden ÇOK kitap yazabilir.

ancak her kitabın yalnızca BİR Yazarı vardır.

Birden çoğa ilişkide bir tablodaki anahtar ilişkili olduğu tabloda birden çok kez olabilir.

Şekille gösterelim: Veri Tabanında İlişki Türleri

 

 

 

 

 

 

 

 

 

Yukarıdaki şekilde bir karikatürcünün birden fazla karikatüre sahip olabileceğini çıkartabiliriz. Çünkü Karikatür tablosunda ilişkili olduğu tablonun anahtarı bulunuyor (Foreign Key). Bu ilişki türü en çok karşılaşılan ilişki türüdür.

 

2) Çok – Çok İlişkisi (İlişkisel Veritabanı Tasarımı)

Çok–Çok İlişkisinde, “A” Tablosundaki bir kayıt, “B” tablosunda bulunan pek ÇOK kayıtla eşleşebilir. Ve “B” Tablosundaki bir kayıt, “A” Tablosunda bulunan pek ÇOK kayıtla eşleşebilir.

Bu tür bir ilişki, birincil anahtarın birden fazla alanı içerdiği, birleşme tablosu olarak adlandırılan, A ve B Tablolarından gelen yabancı anahtarların yer aldığı üçüncü bir tablonun tanımlanması koşuluyla mümkündür.

Çoktan çoğa ilişikiler karmaşıklığı nedeniyle veritabanında bir çok soruna neden oldur.

Soruna neden temek olarak şudur Bir tablodaki anahtar ilişkili olduğu tabloda birden çok kez olabilirken karşıtı da doğrudur.Bu yüzden istenilen ilişkiselliği sağlamak için ilişkiyi birden çoğa indirgemek gerekir. Yani araya fazladan bir tablo koyarak karmaşıklıktan kurtulmuş oluruz.

Örneğin;

Bir futbolcu birden fazla takımda oynayabilirken aynı takım birden fazla oyuncu oynatabilir olduğunu varsayalım.

Öncelikle Futbolcular ve Takımlar adında aşağıdaki şekildeki gibi iki tane tablo oluşturalım:

Veri Tabanında İlişki Türleri

 

 

 

 

 

 

 

 

 

 

 

 

Anahtarı ilişkisel olduğu tabloya Foreign Key ( Komşu Anahtar) ekleyerek çoktan çoğa ilişkiyi sağlamak düşünürseniz mümkün değil.Bu yüzden araya aşağıdaki gibi bir tablo ekleyelim:    Veri Tabanında İlişki Türleri

 

Böylece hedefi tam 12'den vuracak şekilde ilişkisel veritabanı tasarımını yapmış olduk.

Çoktan çoğa ilişkiyi birden çoğa indirgediğimiz için iki tane birden çoğa ilişki elde ettik yine bu sebepten iki tane FK (Foreign Key) ortaya çıktı. Dolayısıyla SQL sorgusu iki adet olacak. Birincisi bir futbolcunun oynadığı takımlar, ikicisi ise bir takımda oynayan futbolcular olacak.

 

3)Bir-Bir İlişkisi (İlişkisel Veritabanı Tasarımı)

Bir-Bir İlişkisi'nde, Tablo A'da Tablo B'deki her kayıtla eşleşen yalnızca BİR kayıt ve Tablo B'de Tablo A'daki her kayıtla eşleşen sadece BİR kayıt olabilir.

Bu şekilde ilişkili olan çoğu bilgi tek bir tabloda olacağından, bu tür ilişki yaygın değildir. Güvenlik nedenleriyle tablonun bir bölümünü yalıtmak veya ana tablonun yalnızca bir alt kümesiyle ilgili bilgileri saklamak üzere, birçok alan içeren bir tabloyu bölmek için Bir-Bir İlişkisi kullanabilirsiniz.

Örneğin;

Fon toplamak amacıyla oynanan bir futbol oyununa katılan Çalışanların bilgilerini izlemek için bir Tablo oluşturmak isteyebilirsiniz. Çalışanlar Tablosunda, Futbolcular Tablosundaki her futbolcuyla eşleşen bir kayıt vardır.

Çalışanlar Tablosunda her Futbolcuyla eşleşen BİR kayıt vardır. 

Bu değer kümesi, ÇalışanNo alanının ve Çalışanlar Tablosu-nun bir alt kümesidir.

Kural basitir ; tablodaki anahtar ilişkili tabloda sadece bir tane olabilir.

 Veri Tabanında İlişki Türleri

 

 

 

 

 

 

 

 

 

 

Yukarıdaki şekilde öğrenciler ve Liseler adında iki tablo var. Öğrencinin mezun olduğu lise bir tane olacağını düşünürsek şekildeki ilişki türü buna uygundur. Öğrenciler tablosundaki Mezun_Lise_Id alanı ile ilişkili tabloyla alakalı Lise_Id alanı eşleştirilerek ilişki sağlanmış olunuyor.

 

Kaynaklar

Seda Sözer

 

 

09 Kasım 2009, Pazartesi
Bu içerikle ilgili henüz herhangi bir yorum yapılmamıştır.
Yorumunuz
İsminiz
Emailiniz
Resiminiz (En Fazla 2MB)
Güvenlik Metni

Veri Tabanı56

18 Ocak 2010, Pazartesi
Veritabanı Nedir?
Veritabanının nedir? bileşenleri nelerdir?
Detaylar...
21 Aralık 2009, Pazartesi
Veri Tabanlarında İlişki Türleri
Veri tabanlarında ilişki türleri
Detaylar...
09 Kasım 2009, Pazartesi
Veri Tabanlarında Anahtar Kavramı Birincil Ve İkin...
Veri tabanlarında anahtar kavramı birincil ve ikincil anahtar
Detaylar...
09 Kasım 2009, Pazartesi
Veri Tabanlarında Anahtar Kavramı Birincil Ve İkin...
Veri tabanlarında anahtar kavramı birincil ve ikincil anahtar
Detaylar...
09 Kasım 2009, Pazartesi
Veri Tabanlarında İlişki
Detaylar...
09 Kasım 2009, Pazartesi
Veritabanlarında İlişki Türleri
1 e 1, 1 e n, n e n
Detaylar...
09 Kasım 2009, Pazartesi
Veritabanlarında İlişki Türleri
Veritabanlarında bulunan ilişki türleri.
Detaylar...
09 Kasım 2009, Pazartesi
Veri Tabanlarında Anahtar Kavramı Birincil Ve İkin...
Veri tabanlarında anahtar kavramı birincil ve ikincil anahtar
Detaylar...
26 Ekim 2009, Pazartesi
Veri Tabanlarının Karşılaştırılması
Veri tabanlarının karşılaştırma tablosu
Detaylar...
19 Ekim 2009, Pazartesi
Postgresqlin Özellikleri
Postgresql nedir?postgresqlin tarihçesi?postgresqlin özellikleri nelerdir?
Detaylar...
19 Ekim 2009, Pazartesi
Veritabanı Nedir?
Veritabanı hakkında bilgi
Detaylar...
12 Ekim 2009, Pazartesi
Veri Tabanları Karşılaştırması
Veri tabanlarının özellikleri
Detaylar...
12 Ekim 2009, Pazartesi
Veri Tabanları Karşılaştırması
Bir çok veritabanının bazı kriterlerde karşılaştırılması..
Detaylar...
12 Ekim 2009, Pazartesi
Veri Tabanı Karşılaştırması
En çok tercih edilen veri tabanlarının karşılaştırılması.
Detaylar...
12 Ekim 2009, Pazartesi
Veritabanı Nedir
Veritabani basit olarak bilgi depolayan bir yazilimdir. Birçok yazilim bilgi depolayabilir ama arada...
Detaylar...
05 Mart 2009, Perşembe
HAVING kullanımı
Detaylar...
04 Ocak 2009, Pazar
Order By ve Limit Kullanımı
Order By ve Limit komutlarının kullanım şekilleri ve görevleri
Detaylar...
26 Mayıs 2008, Pazartesi
Joinler
Joinler, inner join, left join, right join
Detaylar...
26 Mayıs 2008, Pazartesi
Getdate(), Now(), Chr(), Replace()
Sql fonksiyonları getdate, now, chr, replace
Detaylar...
26 Mayıs 2008, Pazartesi
Insert, Delete, Update
Insert, insert ile başka tablodan kayıt almak, delete, update
Detaylar...
12 Mayıs 2008, Pazartesi
Join İşlemleri
İlişkisel veritabanının en temelinde birden fazla tablo üstünde birlikte işlem yapabilmek yatar. Bu ...
Detaylar...
12 Mayıs 2008, Pazartesi
Sql Uygulaması
Detaylar...
12 Mayıs 2008, Pazartesi
Fonksiyonlar, Count,sum, Avg, Max, Min, Lower, Upp...
Fonksiyonlar, count, sum, avg, max, min, lower, upper, length, round, mod, left, right, concat, if
Detaylar...
12 Mayıs 2008, Pazartesi
Like Joker Karakterler, Is [not] Null, Order By, G...
Like joker karakterler, ıs [not] null, order by, group by, as
Detaylar...
12 Mayıs 2008, Pazartesi
Like Joker Karakterler, Order By, Group By
Like joker karakterler, order by, group by
Detaylar...
12 Mayıs 2008, Pazartesi
Sql Fonksıyonlar, Count, Sum, Avg, Max, Mın, Lower...
Sql fonksıyonlar, count, sum, avg, max, mın, lower, upper, length, round, mod, left, right, concat, ...
Detaylar...
12 Mayıs 2008, Pazartesi
Count, Sum, Avg, Max, Mın, Lower, Upper, Length, R...
Fonksiyonların anlatımı
Detaylar...
12 Mayıs 2008, Pazartesi
Fonksiyonlar, Count, Sum, Avg, Max, Mın, Lower, Up...
Sql kendi içinde bir cok fonksiyonu barındırır, bunlar sayım ve hesaplama için kullanılabilir.
Detaylar...
  • 1
  • 2

Ödev Gönder | İncelenmeyi Bekleyen Ödevler | Uygulama Resimleri | Uygulama Resmi Gönder | İnternet Üzerinden Sınav | Test Sorusu Gönder | Sınıf Karneleri | Anketler | Linkler
www.dijitalders.com

bilgidijitalders.com
Bu sayfalar en iyi 1024 x 768 ekran çözünürlüğünde görüntülenir.
Site içerikleri, site kullanıcıları tarafından yollanan içeriklerdir. Her hangi bir içeriğin lisanslı yahut şahsınıza ait olduğunu tarafımıza iletirseniz gerekli düzenlemeyi yapacağız. Kullanılan içerikler, siteyi kullanan öğrenciler ve araştırmacılar için kolaylık sağlamak amacıyla oluşturulmuştur.
Sayfada HATA! Olduğunu Düşünüyorsanız | Sık Kullanılanlara Ekle | dijitalders.com'u Ana Sayfam Yap | Web Tasarımcıya e-Posta
Bu site 150,591 kişi tarafından ziyaret edilmiştir.