Hepsini tek tabloda tanımlamak yerine, parçalara bölmek çok daha sağlıklı olacaktır. Örneklendirecek olursak :
Üyeler Tablosu :
--------------------------------
uye_id | mail | password | sehir_id | uyelik_tipi
Şehirler Tablosu :
---------------------------------
sehir_id | sehir_adi
Üyelik Tipleri Tablosu :
--------------------------------
tip_id | tip_adi
Böyle bir yapıda üyeler tablosundaki sehir_id alanında, sehirler tablosunda bulunan kaydın id numarasını tutarız. uyelik_tipi içinde aynı şekilde.
Bunları sorgu ile çekerken join işlemi yapabiliriz.
SELECT
uyeler.id, uyeler.mail, sehirler.sehir_ad, tipler.tip_ad
FROM
uyeler
INNER JOIN
sehirler
ON
uyeler.sehir_id = sehirler.sehir_id
INNER JOIN
tipler
ON
uyeler.uyelik_tipi = tipler.tip_id