SQL PRIMARNI KLJUČ: Stvaranje i dodavanje u postojeću tablicu

⚡ Pametni sažetak

Primarni ključ u SQL Serveru je stupac ili skup stupaca čije vrijednosti jedinstveno identificiraju svaki redak u tablici. Svaka tablica sadrži jedan primarni ključ, a njezini stupci nikada ne smiju biti NULL.

  • 🔑 Što je primarni ključ: Primarni ključ je jedan ili više stupaca čije su vrijednosti jedinstvene i identificiraju svaki redak u tablici.
  • ???? Osnovna pravila: Tablica dopušta samo jedan primarni ključ, svaka vrijednost mora biti jedinstvena i nijedan ključni stupac ne smije sadržavati NULL.
  • 🖱️ Dva načina stvaranja: SQL Server Management Studio Table Designer i T-SQL CREATE TABLE naredba definiraju primarni ključ.
  • 🧱 Klauzula OGRANIČENJA: Unutar CREATE TABLE, klauzula CONSTRAINT … PRIMARY KEY imenuje ključ i navodi njegov stupac ili stupce.
  • ➕ Dodaj u postojeću tablicu: ALTER TABLE … ADD CONSTRAINT dodaje primarni ključ stupcima NOT NULL postojeće tablice.
  • 🧩 Kompozitni ključ: Primarni ključ može kombinirati do 16 stupaca, tvoreći složeni ključ koji je jedinstven u cijelom skupu.

PRIMARNI KLJUČ SQL Servera: Kako stvoriti i dodati u postojeću tablicu

Što je primarni ključ u SQL-u?

Primarni ključ u SQL Server je polje ili kombinacija polja koja jedinstveno identificira zapis. To je stupac ili skup stupaca u kojem je svaka vrijednost jedinstvena. Drugim riječima, nijedna dva retka ne mogu dijeliti istu vrijednost primarnog ključa.

Pravila za primarni ključ

  • Svaka tablica može imati samo jedan primarni ključ.
  • Sve vrijednosti su jedinstvene, a vrijednost primarnog ključa može jedinstveno identificirati svaki redak.
  • Sustav neće dopustiti umetanje retka čija vrijednost primarnog ključa već postoji u tablici.
  • Primarni ključ ne može biti NULL.

Donji dijagram sažima sve gore navedene točke o primarnom ključu SQL-a.

Dijagram koji sažima SQL pravila primarnog ključa: jedinstvene vrijednosti, jedna po tablici, a ne NULL

Kako stvoriti primarni ključ u SQL Serveru

Primarni ključ možete stvoriti na dva načina:

Proučimo svaku metodu detaljno.

SQL Server Management Studio

Korak 1) Desnom tipkom miša kliknite naziv tablice i kliknite dizajn.

Desnom tipkom miša kliknite tablicu i odaberite Dizajn u SQL Server Management Studiju

Korak 2) Desnom tipkom miša kliknite naziv stupca i kliknite Postavi primarni ključ.

Desnom tipkom miša kliknite stupac i odaberite Postavi primarni ključ u dizajneru tablica

Rezultat: Course_Id je sada primarni ključ, prikazan ikonom ključa pored stupca.

Stupac Course_Id označen ikonom ključa kao primarni ključ

T-SQL: Stvaranje primarnog ključa prilikom stvaranja nove tablice

Ispod je sintaksa za stvoriti tablicu s primarnim ključem iz T-SQL-a.

Sintaksa:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

Ovdje CONSTRAINT imenuje ključ, PRIMARY KEY označava stupac koji mora ostati jedinstven, a svaki stupac također treba tip podataka.

Napravimo tablicu s jednim stupcem kao primarnim ključem SQL-a.

upita:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

Korak 1) Pokrenite upit klikom Izvršiti.

Izvršavanje upita CREATE TABLE koji definira primarni ključ Course_ID

Rezultat: Course_Id je sada primarni ključ u tablici COURSE_TSQL_PK.

Tablica COURSE_TSQL_PK koja prikazuje Course_ID postavljen kao primarni ključ

Primjer: Pogledajmo dopušta li unos više zapisa s istim ID-om tečaja.

Korak 1) Umetnite četiri retka s različitim vrijednostima Course_ID.

Insert into COURSE_TSQL_PK values (1,'SQL');
Insert into COURSE_TSQL_PK values (2,'Python');
Insert into COURSE_TSQL_PK values (3,'SQL');
Insert into COURSE_TSQL_PK values (4,'C');

