sql >> Database >  >> RDS >> Sqlserver

Betekenis van primaire sleutel tot Microsoft SQL Server 2008

Over het algemeen is een KEY een kolom (of combinatie van kolommen) die elke rij in de tabel op unieke wijze identificeert. Het is mogelijk om meerdere KEY's in een tabel te hebben (u hebt bijvoorbeeld een Person tabel waarin zowel het burgerservicenummer als een automatisch oplopend nummer beide SLEUTEL zijn).

De databaseontwerper kiest één van deze SLEUTELS om de PRIMAIRE SLEUTEL te zijn. Conceptueel maakt het niet uit welke SLEUTEL wordt gekozen als PRIMAIRE SLEUTEL. Omdat de PRIMAIRE SLEUTEL echter meestal wordt gebruikt om te verwijzen naar items in deze tabel uit andere tabellen (via BUITENLANDSE SLEUTELS), kan het kiezen van een goede PRIMAIRE SLEUTEL relevant zijn tov. (a) prestaties en (b) onderhoudbaarheid :

(a) Aangezien de primaire sleutel meestal wordt gebruikt in JOIN's, is de index op de primaire sleutel (zijn grootte, distributie, ...) veel relevanter voor de prestaties dan andere indexen.

(b) Aangezien de primaire sleutel in andere tabellen als externe sleutel wordt gebruikt, veranderen de waarde van de primaire sleutel is altijd een gedoe, omdat alle externe sleutelwaarden in de andere tabellen ook moeten worden gewijzigd.



  1. Ik begrijp niet waarom mijn group by faalt

  2. Gemakkelijke manier om het retourtype SETOF-tabel plus extra velden te hebben?

  3. mySQL str_to_date() functie retourneert fout

  4. Een extreem grote tafel normaliseren