Sqlite3 2 farklı tablo arasındaki ilişki

self.cur.execute("""CREATE TABLE IF NOT EXISTS rehber(id INTEGER PRIMARY KEY, Ad TEXT, Soyad TEXT, 
        TCKN TEXT, Anne TEXT, Baba TEXT, DYeri TEXT, Dtarihi TEXT, Telefon TEXT, Meslek TEXT, Fotograf TEXT)""")
        self.conn.commit()

bu rehber kısmının sqlite3 tablo oluşturma kodu, harcama listesininkini nasıl yazmalıyım ki birbiri ile ilişkisel olsun. Her harcamanın rehberdeki kişilerle ilgisi yok ama bazı işlemler rehberde kayıtlı kişilerle, butona tıkladığımda o kişi ile ilgili bir mali işlem varsa onu göreyim. Diğer taraftan mali işlemlerde Kime kısmındaki kişiye ait rehber bilgilerine ulaşayım, buton oluşturacağım onun içinde.

Bu sorunun çözümü harcamalar için FOREIGN KEY kullanmak mı yoksa , yoksa veri çekerken JOIN ile mi işlem yapmak, Yada ilave bir entry ile rehber kişisinin id sinin yazılacağı bir yer mi oluşturmak karar veremedim. Konu hakkında fikir ve düşüncelerinizi bekliyorum. Saygılarımla…

harcamalara tek bir kişi ekleyeceksen (one-many) harcamalarda foreignkey oluşturmak; rehbere de harcamaları filtreleyen bir sorgu eklemek mantıklı görünüyor. bir harcama birden fazla kişi ile alakalı olabilecekse (many-many) ayrı bir tablo yapman gerekir.