PostgreSQL – Tabellen

PostgreSQL bietet neben den Datentabellen, die am häufigsten in anderen Datenbank-Engines und Treibern vorkommen, auch eindeutige und eindeutige Tabellentypen, wie temporäre Tabellen, nicht protokollierte Tabellen, geerbte Tabellen und Tabellen. typisierte Tabellen.

Eine Tabelle erstellen

Bevor wir uns mit den verschiedenen von PostgreSQL angebotenen Tabellentypen befassen, werden wir sehen, wie eine normale Tabelle erstellt werden sollte. Dies kann sehr ähnlich sein, wie die Tabellen in anderen Datenbankmanagern erstellt werden Grundlagen, wie es in PostgreSQL gemacht wird.

Im folgenden Bild sehen wir den Code, wie es geht, dann werden wir jeden Schritt Schritt für Schritt erklären:

pg_tablas1.jpg

  • Der serielle Typ ist der Datentyp, der beim Erstellen eines automatischen numerischen Felds verwendet wird. Er erstellt ein zugehöriges Sequenzobjekt und definiert diese Spalte als Ganzzahl, wobei der Standardwert normalerweise so konfiguriert ist, dass der nächste Wert des Sequenzobjekts verwendet wird Es wird als Primärschlüssel verwendet.
  • Der varchar- Typ ist eine Zeichenfolge mit variabler Länge, ähnlich wie wir sie in anderen Datenbankmodulen verwenden. Er kann auch als Zeichenvariation (50) geschrieben werden .
  • Der Typentext ist eine Art unbegrenzter Daten, niemals wird eine Größe darauf platziert.
  • Der Zeitstempeltyp mit Zeitzone ist eine Art von Datum und Uhrzeit, die immer in UTC gespeichert ist. Standardmäßig werden Datum und Uhrzeit unter Verwendung der eigenen Zeitzone des Servers als Referenz angezeigt, sofern nicht anders angegeben.

Geerbte Tabellen

Bisher nur von PostgreSQL unterstützt , können wir mit diesem Tabellentyp alle Spalten der übergeordneten Tabelle erben und eigene Spalten in der untergeordneten Tabelle erstellen. Alle in der übergeordneten Tabelle vorgenommenen Änderungen werden in die untergeordneten Tabellen übertragen. Die einzigen Schlüssel, die nicht geerbt werden, sind die Primärschlüssel und die Fremdschlüssel. Wenn wir eine Abfrage an den Vater richten, werden auch die Spalten der untergeordneten Schlüssel einbezogen.

See also  So deaktivieren Sie den Netzwerkadapter in Windows 10

Sehen wir uns ein Beispiel zum Erstellen einer geerbten Tabelle an:

pg_tablas2.jpg

Nicht protokollierte Tabellen

Diese Art von Tabellen wird erstellt, wenn wir viel Schreibgeschwindigkeit benötigen und die in dieser Tabelle gespeicherten Daten nicht von entscheidender Bedeutung sind, da diese Art bei einem Motorausfall nicht wiederhergestellt wird, sondern eine Kürzung der Tabelle vorgenommen wird ; Der größte Vorteil ist, dass die Schreibgeschwindigkeit 15-mal höher ist als bei den anderen Tabellentypen.

Sehen wir uns an, wie wir diese Art von Tabellen in der folgenden Abbildung erstellen:

pg_tablas3.jpg

Typisierte Tabellen

Dieser Tabellentyp bezieht seine Struktur aus einem zusammengesetzten Datentyp, sodass wir beim Generieren Zeit sparen können. Der Nachteil ist, dass wir dann keine zusätzlichen Spalten auf herkömmliche Weise hinzufügen können.

Der Vorteil ist, dass wir bei vielen Tabellen mit diesem Typ die Struktur ändern können und dies auf alle Tabellen übertragen wird.

Um sie zu benutzen, müssen wir folgende Schritte ausführen:

Zuerst legen wir den Datentyp an:

 CREATE TYPE app_user AS (benutzername varchar (50), email varchar (75), pwd varchar (50)); 

Dann erstellen wir die typisierte Tabelle:

 CREATE TABLE super_users OF app_user (CONSTRAINT pk_super_users PRIMARY KEY (Benutzername)); 

Wie wir sehen, definieren wir die Schlüssel in der Definition der Tabelle.

Wenn wir unseren Tabellen ein weiteres Feld hinzufügen möchten, können wir dies folgendermaßen tun:

 ALTER TYPE app_user ADD ATTRIBUTE main_phone varchar (18) CASCADE; 

Mit dem Argument CASCADE wird diese Änderung von allen Tabellen akzeptiert.

Damit schließen wir dieses Tutorial ab und lassen eine Reihe von Tools übrig, mit denen unsere Tabellen unseren Anforderungen und Bedürfnissen näher kommen.

See also  Verwenden einer Tastatur zum Bewegen der Maus Windows 10, 8, 7

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *