Begrensninger er reglene håndheves på datakolonner på bordet. Disse brukes til å begrense den type data som kan gå inn i en tabell. Dette sikrer nøyaktigheten og påliteligheten av dataene i databasen.
Begrensninger kan være kolonnen nivå eller tabellnivå. Kolonne nivå begrensninger, gjelder kun for én kolonne der som tabellen nivå begrensninger brukes på hele tabellen.
Følgende er vanligvis brukes begrensninger tilgjengelige i SQLite.
NOT NULL begrensning Bilde: Sikrer at en kolonne ikke kan ha NULL verdi
STANDARD begrensning Bilde:.. Gir en standardverdi for en kolonne når det ikke er angitt Anmeldelser
entydig begrensning Bilde: Sørger for at alle verdier i en kolonne er forskjellige
primærnøkkelen Bilde:. Unikt identifiserte hver rader /poster i en database tabell
SJEKK Constraint Bilde:. kontrollbegrensningen sikrer at alle verdier i en kolonne oppfylle visse vilkår.
NOT NULL Begrensning
Som standard kan en kolonne holde NULL verdier. Hvis du ikke vil at en kolonne for å ha en NULL verdi, så må du definere en slik begrensning på denne kolonnen som spesifiserer at NULL er nå ikke lov for den kolonnen.
En NULL er ikke det samme som ingen data, snarere representerer det ukjente data
Eksempel:.
For eksempel skaper følgende SQLite utsagn en ny tabell kalt COMPANY og legger fem søyler, tre av dem, ID og navn og alder, oppgir ikke å akseptere NULL:
CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEKST NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), LØNN REAL);
STANDARD Begrensning
DEFAULT begrensningen gir en standardverdi i en kolonne når INSERT INTO uttalelsen ikke gi en bestemt verdi
Eksempel:.
For eksempel skaper følgende SQLite utsagn en ny tabell kalt COMPANY og legger fem kolonner. Her blir LØNN kolonnen satt til 5000.00 som standard, så i tilfelle INSERT INTO uttalelsen gir ikke en verdi for denne kolonnen, deretter som standard, denne kolonnen ville bli satt til 5000,00.
CREATE TABLE COMPANY (ID INT PRIMARY KEY IKKE NULL, NAME TEKST NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), LØNN REAL STANDARD 50000.00);
entydig begrensning
Den entydige begrensningen forhindrer to poster fra å ha identiske verdier i en bestemt kolonne. I COMPANY tabellen, for eksempel, du vil hindre to eller flere personer fra å ha samme alder
Eksempel:.
For eksempel skaper følgende SQLite utsagn en ny tabell kalt COMPANY og legger fem kolonner. Her er AGE kolonnen satt til UNIK, slik at du ikke kan ha to poster med samme alder:
opprette tabellen COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEKST NOT NULL, AGE INT NOT NULL UNIK, ADRESSE CHAR (50 ), LØNN REAL STANDARD 50000.00);
PRIMARY KEY begrensning
PRIMARY KEY begrensningen entydig identifiserer hver enkelt post i en database tabell. Det kan være mer UNIKE kolonner, men bare én primærnøkkel i en tabell. Primærnøkler er viktig når man designer databasetabellene. Primærnøkler er unike IDer.
Vi bruker dem til å referere til tabellrader. Primærnøkler blitt fremmednøkler i andre tabeller, når du oppretter relasjoner mellom tabeller. På grunn av en langvarig koding forglemmelse ", kan primærnøkler være NULL i SQLite. Dette er ikke tilfelle med andre databaser
En primærnøkkel er et felt i en tabell som entydig identifiserer hver rader /poster i en database tabell. Primærnøkler må inneholde unike verdier. En primærnøkkel kolonnen kan ikke ha nullverdier.
En tabell kan bare ha én primærnøkkel som kan bestå av ett eller flere felt. Når flere felt brukes som primærnøkkel, blir de kalt en sammensatt nøkkel
.
Hvis en tabell har en definert primærnøkkel på alle felt (er), så kan du ikke ha to poster som har den samme verdien av dette feltet (s)
Eksempel:.
Du har allerede sett flere eksempler ovenfor der vi har skapt Comapny bord med ID som primærnøkkel:
opprette tabellen COMPANY (ID INT PRIMARY KEY NOT NULL, NAME TEKST NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), LØNN REAL);
kontrollbegrensningen
kontrollbegrensningen gjør at en betingelse for å sjekke verdien blir inngått en rekord. Hvis tilstanden evalueres til false, bryter posten begrensningen, og er ikke inngått bordet
Eksempel:.
For eksempel skaper følgende SQLite en ny tabell kalt COMPANY og legger five kolonner. Her legger vi en sjekk med LØNN kolonne, slik at du ikke kan ha noen LØNN Zero:
CREATE TABLE COMPANY3 (ID INT PRIMARY KEY NOT NULL, NAME TEKST NOT NULL, AGE INT NOT NULL, ADRESSE CHAR (50), LØNN REAL CHECK (LØNN > 0));
Slippe Begrensninger:
SQLite støtter en begrenset gruppe ALTER TABLE. ALTER TABLE kommandoen i SQLite tillater brukeren å endre navn på et bord eller å legge til en ny kolonne i en eksisterende tabell. Det er ikke mulig å endre navn på en kolonne, fjerne en kolonne, eller legge til eller fjerne begrensninger fra en tabell.