5.1 BİRE-BİR İLİŞKİ
Bir
tablodaki bir kaydin diğer tablodaki bir kaydi
göstermesidir. Kayıtlar birebir eşleşir.
Bu örnek üzerinde ;
Her
filmin bir imdb
puanı vardır. Bir filmde birden fazla imdb olmaz .Her imdb
puanı da bir filme aittir. Bu durumda movie tablosu ile imdb
tablosu ile bire bir ilişkilidir.
5.2 BİRE- ÇOK İLİŞKİ
Bir tablodaki bir kaydın diğer tablodaki
birden çok kaydı göstermesidir. Bu örnek üzerinde;
Her filmin bir gösterim yılı vardır. Bir film
birden fazla yılda gösterilmez. Yıl tablosu tarafından bakarsak da bir yılda
birden fazla film gösterilebilir. Örneğin 2017 de 20 tane film gösterime
girebilir. Fakat bir film sadece 2017
gibi bir yılda gösterime girer. Bir filmin hem 2017 hem 2016 hem 2015 de
gösterime giremez.
5.3 ÇOKA ÇOK İLİŞKİ
Bir tablodaki bir kaydın diğer tablodaki
birden çok kaydı göstermesi aynı zamanda , diğer tablodaki bir kaydında ilk
tablomuzda birden çok kayda denk gelmesir. Bu örnek üzerinde;
Film ve kategori tablolarını düşünecek
olursak, her filmin birden fazla kategorisi vardır. Örneğin; ‘ben efsaneyim’
filmi hem fantastik , hem macera, hem de bilim kurgu kategorisine sahip
olabilir. Aynı zamanda her kategoride de
birden fazla film eklenebilir. Örneğin: fantastik kategorisinde, ‘harry
potter’, ‘yuzuklerin efendisi’, ‘zamana karşı’ gibi
filmler eklenebilir. Kategori ve film arasında çift yönlü , birden fazla kayda
karşılık gelir.
Access
tarafında ilişkiler nasıl oluşturulur?
1-
Öncelikle tablolarınızı oluşturun.
2-Veritabanı
Araçlarından ilişkileri seçin
3.
İlişki türlerinin yönünü belirleyin
3.1 Bire bir ilişki: Önemli tablodan(en sık kullanılan
tablodan) , daha az önemli tabloya (az kullanılan) tabloya doğrudur. İlişkinin
başlangıcı önemli tablo, bitişi önemsiz tablodur. Foreign key
her zaman ilişkinin bittiği tablodadır.(Yolun sonunda). Önemsiz olan tabloya önemli olan
tablonun Primary keyini, foreign key olarak ekleriz
3.2 Bire Çok ilişki: sorduğunuz sorulardan birinin evet
diğerinin hayır olduğu iki tablo arasında evet yanıtını veren ilişkinin
başlangıcıdır. Hayır yanıtını veren ilişkinin sonudur. Foreign keyi hayır cevabı verdiğiniz(yolun
sonundaki) tabloya eklersiniz.
3.3.
Çoka
Çok: sorduğunuz sorulardan her ikisinindede evet cevabı alıyorsanız araya
bağlantı tablosu oluşturmalısınız. Adı : tbl_birincitabloadiToİkincitabloadi standardına uygun olmalı. Her iki tablonunda primary keyini bu ara tabloya foreign key olarak eklersiniz
4. Tüm
tablolara eklememiz gereken foreign keyi ekleyin
Not: Eklediğiniz
foreign key alanı sayı turunde olmalı ve alan boyutuda Uzun Tamsayı olmalı. Çunku
primary key alanının alan turu uzun tamsayısır. Derste aldığınız veri uyuşmuyor
hatası bu nedenledir.
5. Birebir ilişki
Benzersiz alanı sadece bire bir ilişkideki foreign key alanına yapıyoruz. Diğer
ilişkilerde benzersiz yapmıyoruz!
veritabanı sekmesinden ilişkileri seçin
6. Bire Çok Oluşturun
7. Coka çok ilişki oluşturma
Çoka çok ilişkilerde araya bir ara tablo oluşturmamız gerekiyor
ilişkiler ekranını açıp sağ tıklayarak oluşturduğumuz tabloyu alalım
Bire
çok ilişkideki gibi primary key alanlarını ara tablodaki foreign key alanına sürükleyip bırakıyoruz
8. İlişkiler
ekranı son durumBAŞKA BİR VERİTABANININ İLİŞKİLERİNİ YORUMLAYALIM
Tabloya
baktığımızda bir proje firmasındaki çalışan muhendisler,
bağlı oldukları departman yada uzmanlık alanları ile mühendislerin maaş bilgilerinin tutulduğu ve o firmanın ürettiği
projelerin tutulduğu veri tabanı
olduğunu anlayabiliriz. Peki hangi tablo hangisiyle nasıl bağlanacak.
Engineer
ve ssk
tablolarına bakarsak : bir mühendisin
bir adet sigorta bilgisi olur. Bir ssk bilgisi ise bir kişiye aittir. Bu
nedenle mühendis ile ssk arasında bire-bir ilişki
vardır.
Engineer ile section tablolarına bakarsak: bir mühendis
birden fazla departmana yada uzmanlık alanına sahip olabilirmi? Günlük hayatta istisna vardır
belki ama şirketler her bir mühendisi
bir uzmanlık alanında çalıştırır. Bu nedenle bir mühendis bir bölüme aittir.
Örneğin bir mühendis aynı anda hem yazılımcı hem inşaat alanında mühendisliği
olamaz. Bolum tablosu tarafından
bakarsak, bir bölümde birden fazla mühendis olabilir mi? örneğin bir yazılım depertmanında 3 adet bilgisayar mühendisi
çalıştırabilir. Bu nedenle bu iki tablo
arasında bire çok ilişki türü vardır.
Project
ile Engineer tablolarına bakarsak: Bir mühendis
birden fazla projede çalışabilirmi?, bir projede birden fazla
mühendis çalışabilir mi? burada her iki sorunun cevabı evet ise bu tablolar
arasında çoka
çok ilişki türü vardır
Hiç yorum yok:
Yorum Gönder