sql >> Databáze >  >> RDS >> Sqlserver

Jaký je osvědčený postup pro primární klíče v tabulkách?

Dodržuji několik pravidel:

  1. Primární klíče by měly být tak malé, jak je potřeba. Preferujte číselný typ, protože číselné typy jsou uloženy v mnohem kompaktnějším formátu než znakové formáty. Důvodem je, že většina primárních klíčů bude cizími klíči v jiné tabulce a také použitými ve více indexech. Čím menší klíč, tím menší index, tím méně stránek v mezipaměti použijete.
  2. Primární klíče by se nikdy neměly měnit. Aktualizace primárního klíče by měla být vždy vyloučena. Je to proto, že se s největší pravděpodobností použije ve více indexech a použije se jako cizí klíč. Aktualizace jednoho primárního klíče by mohla způsobit dominový efekt změn.
  3. NEPOUŽÍVEJTE „primární klíč vašeho problému“ jako primární klíč logického modelu. Například číslo pasu, číslo sociálního pojištění nebo číslo zaměstnanecké smlouvy, protože tyto „přirozené klíče“ se mohou v situacích reálného světa měnit. Ujistěte se, že jste pro ně přidali UNIKÁTNÍ omezení tam, kde je to nutné, abyste zajistili konzistenci.

Pokud jde o náhradní vs přirozený klíč, odkazuji na výše uvedená pravidla. Pokud je přirozený klíč malý a nikdy se nezmění, lze jej použít jako primární klíč. Pokud je přirozený klíč velký nebo se pravděpodobně změní, používám náhradní klíče. Pokud neexistuje žádný primární klíč, stále vytvořím náhradní klíč, protože zkušenost ukazuje, že do schématu budete vždy přidávat tabulky a přejete si, abyste zavedli primární klíč.



  1. Pro víceřádkový dotaz použijte \copy psql

  2. Vložení více řádků do mysql

  3. Zaručuje UNION ALL pořadí výsledné sady

  4. Vytvoření databáze studentů pomocí Microsoft Access