Çoka Çok İliskili Tablolara Veri Ekleme Usulü

1 2
16/09/2020, 08:21

tarkanaykın

merhaba arkadaşlar,  bu konuda intte araştırma yaptım lakin efektif bir bilgiye ulaşamadım. A ve B tablolarının var ve bir de bu iki tablo arasında çoka çok iliskiyi belirleyen ara tablomuz var. Tabloların tümü boş, öğrenmek istediğim şey şu; önce A tablomu doldurdum diyelim, B tablosunu doldurduktan sonra ayrı bir sql hamlesi ile mi ara tabloyu doldurmam gerekiyor yoksa A tablosuyla ayni anda ara tabloyu mu doldurmaliyim ya da son seçenek;  bu üç tabloyu tek form ile ayni anda mı doldurmaliyim?  Yardımlarınız için şimdiden teşekkürler,  iyi çalışmalar
16/09/2020, 09:49

berduş

Daha somut, örnekli bir açıklama soruyu anlamamızı kolaylaştırıldı ama genel bir açıklama için aşağıdaki varsayımı kullanalım:
Şöyle düşünelim diyelim ki kütüphane isletiyorsunuz
1 - kitap tablosu
2 - üye tablosu ve
3 - ödünç kitap tablonuz olsun
Bu durumda Üye-Kitap ilişkisi 3. tablo aracılığıyla sağlanır
Boyle bir yapıda her ilişkili kayıt tek tek form yada tablo üzerinden eklenebilir, 3 tablonun tek bir sorguyla doldurulabilmesi için farklı tablolarda tanımlanmış ayrı ilişkilerin yada ilişkiyi tanımlayan ayrı bir algoritmanın daha olması gerekir
16/09/2020, 13:52

tarkanaykın

Teşekkürler, yalnız ben en iyisi tablolarimi oluşturup ekte sunayım, öyle daha iyi olur, şu an bilgisayarım tamirde, iki saate hallederim, tekrar teşekkür ediyorum.
17/09/2020, 14:44

tarkanaykın

daha önceden sayın berduş'un bu konuyla ilgili bana önerdiği  kodları var (altta yer alan..) sanırım sorumun cevabı bu kodları asıl form, ana formdaki veri ekleme kodlarıyla harmanlayıp yorumlamakta, çok teşekkürler.
 
bu kod, çoka çok ilişkili tablolardaki ara tabloda, çoka çok ilişkiye göre "departman" bazında ekleme yapan kod, sayın berduş a çok teşekkürler.


 "INSERT INTO egitimler_kisiler ( kisi_id, egitim_id )
SELECT kisiler.kisi_id, egitimler.egitim_id
FROM egitimler INNER JOIN kisiler ON egitimler.departman = kisiler.departman"
17/09/2020, 14:55

berduş

iyi çalışmalar)
18/09/2020, 16:03

tarkanaykın

Değerli arkadaşlar, kısa ve öz... int üzerinde çook araştırdım Türkçe sayfalarda bu konu ile ilgili kesinlikle bilgi yok gibi, yabancı sitelerde var ama onlar da çok ekstrem örneklerle çözmüşler bu sorunu, bilmem bana çok yabancı geldi çözüm yolları.. neyse birbiri ile çoka çok ilişkili iki tablo var; "eğitimler" ve "kişiler". bir de bunların çoka çok ilişkisini sağlayan "eğitim-kisi" tablosu var. öğrenmek istediğim önce şu; bu tür ilişkili tablolarda veri ekleme önce ana tablolara yapılıp sonra mı ilişki tablosunda bunların ilişkileri sağlanır yoksa, aynı anda hem ilişki tablosunda ilişki belirlernir  hem de diğer ana tablolara kayıt yapılır mı, yapılırsa bunların ekleme sorgusu nasıl olmalıdır?  aslında ben tam olarak şunu istiyorum; önce "eğitimler" tabloma eğitimlerimi bi ekleyeyim, sonra "kişiler" tablosuna her kişi eklediğimde o an eğitimle olan ilişkisini de belirleyip o "ara" tabloya da kaydedeyim, eğer bu soruna çözüm bulabilirsek inanıyorum ki çoğu kişinin işine yarayacak, değerli tecrübeli arkadaşlar, anlatabildiysem çözüm önerilerinizi rica edebilir miyim? teşekkürler. dosyam ekte...

çok teşekkürler sayın berduş, dediğinizi yaparım, bir de (bu arada boş durmuyorum) alternatif olabilecek bir şey düşündüm 

DLast() fonksiyonu ile aldığım değeri SELECT in hemen önüne yazıyorum ki o değeri "kisiler_egitimler" tablosundaki ilgili alana yani "kisi_id" alanına atsın ama sıkıntı var, eğer ki bu konudaki çözümünüzü yaparsam bir haftadır aradığım soruya cevap bulmuş olacağım, bi bakabilir misiniz? dosya ekte...
1 2