sql >> Databasteknik >  >> RDS >> Mysql

Hur man upprätthåller unika över flera tabeller

Du har rätt - #1 är det bästa alternativet.
Visst, jag skulle ifrågasätta det vid första anblicken (på grund av genvägar) men att känna till affärsregeln för att säkerställa att en anställd bara är relaterad till ett företag - det är vettigt.

Dessutom skulle jag ha en främmande nyckel som relaterar företagets ID i tabellen för anställda till företagets ID i kontorstabellen. Annars låter du en anställd vara närstående till ett företag utan kontor. Om det inte är acceptabelt...

Triggers är en sista utväg om förhållandet inte kan påvisas i datamodellen, och service av logiken från applikationen innebär att logiken är centraliserad - det finns ingen möjlighet för dålig data att uppstå, om inte någon släpper begränsningar (vilket betyder att du har större problem ).



  1. En lösning för att DATEDIFF() ignorerar SET DATEFIRST i SQL Server (T-SQL-exempel)

  2. Varning:mysql_result() [function.mysql-result]:Det går inte att hoppa till rad 0 på MySQL resultatindex 5 i profile.php på rad 11

  3. java.lang.AbstractMethodError:com.mysql.jdbc.Connection.isValid(I)Z

  4. infoga i tabellen välj max(kolumnnamn)+1