Mehrfacheinsatz
Wie wir erklärten, haben wir die Möglichkeit, mehrere Zeilen einzufügen, aber sehen wir uns ein Beispiel im Code an, um uns darauf einstellen zu können:
Wir können sehen, dass dies ähnlich wie das Einfügen einer einzelnen Zeile mit INSERT VALUES () funktioniert, nur dass wir mehr als einen Datensatz gleichzeitig hinzufügen können, indem wir jeden Datensatzsatz mit einem Komma (,) trennen.
Einschränkungen
Die Einschränkungen in PostgreSQL sind die fortschrittlichsten und komplexesten auf dem Markt für Datenbanken, da sie nicht nur die Einschränkung schaffen, sondern auch die Bearbeitung aller Facetten der vorhandenen Daten ermöglichen, einschließlich der Bedingungen, unter denen wir sie auslassen können die Verwendung der Einschränkung und Verletzung der Einschränkung beim Einfügen der Daten.
Schauen wir uns an, wie man mit einer Fremdschlüssel-Einschränkung umgeht. PostgreSQL ermöglicht Änderungsoptionen und die Kaskadenlöschung, wenn wir die Einschränkungen verwenden.
In diesem Beispiel werden wir einige Dinge demonstrativ verwenden.
1. In dieser ersten Einschränkung definieren wir eine Fremdschlüsselbeziehung zwischen der Tabelle facts und der Tabelle fact_types , um die Einführung von Elementen zu verhindern, die nicht bereits in der Tabelle fact_types vorhanden sind.
2. Wir definieren auch eine Kaskadenregel, die die Faktentabelle automatisch aktualisiert. Das Feld fact_type_id wird bei erneuter Aufzählung eines Datensatzes der Tabelle fact_types aktualisiert. Außerdem schränken wir das Löschen ein, wenn Werte verwendet werden.
3. Im Gegensatz zum Verhalten des Primärschlüssels und den eindeutigen Einschränkungen fügt PostgreSQL nicht automatisch einen Index eines Fremdschlüssels hinzu, dies muss von eigenen Konten durchgeführt werden.
Einzigartige Einschränkungen
Jede Tabelle kann nicht mehr als einen einzelnen Primärschlüssel haben. Wenn wir nun andere eindeutige Felder in anderen Spalten benötigen, müssen wir zu den eindeutigen Einschränkungen gehen. Durch das Hinzufügen wird automatisch ein zugeordneter eindeutiger Index erstellt, im Gegensatz zu einem Primärschlüssel, einer Spalte mit einem Eine eindeutige Einschränkung kann mit NULL-Werten gefüllt werden, da eine eindeutige Einschränkung eine Spalte ist, die nicht für die Teilnahme an einer Fremdschlüsselzuordnung qualifiziert ist.
Um dies zu tun, können wir es auf folgende Weise tun:
ALTER TABLE logs_2011 ADD CONSTRAINT uq_us_log UNIQUE (Benutzername, log_ts);
Überprüfen Sie die Einschränkungen
Die Überprüfungsbedingungen sind Bedingungen, die ein Feld für jede Zeile erfüllen muss. Der PostgreSQL- Abfrageplaner ist dafür verantwortlich, zu überprüfen, ob in der Tabelle eine Überprüfungsbedingung vorhanden ist, die bewirkt, dass ein Filter einer Bedingung nicht erfüllt werden kann Überprüfung der Bedingungen.
Mal sehen, wie wir eine Prüfbedingung erstellen können :
[size = 4] ALTER TABLE-Protokolle ADD CONSTRAINT chk_lusername [/ size] [size = 4] CHECK (user_name = lower (user_name)); [/ size]
Damit haben wir dieses Tutorial abgeschlossen, in dem wir etwas mehr über die erweiterten Konfigurationen von PostgreSQL erfahren haben, als wir Einfügungen vorgenommen und die Daten anhand der Bedingungen der Einschränkungen überprüft haben.