Vi vil legge til alle disse begrensningene med eksempler i denne guiden fremover.
Syntaks
ALTER TABELL NAME_OF_TABLEDette er den grunnleggende syntaksen som brukes til å legge til en begrensning som inneholder kolonnenavnet til en spesifikk tabell. Andre attributter legges til i henhold til begrensningens tilstand.
Legg til primær nøkkelbegrensning
Den primære nøkkelbegrensningen opprettes ved å erklære en kolonne hvis alle verdier er unike fra hverandre. Det betyr at hver rad inneholder en unik eller en annen verdi. Den berørte kolonnen er ti, kjent som en primærnøkkel. Vi vil se den primære nøkkelbegrensningen på to måter. Den første måten er å definere begrensningen i Create -kommandoen. For det andre, når en enkel tabell opprettes tidligere uten noen begrensninger, vil vi legge til begrensningen til det allerede opprettet tabellen etter opprettelsen.
Et bord som heter sykehus er opprettet for å lagre informasjonen om leger.
>> Opprett bordsykehus (H_ID Integer Constraint Hospital_PK Primærnøkkel, Duty_date varchar (10), leger heltall, kirurgi varchar (20));Etter å ha opprettet bordet, vil vi nå sette inn noen få rader i tabellen for å gjøre det fungerende tilstand.
>> Sett inn sykehus (H_ID, Duty_date, Doctors, Surgery) verdier (1, '2-2-2020', 20, 'hjerte');Etter dataoppføringen kan du se de angitte dataene ved å bruke en SELECT -setning.
>> Velg * fra sykehus;Nå vil vi komme mot den situasjonen der vi må bruke en primær nøkkelbegrensning på kolonnen i tabellen som ikke har en begrensning før. Så til å begynne med har vi laget en enkel tabell med attributtene uten å sette inn noen data.
>> Opprett tabellkunder (Customer_id int, Customer_name varchar (255) ikke null);Som vi har laget et bord nylig, kjenner vi attributtene til tabellen. Men i tilfelle du ikke er kjent med detaljene i en kolonne i PostgreSQL, kan vi sjekke alle relasjonsdetaljer ved å bruke en enkel kommando med navnet på en spesifisert tabell.
>> \ d kunder;Alle detaljene, inkludert kolonnenavnet, vises som en resulterende verdi. Vanligvis inneholder denne detaljerte beskrivelsen informasjon om kolonnene, indeksene og begrensningene med den. Etter å ha brukt begrensninger, vil vi se det detaljerte synet på forholdet Kunden.
Nå vil vi bruke en alter -kommando for å gjøre endringer i tabellkundene. Først må du se på den grunnleggende syntaksen til Alter -kommandoen.
Alter tabell tabell_navn legg til primærnøkkel (kolonne_navn);Så for kundens bord har vi brukt begrensninger for kunden_id.
Etter endringen vil vi igjen se detaljene i tabellen for å se den anvendte begrensningen.
Legg til sjekkbegrensning
En sjekkbegrensning er også kjent som en integritetsbegrensning. Denne begrensningen fungerer på en måte som den spesifiserer tilstanden som skal brukes og spesifiseres av hver rad i tabellen i databasen. Først må du sjekke dataene til tabellstudenten.
>> velg * fra student;Vi vil bruke begrensningen på Student_id -kolonnen for å sikre at alle de angitte ID -ene og de som vil bli lagt inn i heretter vil ha et positivt antall for å sikre studentenes oppmøte. Navnet på begrensningen er oppmøte.
>> alter tabellstudent Legg til begrensningssjekk (student_id> 0);Nå vil vi sjekke detaljene i tabellen.
>> \ D -student;Beskrivelsen av tabellen ovenfor viser at en sjekkbegrensning med navnet blir brukt på tabellen med ID -er større enn 0.
Legg til utenlandsk nøkkelbegrensning
En fremmed nøkkel er en kolonne eller kolonner som brukes til å identifisere en rad veldig unikt av en annen tabell. Enhver tabell kan ha mer enn en fremmed nøkkel som gjør et forhold til andre tabeller. En utenlandsk nøkkelbegrensning er kjent for å unngå ugyldige data som blir lagt inn i en utenlandsk nøkkelkolonne. Den grunnleggende syntaks for utenlandske nøkkelbegrensninger er:
Først skriver vi navnet på barnebordet, og deretter brukes legg til begrensningsnøkkelord. Da skrives begrensningsnavnet. Det utenlandske nøkkelordet inneholder kolonnen til barnetasten referert til av overordnede tabellen, og deretter på slutten er overordnede tabellen skrevet sammen med overordnet primærnøkkel.
Vi vil nå vurdere en tabell som er praktisk med noe informasjon relatert til studentbordet som beskrevet ovenfor. Her vil vi bruke en fremmed nøkkelbegrensning på tabellen "praktisk". Her er den praktiske tabellen et barnebord som inneholder referanse til foreldrebordet 'Student'. Her er navnet på begrensningen skrevet som fk_constraint.
>> alter tabell praktisk legg til begrensning fk_constraint utenlandsk nøkkel (student_id) referanser student (student_id);Se beskrivelsen av tabellen ved å bruke kommandoen nedenfor.
>> \ D praktisk;Du kan se den utenlandske nøkkelbegrensningen i resultatet.
Legg til unik begrensning
En unik begrensning brukes på kolonnen i tabellen ved å følge regelen om at verdiene bare er gyldige hvis de er unike. Her har vi tatt et bordnavnelementer som allerede var opprettet; Vi har nå lagt til en unik begrensning på ID -kolonnen i den. Syntaksen inneholder begrensningsnavnet etter kolonnenavnet du vil legge til begrensningen.
>> Alter tabellelementer legg til begrensning items_unique unik (id);Se nå forholdets detaljer.
>> \ d elementer;Legg til begrensning via pgadmin
For å legge til begrensningene på dashbordet, bruker vi det venstre navigasjonspanelet. Først må du opprette en tilkobling og deretter utvide den nåværende databasen du jobber med. Ved ytterligere utvidelse av skjemaer vil du føre til bordene. Velg et bord. For eksempel har vi valgt tabell 'sykehus' for å se begrensningene vi har brukt på det via PSQL Shell.
Utvid alternativet for begrensninger inne i tabellen. Du vil se den primære begrensningen vi har opprettet tidligere. På denne måten er alle begrensningene nevnt på dashbordet.
Tilsvarende kan vi legge til en begrensning til bordet. Som om vi har valgt en tabell som heter bil, høyreklikk på alternativet Begrensning og velg deretter alternativet 'Opprett' fra rullegardinmenyen.
En annen måte er å gå til egenskapene, velg sjekkbegrensningen, legg til detaljene der i dialogboksen ved å gi en sjekkbetingelse om at IDen må være en positiv verdi.
Og lagre endringene for å fortsette videre.
Du vil se at en begrensning vil bli lagt til på denne måten.
Konklusjon
Artikkelen 'Postgres Legg til begrensning hvis ikke eksisterer' inneholder alle begrensningene PostgreSQL besitter og legger til bordene sine i databasen. Hver begrensningsbeskrivelse inneholder eksempler for å forklare implementeringen av begrensninger. Hver begrensning brukes i henhold til etterspørselen fra en spesifikk kommando. Vi håper denne guiden vil bidra til å eskalere din nåværende kunnskap om PostgreSQL -begrensninger.