Sadržaj
Sintaksa od PostgreSQL koegzistira bez problema sa standardima ANSI-SQL, unatoč tome što nam PostgreSQL dopušta da imamo nekoliko trikova u rukavu prilikom umetanja podataka koji nisu u drugim rukovateljima baza podataka, jedan od njih je konstruktor umetanja napredan za više zapisa.Višestruki umetak
Kao što smo objasnili, imamo mogućnost umetanja nekoliko redaka, ali pogledajmo primjer u kodu kako bismo se mogli uskladiti:
POVEĆAJTE
Možemo vidjeti da ovo funkcionira na sličan način kao umetanje jednog retka pomoću UMETNI VRIJEDNOSTI () samo možemo dodati više od jednog zapisa odjednom odvajajući svaki skup zapisa zarezom (,).Ograničenja
The ograničenja u PostgreSQL -u oni su najnapredniji i najsloženiji koji se mogu naći na tržištu baza podataka, jer osim što stvara ograničenje, omogućuje i rukovanje svim aspektima postojećih podataka, uključujući uvjete pod kojima možemo izostaviti uporabu del constraint i prekršiti ograničenje u trenutku umetanja podataka.
Pogledajmo kako se nositi s ograničenjem stranog ključa, PostgreSQL Dopušta opcije kaskadnih izmjena i brisanja pri korištenju ograničenja.
U ovom primjeru koristit ćemo nekoliko stvari na demonstrativan način.
POVEĆAJTE
1. U ovom prvom ograničenju definiramo odnos stranog ključa između tablice činjenice i stol vrste_činjenica, kako bi se spriječilo uvođenje elemenata koji već nisu prisutni u tablici fact_types.
2. Također definiramo kaskadno pravilo koje automatski ažurira tablicu činjenica u polju fac_type_id u slučaju da se bilo koji zapis tablice fact_types ponovno popiše, dodatno ograničavamo brisanje ako se koristi bilo koja od vrijednosti.
3. Za razliku od ponašanja primarnog ključa i jedinstvenih ograničenja, PostgreSQL ne dodaje automatski indeks stranog ključa, to moramo učiniti na vlastiti račun.
Jedinstvena ograničenjaSvaka tablica ne može imati više od jednog primarnog ključa. Ako moramo imati druga jedinstvena polja u drugim stupcima, moramo otići na jedinstvena ograničenja, dodavanjem ovoga automatski se stvara jedinstveni pridruženi indeks, za razliku od primarnog ključa, stupac s jedinstvenim ograničenjem može biti ispunjen NULL vrijednostima, s jedinstvenim ograničenjem ovog stupca koji ne ispunjava uvjete za sudjelovanje u pridruživanju stranih ključeva.
Da bismo to učinili, možemo to učiniti na sljedeći način:
ALTER TABLE logs_2011 DODAJ OGRANIČENJE uq_us_log UNIQUE (user_name, log_ts);
Provjerite ograničenja
The provjerite ograničenja su uvjeti koje polje mora ispuniti za svaki redak, planer upita za PostgreSQL On je zadužen za provjeru postoji li u tablici ograničenje provjere zbog kojeg se filtar uvjeta ne može ispuniti, tada preskače provjeru uvjeta.
Pogledajmo kako možemo stvoriti provjerite ograničenje:
[size = 4] ALTER TABLE logs DODAJ OGRANIČENJE chk_lusername [/ size] [size = 4] PROVJERI (korisničko ime = niže (korisničko_ime)); [/ veličina]
Pa s ovim završavamo ovaj vodič s kojim smo naučili nešto više o naprednim konfiguracijama PostgreSQL -a prilikom umetanja i provjere podataka s uvjetima ograničenja.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod