sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

Användning av ett ID i databaser

id fältet är ett exempel på en surrogatnyckel . Det är en bra idé att använda en surrogatnyckel som en primärnyckel i en databas eftersom den är helt orelaterade till och därför opåverkad av externa händelser i den verkliga världen.

Använda en naturlig nyckel som e-postadressen kan orsaka problem eftersom om en användare ändrar sin e-postadress måste din nyckel ändras. Detta kan skapa svårigheter eftersom det kommer att bryta utländska nyckelkontraint. Det kommer också att göra det svårare att söka efter händelser relaterade till en specifik användare över tid eftersom du inte har någon garanterad enskild nyckel som är konsekvent för den användarens hela historik.

Om du har mer än en databas i ditt företag som behöver nycklarna, eller om du exporterar data från din databas till andra applikationer eller system, då när du ändrar en nyckel i din databas kan du också behöva ändra nycklarna i dessa system, något vilket inte kan göras automatiskt med ON CASCADE UPDATE.



  1. SSMS utbyggbarhet/tillägg - få aktuell databas och server

  2. Vi är talare på EclipseCon Europe 2018

  3. phpmyadmin och främmande nycklar

  4. Skulle ta bort 'OPTIMIZE_FOR_SEQUENTIAL_KEY' lösa felet i min script.sql eller är det mer involverat (SQL Server Express DB -> SQL Server)?