Korak 2) Provjerite jesu li svi podaci uspješno umetnuti pokretanjem SELECT upita.

Rezultat SELECT upita prikazuje četiri retka s različitim vrijednostima Course_ID

Napomena: U stupac koji nije primarni ključ možete umetnuti duplicirane vrijednosti.

Korak 3) Sada pokušajmo umetnuti novi zapis s postojećim Course_ID-om, koji je primarni ključ.

Insert into COURSE_TSQL_PK values (4,'JAVA');

Rezultat: Sustav ne dopušta umetanje nove vrijednosti jer 4 već postoji u stupcu Course_ID, što je primarni ključ.

Poruka o pogrešci koja odbija duplikat vrijednosti primarnog ključa za ID_kursa

Kako dodati primarni ključ postojećoj tablici u SQL-u?

Sada ćemo vidjeti kako dodati primarni ključ postojećoj tablici u SQL-u.

Naredbu ALTER možete koristiti za stvaranje primarnog ključa. Međutim, primarni ključ može se stvoriti samo na stupcima koji su definirani kao NOT NULL. Ne možete stvoriti primarni ključ na stupcu koji dopušta NULL vrijednosti; ako stupac trenutno dopušta NULL vrijednosti, prvo ga morate promijeniti u NOT NULL ili ukloniti i ponovno stvoriti tablicu.

Evo sintakse:

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

Na primjer:

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

Naredba ALTER TABLE koja dodaje ograničenje primarnog ključa pod nazivom students_pk

Dodali smo ograničenje primarnog ključa već postojećoj tablici. Ograničenje je dodano u stupac za prijem i dodijeljen mu je naziv students_pk.

Zanimljivosti!

  • Primarni ključ može biti kombinacija više stupaca. Ta kombinacija poznata je kao složeni primarni ključ.
  • Primarni ključ može imati najviše 16 stupaca.

Pitanja i odgovori

Oba nameću jedinstvenost. Tablica dopušta samo jedan primarni ključ, a njezini stupci ne mogu biti NULL. Tablica može sadržavati nekoliko jedinstvenih ključeva, a jedinstveni stupac može prihvatiti jednu NULL vrijednost. Primarni ključevi obično definiraju glavni identifikator retka.

Da. SQL Server automatski gradi jedinstveni indeks za provedbu primarnog ključa. Prema zadanim postavkama, ovaj indeks je klasteriran, što fizički uređuje retke. Umjesto toga možete odrediti NONCLUSTERED kada drugi stupac već sadrži klasterirani indeks.

Složeni primarni ključ kombinira dva ili više stupaca tako da su njihove vrijednosti jedinstvene, čak i kada se svaki stupac ponavlja pojedinačno. SQL Server dopušta da primarni ključ obuhvaća do 16 stupaca i ukupnu duljinu ključa od 900 bajtova.

Primarni ključ jedinstveno identificira svaki redak unutar vlastite tablice i nikada ne dopušta NULL vrijednosti. strani kljuc pohranjuje vrijednosti koje moraju odgovarati primarnom ili jedinstvenom ključu u drugoj tablici, stvarajući odnos između dvije tablice.

Pokrenite naredbu ALTER TABLE table_name DROP CONSTRAINT constraint_name. Morate znati naziv ograničenja, koji možete pronaći u sys.key_constraints. Dropping Primarni ključ također uklanja svoj podržavajući jedinstveni indeks i sve strane ključeve koji ga referenciraju.

Stupac IDENTITY koji automatski generira brojeve popularan je zamjenski primarni ključ jer ostaje uzak, stabilan i nikada nije NULL. Prirodni ključ odaberite samo kada je postojeći stupac, poput šifre proizvoda, već zajamčeno jedinstven.

Da. GitHub kopilot Može pisati naredbe CREATE TABLE i ograničenja PRIMARY KEY iz upita prirodnog jezika te predlagati odgovarajuće stupce ključeva. Uvijek pregledajte generirane ključeve, tipove podataka i mogućnost korištenja null vrijednosti, a zatim testirajte skriptu prije pokretanja u produkciji.

Alati umjetne inteligencije i strojnog učenja analiziraju uzorke podataka i obrasce upita kako bi preporučili koji stupac ili stupci trebaju biti primarni ključ, označili kandidate za ključeve koji sadrže duplikate ili NULL vrijednosti i predložili zamjenske ključeve. Programer potvrđuje svaku preporuku prije nego što je primijeni.

Sažmite ovu objavu uz: