sql >> Databasteknik >  >> RDS >> Mysql

Bästa sättet med relationstabeller

Så som du har det är det mest optimala när det gäller tidsbrist. Visst, det tar mer utrymme, men det är en del av space-time tradeoff – Vill du vara snabbare använder du mer utrymme; om du vill använda mindre utrymme går det långsammare (i genomsnitt).

Tänk också på framtiden. Just nu väljer du förmodligen länder för varje användare, men vänta bara. Tack vare räckviddskrypningens magi kommer din applikation en dag att behöva välja alla användare i ett visst land, vid vilken tidpunkt att skanna varje användares "LAND"-fält för att hitta matchningar kommer att gå otroligt långsamt, i motsats till att bara gå baklänges genom USER_COUNTRY_REL tabell som du kan göra nu.

I allmänhet, för en 1-till-1 eller 1-till-många korrelation, kan du länka med främmande nyckel. För en många-till-många-korrelation vill du ha en relationstabell mellan de två. Det här scenariot är ett många-till-många-förhållande, eftersom varje användare har flera länder och varje land har flera användare.



  1. CHR() Funktion i Oracle

  2. Hämta värden från databasen med PHP PDO och uppdatera indata till kontrollerad

  3. Välj från en tabell med hjälp av en referens från en länkad tabell (Gå med i en Join?)

  4. Gå med i ett bord för sig själv i Oracle