sql >> Databasteknik >  >> RDS >> Mysql

Två tabeller med samma kolumner eller en tabell med ytterligare kolumn?

Beror på begränsningar:

  • Har du främmande nycklar eller kontroller på apples som inte finns på oranges (eller vice versa)?
  • Behöver du hålla nycklar unika för båda tabellerna (så inget apple). kan ha samma ID som vissa orange )?

Om svaren på dessa två frågor är:"ja" och "nej" , håll tabellerna åtskilda (så att begränsningar kan göras tabellspecifika).

Om svaren är:"nej" och "ja" , slå ihop dem (så att du kan skapa en nyckel som sträcker sig över båda).

Om svaren är:"ja" och "ja" , överväg att emulera arv:

Sökdata är ett typiskt exempel på tabeller som ser likadana ut, men som ändå måste hållas åtskilda så att FK:er kan hållas åtskilda.

Specifikt är detta strategin "alla klasser i separata tabeller" för att representera arv (aka. kategori, underklassning, undertypning, generaliseringshierarki etc.). Du kanske vill ta en titt på det här inlägget för mer information.



  1. Hur hanterar man valfria parametrar i SQL-fråga?

  2. Analysera PostgreSQL-tabellstatistik

  3. Anslutningssträngsparametrar för Excel-datakällor

  4. Dynamisk rullgardinslista för olika länder, stater, geografiska platser?