Cume Cridite Cessatenli Stresse in u Server Microsoft SQL

Unu di i conceptu più impurtanti in i databases hè creatu relazioni trà i tavule di basa di basa. Queste rilazioni furnisce un mecanismu per vincerà a basa di data guardata in parechje tavule è ripiglianza in modu efficau. Per creà un ligami trà duie tàvule, deve circustarate una chjave straniera in una tavulera chì riferisce una culonna in un altru tabella.

Tableificà e Struttura di Base

Pudete ancu sapete chì e basi di basa sò simpliciamente una serie di tàvule , simili à ciò chì pudete esse ughjettu in u prugramma di chile , cum'è Microsoft Excel. In fatti, pudete ancu cunvertisce una spregla di Excel à una basa di dati. Quandu u basi di a basa divirtenu da spreglie, ma hè questu questu questu quì hè di custruisce e forti rilazioni trà e tàvule.

Pigliate, per esempiu, una basa di dati usata da una sucità per seguità a nfurmazione di risorsi umani. A dita base di dati puderia avè una tàvule chjamata Impiegati chì cuntene l'infurmazione per ogni membru di l'equipta di l'impresa:

In questu esempiu, l'identità impjegatu hè un ingrossu generatu unicu chì hè assignatu à ogni impiigatu quand'elli sò aghjuntu à a basa di dati. L'identità di posizione hè un code di travagliu usatu per riferisce a pusizione di l'empleu in l'a cumpagnia. In questu schema, un impiigatu puderà esse unu postu, ma assai (o nè micca) impiegati pòbbenu chjodele ogni pusizzioni. Per esempiu, pudete avè parechje persone per mezu di una situazione "Cashier".

A basa di dati puderia ancu cuntene una tola chjamata Posicciamenti cù a seguente infurmazioni nantu à ogni pusizzioni:

U campu di ID di Posizione in questa tavola hè simile à u duminiu ID d'Impiigatu à a Table di u Impartisce - hè un unicu generatu unicu chì hè creatu quandu una pusizzioni hè aghjuntu à a basa di dati.

Quandu avemu da cullà a lista di l'impiegati da a basa di dati, saria naturali di dumandà u nome di u nome di e persone. In ogni casu, sta informazione hè stata guasgiata in parechje timbi di basa, perchè ùn solu pò esse ricuperate usendu una ricerca JOIN chì es necessariu una relazione esistenti da trà e tàvule.

Quandu guardemu a struttura di e tàvule, u campu chì definisce a relazione hè probabilmente evidenza - U campu di ID di posizione. Ogni impiigatu possu solu una sola pusizioni è a postu hè identificatu da cumpresu l'Identità di Posizione da l'intrecciu correvente di a tavola di Posizioni. In più di esse a chjave principale per a tabella di i Posizioni, in stu esempiu, u Campu di ID di posizione hè ancu una chjave straniera da a Table of Employees à a Table di Posizioni. A basa di dati pò esse aduprata stu campu per correlate l'infurmazioni da i tàvule multiplici è assicura chì qualsiasi cambiamentu o additivi à a basa di dati cuntinueghjenu à furzà l' integrità referenziale .

Una volta avete identifichendu a chjave straniera, pudete andà andatu è piglià l'infurmazioni desiderate da a basa di dati usando a questa consulta:

SELECT FirstName, LastName, Titulu FROM EMPERSONATI INNER JOIN Positions ON EMPLOYEES.PositionID = Positions.PositionID

Crea i chjavi stranieri in u Server di SQL

Tècnicamente, ùn avete bisognu di definisce a relazione esplicitamente à esse pò esse dumandate questi cum'è quellu quì sopra. In ogni casu, se u vostru esplicitamente definisce a relazione cù una restuccia chjave straniera, a basa di dati serà capaci di realizà un travagli di mantenuta per voi:

Eccu cumu puderete creà a chjave straniera in SQL Server:

ALTER TABLE Langhe ADD AFFARIENT KEY (PositionID) REFERENCES Positions (PositionID)

Pudete ancu crià una chjave straniera quandu crea un tavulu agghiuncennu a chjola:

REFUNDINZI PREZZI EXCESSI Positions (PositionID)

à a fine di a culonna di definizione di a chjave di a chjave straniera.