SQLite er en RDBMS, som brukes til å administrere dataene til databasen, som er plassert i radene og kolonnene i tabellen. Denne oppskrivningen hjelper oss å forstå hva som er unik begrensning i sqlite, samt hvordan den fungerer i SQLite.
Hva er den unike begrensningen i sqlite
En unik begrensning sikrer at dataene i kolonnen skal være unike, noe som betyr at ingen felt i samme kolonne inneholder lignende verdier. For eksempel oppretter vi en kolonne, e -post og definerer den med den unike begrensningen, slik at den vil sikre at ingen e -post satt inn i kolonnen skal være den samme som den andre posten av kolonnen.
Hva er forskjellen mellom den unike og den primære nøkkelbegrensningen i sqlite
Både begrensninger, primærnøkkel og unik sikrer at ingen duplikatoppføring skal settes inn i tabellen, men forskjellen er; Tabellen skal bare inneholde en primærnøkkel, mens den unike begrensningen kan brukes til mer enn en kolonne i samme tabell.
Hvor unik begrensning defineres i sqlite
Den unike begrensningen kan defineres enten på enkeltkolonnen eller flere kolonner i SQLite.
Hvor unik begrensning defineres til en kolonne
En unik begrensning kan defineres som en kolonne, der den kan sikre at ingen lignende verdier kan komme inn i noe felt i den kolonnen. Den generelle syntaksen for å definere den unike begrensningen på en kolonne er:
Lage tabell tabell_navn (kolonne1 datatype unik, kolonne2 datatype);Forklaringen på dette er:
For å forstå denne syntaksen, bør du vurdere et eksempel på å lage en tabell for Students_data som har to kolonner, den ene er av std_id og den andre er av st_name, skulle definere kolonnen, std_id, med den unike begrensningen slik at ingen av studentene kan ha Lignende std_id som:
Lag tabell studenter_data (std_id heltall unik, std_name tekst);Sett inn verdiene ved å bruke:
Sett inn studenters_dataverdier (1, 'John'), (2, 'Paul');Nå vil vi legge til et annet studentnavn der STD_ID er 1:
Sett inn studenters_dataverdier (1, 'Hannah');Vi kan se fra utgangen, den genererte feilen ved å sette inn verdien av STD_ID fordi den ble definert med den unike begrensningen, noe som betyr at ingen verdi kan dupliseres med de andre verdiene i den kolonnen.
Hvordan er den unike begrensningen definert for flere kolonner
Vi kan definere flere kolonner med den unike begrensningen, som sikrer at det ikke er noen duplisering av dataene som er satt inn i alle rader samtidig. Hvis vi for eksempel må velge byer for en tur til tre grupper av mennesker (A, B og C), kan vi ikke tildele samme by til alle de tre gruppene, kan dette gjøres ved å bruke den unike begrensningen.
For eksempel kan disse tre scenariene være mulig:
Gruppe_a | Gruppe_b | Gruppe_c |
---|---|---|
Florida | Florida | Boston |
New York | Florida | Florida |
Florida | Florida | Florida |
Men følgende scenario er ikke mulig hvis vi bruker de unike begrensningene:
Gruppe_a | Gruppe_b | Gruppe_c |
---|---|---|
Florida | Florida | Florida |
Den generelle syntaksen ved å bruke den unike begrensningen til flere kolonner er:
Lage tabell tabell_navn (kolonne1 datatype, kolonne2, unik (kolonne1, kolonne2));Forklaringen på dette er:
For å forstå dette vil vi vurdere eksemplet ovenfor, og vil kjøre følgende kommando for å lage en tabell over Trip_Data:
Opprett tabell Trip_Data (GROUP_A TEXT, GROUP_B TEXT, GROUP_C TEXT, unik (group_a, group_b, group_c));Vi vil sette inn verdiene ved å tildele byene deres:
Sett inn Trip_Data -verdier ('Florida', 'Florida', 'Boston'), ('New York', 'Florida', 'Florida'), ('Florida', 'Florida', 'Florida');Nå vil vi sette inn den samme byen i alle kolonnene til Trip_Data:
Sett inn Trip_Data -verdier ('Florida', 'Florida', 'Florida');Vi kan se fra utgangen, duplisering av dataene i alle kolonnene som er definert av den unike begrensningen er ikke tillatt, og den genererte feilen i den unike begrensningen mislyktes.
Hvordan legge til den unike begrensningen til det eksisterende tabellen
I SQLite kan vi legge til begrensningen ved å bruke Alter -kommandoen, for eksempel har vi en tabell Students_data med kolonner std_id, std_name, vi ønsker å legge til en begrensning STD_ID til tabellen, Students_data:
Hvordan du slipper den unike begrensningen til det eksisterende bordet
I likhet med andre databaser kan vi ikke slippe begrensningen ved å bruke slipp- og endre kommandoer, for å slette de unike begrensningene vi skal følge den samme prosedyren som vi valgte å legge til begrensningen i en eksisterende tabell og omdefinere strukturen i tabellen.
La vurdere eksemplet ovenfor igjen, og fjerne de unike begrensningene fra det:
Pragma Foreign_Keys = av;Konklusjon
Den unike begrensningen brukes i databasene for å begrense dupliseringen av verdiene som er satt inn i feltene i tabellen akkurat som den primære nøkkelbegrensningen, men det er en forskjell mellom dem begge; En tabell kan bare ha en primærnøkkel, mens en tabell kan ha unike nøkkelkolonner mer enn en. I denne artikkelen diskuterte vi hva en unik begrensning er og hvordan den kan brukes i sqlite ved hjelp av eksempler.