MySQL MariaDB

Korištenje MySQL jedinstvenih ograničenja

Korištenje MySQL jedinstvenih ograničenja
MySQL CONSTRAINT uklanja se kako bi opisao pravila koja dopuštaju ili ograničavaju vrijednosti u poljima koja mogu sadržavati ili ograničiti podatke koji se mogu unijeti u retke. Cilj nametanja ograničenja je održavanje vjerodostojnosti baze podataka. Jedno od njih je JEDINSTVENO ograničenje.

UNIQUE ograničenje jamči da se gotovo svi elementi u polju međusobno razlikuju. Za polje ili grupu polja, JEDINSTVENA i PRIMARNA KLJUČNA ograničenja uzajamno imaju jamstvo individualnosti. Unatoč tome, u svakoj tablici možemo imati nekoliko JEDINSTVENIH ograničenja, premda umjesto toga za svaku tablicu imamo jedno PRIMARNO VRIJEDNOST. Naučimo to iskušavajući neke primjere.

Jedinstveno ograničenje putem Workbencha:

Prije svega, moramo naučiti kako dodati jedinstvena ograničenja u tablicu dok koristite MySQL Workbench 8.0. Otvorite svoj novoinstalirani MySQL Workbench 8.0 i spojite ga na bazu podataka.

U područje upita morate napisati naredbu u nastavku da biste stvorili tablicu 'Osoba'. Ova tablica ima 4 stupca s jednim primarnim ključem. Moramo navesti jedan jedinstveni stupac. Kao što vidite, očistili smo stupac "Id" kao stupac "JEDINSTVENO":

>> STVORI TABLICU Osoba (ID int PRIMARNI KLJUČ NIJE NULL, prezime varchar (255) NIJE NULL, ime varchar (255), dob int, JEDINSTVEN (ID));

Sada je stvorena tablica "Osoba" sa svojim "JEDINSTVENIM" stupcem "ID". Tablicu možete pronaći pod "Navigator" i "Sheme" dok je navedena u opciji "Tablice".

Tijekom umetanja zapisa, kada dodirnete gumb "Primijeni", pregledat će umetnute zapise kao što je prikazano u nastavku. Možete vidjeti da imamo jedan duplicirani zapis u redovima 3 i 4 koji ima isti "ID". Dodirnite gumb "Primijeni" da biste primijenili promjene.

Na donjoj slici generira pogrešku koju je stupac "ID" duplicirao, što je vrijednost "13".

Nakon ispravljanja zapisa, kada primijenite promjene, radit će ispravno.

Jedinstveno ograničenje putem školjke naredbenog retka:

U ljusku naredbenog retka MySQL dodavat ćemo UNIQUE ključeve u jedan ili nekoliko stupaca. Prvo otvorite naredbeni redak da biste ih vidjeli u sljedećim primjerima. Upišite lozinku da biste koristili naredbenu ljusku.

Primjer 01: U jednom stupcu

Unutar ove sintakse, kao u specifikaciji stupca, koristimo UNIQUE pojam za koji želite primijeniti zakon jedinstvenosti. Jednom kada umetnemo ili promijenimo vrijednost koja stvara duplikate u određenom stupcu, MySQL će odbiti izmjenu, a dat će se i iznimka. U ovom Posebnom ograničenju bit će ograničenje stupaca. A to biste mogli koristiti i za provedbu jedinstvenog pravila jednog polja. Evo sintakse za UNIQUE ključ s jednim stupcem:

>> CREATE TABLE ime_tablice (tip podataka col JEDINSTVEN, tip podataka col);

Stvorimo tablicu "dobavljač" u bazi podataka "podaci" s tri stupca u njoj. Stupac "ID" definiran je kao "UNIQUE".

>> IZRADI podatke u TABELI.dobavljač (id INT AUTO_INCREMENT NOT NULL UNIQUE, Ime VARCHAR (50) NOT NULL, Područje VARCHAR (50));

Pri provjeri možete vidjeti da tablica još nema zapisa.

>> ODABERI * IZ podataka.dobavljač;

Umetnimo zapise u tablicu. Prvi će se zapis glatko umetnuti u tablicu, kao što je prikazano dolje.

Drugi će se zapis ponovo glatko umetnuti, jer nema duplicirane vrijednosti u stupcu "ID". S druge strane, uzima istu vrijednost kao i u prvom upitu u stupcu "Područje".

Prilikom umetanja trećeg zapisa, pružili smo dvostruku vrijednost "1" kao što smo naveli u prvoj izjavi za umetanje. Generirat će pogrešku da stupac "ID" dobiva dvostruku vrijednost, kao što je prikazano na donjoj slici.

Tijekom ponovne provjere možete vidjeti da tablica sadrži samo zapis prva dva umetanja izraza. Iako nema zapisa iz treće umetnute izjave.

>> ODABERI * IZ podataka.dobavljač;

Primjer 02: Na više stupaca

Ovim formatom, nakon pojma UNIQUE, u zagradama primjenjujemo skup stupaca odvojenih zarezom. Sastav vrijednosti u poljima col1 i col2 koristi MySQL za određivanje jedinstvenosti.

>> STVORI TABELU ime_tablice (tip podataka tipa col1, tip podataka tipa col2, JEDINSTVEN (col1, col2));

Stvorili smo tablicu „ministar“ u bazi podataka „podaci“ s pet stupaca. Stupac "ID" definiran je kao "UNIQUE" i "PRIMARY". Ključna riječ "CONSTRAINT" koristi se za imenovanje jedinstvenog ograničenja ključa kao "uc_add_sal". Ključna riječ “UNIQUE” koristi se za definiranje UNIQUE ograničenja na stupce navedene u zagradama, e.g., Adresa i "Plaća". Sada imamo ukupno tri stupca s ograničenjem „UNIQUE“.

>> IZRADI podatke u TABELI.ministar (sredina INT AUTO_INCREMENT PRIMARNI KLJUČ NE NULL JEDINSTVENO, Ime VARCHAR (50) NIJE NULL, Adresa VARCHAR (50), Posao VARCHAR (50), Plata VARCHAR (50), OGRANIČENJE uc_add_sal JEDINSTVENO (Adresa, Plaća));

Prilikom provjere tablice možete vidjeti da je tablica trenutno prazna.

>> ODABERI * IZ podataka.ministar;

Ubacimo u nju neke zapise. Prvi će se zapis uspješno dodati u tablicu jer je to prvi redak i nema retka s kojim se može upariti.

U bilo koji stupac unesite drugi jedinstveni zapis bez dvostrukih vrijednosti, kao što je prikazano dolje.

Ne utječe na to kada unesemo dvostruke vrijednosti za stupce koji nemaju ograničenje "UNIQUE". Pogledajte upit u nastavku. Ima dupliciranu vrijednost u stupcu "Ime" i "Posao". Radi ispravno, jer ova dva stupca nemaju definirano ograničenje "UNIQUE".

S druge strane, kada umetnemo dvostruku vrijednost, npr.g., "13" i "Rawalpindi", generirat će pogrešku, kao što je prikazano u nastavku. To je zato što su "13" i "Rawalpindi" ranije navedeni.

Pri provjeri imamo samo tri zapisa u tablici, umetnuta u prva tri upita.

>> ODABERI * IZ podataka.ministar;

Zaključak:

Graciozno smo odradili sve primjere definiranja UNIQUE ograničenja na pojedinačni i višestruki stupac dok smo koristili MySQL Workbench 8.0 i MySQL klijentska ljuska naredbenog retka. Nadamo se da nećete imati problema tijekom rješavanja problema koji se odnose na UNIQUE ključeve.

Instalirajte najnoviji Dolphin Emulator za Gamecube i Wii na Linux
Dolphin Emulator omogućuje vam igranje odabranih Gamecube i Wii igara na Linux osobnim računalima (PC). Dolphin Emulator je slobodno dostupan i emula...
Kako koristiti GameConqueror Cheat Engine u Linuxu
Članak pokriva vodič o korištenju GameConqueror varalice u Linuxu. Mnogi korisnici koji igraju igre na sustavu Windows često koriste aplikaciju "Cheat...
Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...