Postgresql dificultăți

Restricțiile guvernează coloanele forțate de date din tabel. Acestea sunt folosite pentru a preveni introducerea datelor neautorizate în baza de date. Aceasta asigură precizia și validitatea datelor din baza de date.







Constrângerile pot fi la nivel de coloană sau nivel de tabel. Constrângerile la nivel de coloană se aplică numai unei coloane, în care constrângerile la nivel de tabel se aplică întregului tabel. Definirea tipului de date pentru o coloană este o limitare pe cont propriu. De exemplu, o coloană de tip DATE limitează coloana datelor valide.

După ce restricțiile utilizate în mod obișnuit sunt disponibile în PostgreSQL.

NU NULL Constrângere. Garanții. că coloana nu poate avea o valoare zero.

Constrângere UNIQUE. Garanții. că toate valorile din coloană sunt diferite.

Cheie primară. Identifică unic fiecare rând / înregistrare în tabela de baze de date.

FOREIGN Key. Restricționează datele. bazat pe coloanele din celelalte tabele.

Verificați constrângerea. Constrângerile de verificare garantează. că toate valorile din coloană îndeplinesc anumite condiții.

EXCLUSION Constrângere. o garanție de restricție exclusivă. că dacă sunt comparate două linii cu coloana (coloanele) specificată sau expresia (expresiile) utilizând operatorul (operatorii) specificat (e). nu toate aceste comparații vor reveni la TRUE.

NU NULL Constrângere

Implicit, coloana poate conține valori NULL. Dacă nu doriți ca coloana să fie NULL, trebuie să definiți o astfel de constrângere pentru acea coloană, indicând faptul că NULL-urile nu au acum o coloană pentru această coloană. O constrângere non-zero este întotdeauna scrisă ca o constrângere a coloanei.

NULL nu este același cu nici un fel de date, ci reprezintă date necunoscute.

De exemplu, următoarea instrucțiune PostgreSQL creează un nou tabel numit company1 și adaugă cinci coloane, dintre care trei, ID-ul și numele și vârsta care specifică să nu ia valori NULL:

Constrângere unică

Constrângerea de unicitate împiedică două înregistrări să aibă aceleași valori într-o anumită coloană. În tabelul COMPANIE, de exemplu, ați putea dori două sau mai multe persoane dintr-o vârstă identică.

De exemplu, următoarea instrucțiune PostgreSQL creează un nou tabel numit COMPANY3 și adaugă cinci coloane. Aici coloana AGE este setată la UNIQUE, deci nu puteți avea două înregistrări cu aceeași vârstă:

PRIMAR KEY Constrângere

O constrângere PRIMARY KEY identifică în mod unic fiecare intrare din tabela de baze de date. Pot exista mai multe coloane UNIQUE, dar numai o singură cheie primară în tabel. Cheile primare sunt importante în dezvoltarea tabelelor de baze de date. Principalele chei sunt identificatori unici.







Le folosim pentru a desemna rândurile unei mese. Cheile primare devin chei străine în alte tabele atunci când se creează relații între tabele. Din cauza "codării de lungă durată a supravegherii", cheile primare pot fi în SQLite NULL. Nu este cazul în cazul altor baze de date

Cheia primară este un câmp din tabel care identifică în mod unic fiecare rând / înregistrare din tabela de baze de date. Cheile primare trebuie să conțină valori unice. Coloana de cheie primară nu poate fi NULL.

O tabelă poate avea o singură cheie primară, care poate consta dintr-unul sau mai multe câmpuri. Când sunt utilizate mai multe câmpuri ca chei primare, ele sunt numite chei compozite.

Dacă tabelul are o cheie primară. definite pe orice câmp. atunci nu puteți avea două intrări. având aceeași valoare a acestui domeniu (câmpuri).

Ați văzut deja diferitele exemple de mai sus, unde am creat tabelul COMAPNY4 cu ID ca cheie primară:

Restricții de chei străine

O constrângere a cheii străine specifică. că valorile din coloană (sau un grup de coloane) trebuie să se potrivească cu valorile. care apare într-un rând dintr-un alt tabel. Spunem că acest lucru susține integritatea legăturii dintre două tabele legate. Ele sunt numite chei străine, deoarece restricțiile străine; adică în afara mesei. Cheile externe sunt denumite uneori chei de referință.

De exemplu, următorul operator PostgreSQL creează un nou tabel numit COMPANY5 și adaugă cinci coloane.

De exemplu, următoarea instrucțiune PostgreSQL creează un nou tabel numit department1, care adaugă trei coloane. Coloana EMP_ID este o cheie străină și face trimitere la ID-ul câmpului din tabelul COMPANY6.

verificați constrângerea

O constrângere de verificare permite unei condiții să verifice valoarea introdusă în înregistrare. Dacă condiția este falsă, înregistrarea încalcă constrângerea și nu este inclusă în tabel.

De exemplu, următorul operator PostgreSQL creează un nou tabel numit COMPANY5 și adaugă cinci coloane. Aici adăugăm CHECK cu coloanele SALARY, astfel încât să nu puteți avea ZERO ZERPLANTS:

EXCLUSION Constrângere

Constrângerile de excludere asigură că, dacă sunt comparate oricare două șiruri față de coloanele sau expresiile specificate, folosind operatorii specificați, cel puțin unul dintre acești operatori de comparație va reveni false sau zero.

De exemplu, următorul operator PostgreSQL creează un nou tabel numit COMPANY7 și adaugă cinci coloane. Aici vom adăuga constrângerile EXCLUDE:

Iată utilitatea USING a tipului de index pentru construire și utilizare pentru execuție.

Trebuie să executați comanda CREATE EXTENSION btree_gist; Odată ajuns în baza de date. Acest lucru vă va permite să instalați o extensie btree_gist care specifică limite de excepție pentru tipurile de date scalare simple.

După cum am îndeplinit deja vârsta ar trebui să fie aceeași, să vedem prin introducerea de înregistrări în tabel:

În primele două instrucțiuni INSERT, înregistrarea este adăugată la tabelul COMPANY7. Următorul mesaj de eroare este afișat pentru aprobarea celui de-al treilea INSERT:

Eliminarea restricțiilor:

Pentru a elimina o restricție, trebuie să știți numele acesteia. Dacă numele este cunoscut, este ușor de căzut. În caz contrar, ar trebui să aflați numele sistemului generat. Comanda psq \ d tbl_name poate fi utilă aici. Sintaxă generală:







Articole similare

Trimiteți-le prietenilor: