PostgreSQL - Geavanceerd invoegen

Inhoudsopgave
De syntaxis van PostgreSQL bestaat zonder problemen naast de ANSI-SQL-standaarden, ondanks dit stelt PostgreSQL ons in staat om verschillende trucs uit te werken bij het maken van gegevensinvoegingen die niet in andere database-handlers staan, een daarvan is de invoegconstructor geavanceerd voor meerdere records.
Meerdere invoegen
Zoals we hebben uitgelegd, hebben we de mogelijkheid om meerdere rijen in te voegen, maar laten we een voorbeeld in code bekijken om op de hoogte te blijven:

VERGROTEN

We kunnen zien dat dit op een vergelijkbare manier werkt als het invoegen van een enkele rij met WAARDEN INVOEREN () alleen kunnen we meer dan één record tegelijk toevoegen door elke set records te scheiden met een komma (,).
Beperkingen
De beperkingen in PostgreSQL zijn ze de meest geavanceerde en complexe die te vinden zijn in de databasemarkt, omdat het naast het creëren van de beperking ook de verwerking van alle aspecten van de bestaande gegevens mogelijk maakt, inclusief voorwaarden waaronder we de use del constraint kunnen weglaten en schenden de beperking op het moment van het invoegen van de gegevens.
Laten we eens kijken hoe we omgaan met een externe sleutelbeperking, PostgreSQL Maakt trapsgewijze wijzigings- en verwijderingsopties mogelijk bij gebruik van beperkingen.
In dit voorbeeld zullen we verschillende dingen op een demonstratieve manier gebruiken.

VERGROTEN

1. In deze eerste beperking definiëren we een externe sleutelrelatie tussen de tabel feiten en de tafel fact_types, om de introductie van elementen te voorkomen die nog niet aanwezig zijn in de fact_types tabel.

2. We definiëren ook een trapsgewijze regel die de feitentabel automatisch bijwerkt in het veld fact_type_id in het geval dat een record van de tabel fact_types opnieuw wordt opgesomd, bovendien beperken we de verwijdering als een van de waarden in gebruik is.

3. In tegenstelling tot het gedrag van de primaire sleutel en unieke beperkingen, voegt PostgreSQL niet automatisch een index van een externe sleutel toe, dit moeten we voor eigen rekening doen.

Unieke beperkingen
Elke tabel kan niet meer dan een enkele primaire sleutel hebben. Als we nu andere unieke velden in andere kolommen moeten hebben, moeten we naar de unieke beperkingen, door dit toe te voegen, wordt automatisch een unieke bijbehorende index gemaakt, in tegenstelling tot een primaire sleutel kan een kolom met een unieke beperking worden gevuld met NULL-waarden, met een unieke beperking.
Hiervoor kunnen we het op de volgende manier doen:
ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIEK (gebruikersnaam, log_ts);

Beperkingen controleren
De beperkingen controleren zijn voorwaarden waaraan een veld per rij moet voldoen, de queryplanner van PostgreSQL Het is verantwoordelijk voor het verifiëren of er een controlebeperking in de tabel is waardoor een filter van een voorwaarde niet kan worden vervuld, dan slaat het de verificatie van de voorwaarden over.
Laten we eens kijken hoe we een kunnen maken controle beperking:
 [size = 4] ALTER TABLE logs ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size] 

Welnu, hiermee sluiten we deze tutorial af waarmee we iets meer hebben geleerd over de geavanceerde PostgreSQL-configuraties bij het maken van inserts en het verifiëren van de gegevens met de voorwaarden van de beperkingen.Vond je deze tutorial leuk en hielp je hem?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave