..


Link-uri sponsorizate

Utilizarea şi gestionarea de coloane de identitate în SQL Server

Articol scris de Vincent Gaglio
Pagina 1 din 3

La proiectarea unei baze de date pentru a sprijini cererile este esenţial să se ia în considerare modul în care să se ocupe de chei primare. Există în acest sens, cel puţin două şcoli de gândire: una care susţine că ceea ce trebuie să faci este să utilizaţi tastele de aşa-numita surogat (adică nu se bazează pe date reale), şi alta care susţine că trebuie să fie utilizate în loc de date reale ca valori cheie. Apoi, există o cale de mijloc, care constă într-o "bază de date pentru utilizare în ambele aceste soluţii, în funcţie de argumente pro şi contra relative (pe care o vom în curând).

Când se proiectează un tabel care conţine, de obicei, unul sau mai multe coloane care formează cheia sa primară. După cum ştim cheia unui tabel primar este o valoare (sau o combinaţie de valori) care identifica in mod unic fiecare rând. După cum sa menţionat anterior, în cazul în care o cheie este alcătuit din valori reale se numeşte cheie naturale, dar dacă, de exemplu, cheia este generată de fiecare dată când inseraţi un rând din tabel se numeşte cheie surogat. O cheie surogat este de obicei o valoare numerică în SQL Server, şi, adesea, coloanele de acest tip sunt cele de identitate, din care mai tarziu.

O cheie naturale este formată din date reale, datele şi anume că au o relaţie cu valori în alte coloane de rând (de exemplu, codul fiscal de o persoană într-un tabel Clienţi care conţine, de asemenea, generalitatea ei). Chiar şi o cheie surogat identifică în mod unic un rând într-un tabel, dar valoarea sa nu are nici o legătură cu alte valori ale liniei si este pur si simplu generate şi depozitate.

Vom analiza avantajele şi dezavantajele celor două tipuri de chei începând cu surogat:

PRO

  • O cheie surogat nu are relaţii cu linia de alte date
  • Dacă aveţi nevoie pentru a face modificări în baza de date cu privire la actualizarea din tastele naturale care pot fi foarte usor de facut, fara a compromite relatiile cheie externă, în cazul în care acesta din urmă nu se bazează pe taste naturale, dar pe un surogat
  • Tastele de surogat sunt, de obicei valoare de tip întreg şi, prin urmare, necesită doar patru octeţi pentru a stoca în acest fel structurile de luare a indicelui de performanţă mai mici (care are un efect pozitiv al alăture operaţiunilor)

CONTRA

  • În cazul în care tabelele legate în cheie externă cu un surogat valoare este legată la un tabel principal, pentru a obţine valorile reale ale facă legătura între diferite tabele, trebuie să se alăture operaţiunilor de
  • Cheie surogat nu este foarte util atunci când căutaţi pentru informaţii specifice, astfel cum valorile cuprinse în ele nu au nici un sens real

În ceea ce priveşte cheile naturale:

PRO

  • Lend se la cercetare, deoarece valorile au sensul real
  • Necesită mai puţine măsuri pentru a obţine valorile se alăture-cheie, deoarece acestea sunt cuprinse în toate tabelele implicate în alătură
  • Lend se la cercetare, deoarece valorile au sensul real

CONTRA

  • Este actualizare mult mai complicat, mai ales dacă relaţiile cheie externă cu alte tabele sunt bazate pe ele
  • Indexuri şi asume mai mare, deoarece tastele fizice de obicei, nevoie de bytes pentru a stoca mai mult
  • Se alătură bazate pe chei compozite naturale (care includ adesea şir de date), sunt mai lente decât cele făcute cu chei surogat
În aceeaşi categorie ...
E-Learning
MS Access (Avansat) MS Access (Avansat)
Aflaţi cum să creaţi şi să gestionaţi baze de date rapid şi uşor. Incepand de la 29 €.
MySQL (Curs) MySQL (Curs)
De gestionare a bazei de date open-source. De la 39 €.
SQL si baze de date (Curs) SQL si baze de date (Curs)
Crearea şi gestionarea bazelor de date relaţionale. De la 39 €.
Link-uri sponsorizate