SQL de relatıons olayını bir türlü anlamıyorum , daaha doğrusu id ve ilişkilendirme kısmı kasıyyor ve dolayısıyla devamınını da getiremiyorum, yanıtlayan arkadaslara şimdiden teşekkürler
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
Öncelikle tablolar arası ilişkilendirmeleri yaparken, primary key ve foreign key isimli iki anahtarı kullanırız.
Primary Key: Bu anahtar tablodaki verilerin ID si, yani onları eşsiz kılan özellik. (Örneğin Okuldaki öğrencinin numarası, TC kimlik numarası, Elektrik Sayac numarası gibi)
Yukarıda öğrencilerin olduğu bir tablo var ve Pirmary Key Olarak OGRNO (Öğrenci Nosu) var. Öğrenci no sadece bir tane olabilir yani osman harici bir başka kişinin ögrenci numarası 53 olamaz. Bu demek oluyor ki biz öğrencileri ayırmak için primary key olarak OGRNO yu kullanabiliriz. Gelelim Foreign Key'e;
Yukarıdaki tabloda, her dersin kodu ve bu derslerden ögrencilerin hangi notları aldığı yazıyor. Bu kısımda Primary keyimizi DERSNO, bir den fazla aynı DERSNO'lu ders olamayacağından dolayı, bu şekilde bir alan ile derslerimizi ve bunu alan ögrencilerin notlarını bu tablo üzerinde ayırmış oluyoruz. Bu tabloda bir adet daha anahtarımız var o da Foreign Key. Foreign key olan anahtar TALEBE isimli değerimiz. Bu değer dikkat ettiysen ilk tablodaki OGRNO'muz (Genellikle Foreign Keyler diğer tabloların primary keyleri ile eşleştirilir.).Foreign key deki amaç direk olarak ilişkilendirmeyi kurmaktır. Bir tablo içerisinde birden fazla aynı foreign key olabilir. Yukarıdaki Dersler tablosunda dikkat edersen, 27 numaralı ögrenci iki defa kullanılmıştır. Nedeni 1 ögrenci birden fazla ders alabilir. Ama primary key sadece 1 tanedir ve tekrarı olmaz. Foreign key kullanırkenki amacım; ben dersler tablosunda matematikten 90 alan ögrencinin ismini ve soyismini öğrenmek istediğimde. Ögrenci tablosundan bana bu değeri getirebilecek veriyi bulmak. Sonuç olarak sorgularda OGRENCİ tablosu ile DERSLER tablosu arasında baglantı kurmamı sağlayacak olan TALEBE değeridir.
Matematiği 90 olan kişi;
Select ADI,SOYADI,DERSADI,YAZILI from OGRENCI,DERSLER Where DERSNO='1' AND YAZILI='90' AND OGRNO=TALEBE
Arkadaş güzel anlatmış. Sadece ID ilişkilendirmesinde kullanmazsın ilişkiyi.Aynı tabloda çok farklı sütunlarda kullanablirsin. View kullanmında olmazsa olmazlardan ilişkiler.
SQL de relatıons olayını bir türlü anlamıyorum , daaha doğrusu id ve ilişkilendirme kısmı kasıyyor ve dolayısıyla devamınını da getiremiyorum,
yanıtlayan arkadaslara şimdiden teşekkürler
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.