PostgreSQL-Tutorial

PostgreSQL ist ein freier objektrelationaler Datenbankserver (ORDBMS), der unter der flexiblen BSD-Lizenz vertrieben wird.

PostgreSQL-Entwickler sprechen es alspost-gress-Q-L aus。

PostgreSQLs Slogan lautet "die weltweit fortschrittlichste Open-Source-relationale Datenbank".

Referenzinhalt:PostgreSQL 10.1 Handbuch


Was ist eine Datenbank?

Eine Datenbank ist ein Lager, das Daten nach Datenstrukturen organisiert, speichert und verwaltet.

Jede Datenbank verfügt über eine oder mehrere unterschiedliche APIs zum Erstellen, Zugreifen, Verwalten, Suchen und Kopieren gespeicherter Daten.

Wir können Daten auch in Dateien speichern, aber das Lesen und Schreiben von Daten in Dateien ist relativ langsam.

Daher verwenden wir heute relationale Datenbankmanagementsysteme (RDBMS), um große Datenmengen zu speichern und zu verwalten. Die sogenannte relationale Datenbank ist eine Datenbank, die auf dem relationalen Modell basiert und mathematische Konzepte und Methoden wie Mengenalgebra verwendet, um Daten in der Datenbank zu verarbeiten.

ORDBMS (objektrelationales Datenbanksystem) ist das Produkt der Kombination von objektorientierter Technologie mit traditionellen relationalen Datenbanken. Die Abfrageverarbeitung ist ein wichtiger Bestandteil von ORDBMS, und ihre Leistung wirkt sich direkt auf die Leistung des DBMS aus.

ORDBMS fügt auf Basis der ursprünglichen relationalen Datenbank einige neue Funktionen hinzu.

RDBMS ist ein relationales Datenbankmanagementsystem, das Verbindungen zwischen Entitäten herstellt und schließlich relationale Tabellen erhält.

OODBMS (objektorientiertes Datenbankmanagementsystem) ist ein objektorientiertes Datenbankmanagementsystem, das alle Entitäten als Objekte behandelt, diese Objektklassen kapselt und zwischen Objekten über Nachrichten kommuniziert. OODBMS-objektrelationale Datenbanken sind im Wesentlichen immer noch relationale Datenbanken.


ORDBMS-Terminologie

Bevor wir mit dem Erlernen der PostgreSQL-Datenbank beginnen, wollen wir zunächst einige ORDBMS-Begriffe verstehen:

  • Datenbank:Eine Datenbank ist eine Sammlung zusammengehöriger Tabellen.
  • Datentabelle:Eine Tabelle ist eine Datenmatrix. Eine Tabelle in einer Datenbank sieht wie eine einfache Tabellenkalkulation aus.
  • Spalte:Eine Spalte (Datenelement) enthält dieselbe Art von Daten, wie z. B. Postleitzahldaten.
  • Zeile:Eine Zeile (= Tupel oder Datensatz) ist eine Gruppe zusammengehöriger Daten, wie z. B. ein Teil von Benutzerabonnementdaten.
  • Redundanz: Das doppelte Speichern der Daten verringert die Leistung, verbessert aber die Datensicherheit.
  • Primärschlüssel: Der Primärschlüssel ist eindeutig. Eine Datentabelle kann nur einen Primärschlüssel enthalten. Sie können den Primärschlüssel verwenden, um Daten abzufragen.
  • Fremdschlüssel:Ein Fremdschlüssel wird verwendet, um zwei Tabellen zu verknüpfen.
  • Zusammengesetzter Schlüssel: Ein zusammengesetzter Schlüssel (kombinierter Schlüssel) verwendet mehrere Spalten als Indexschlüssel und wird im Allgemeinen für zusammengesetzte Indizes verwendet.
  • Index:Die Verwendung von Indizes ermöglicht einen schnellen Zugriff auf bestimmte Informationen in Datenbanktabellen. Ein Index ist eine Struktur, die die Werte einer oder mehrerer Spalten in einer Datenbanktabelle sortiert, ähnlich wie das Inhaltsverzeichnis eines Buches.
  • Referentielle Integrität:Referentielle Integrität erfordert, dass Beziehungen keine Verweise auf nicht existierende Entitäten zulassen. Zusammen mit der Entitätsintegrität ist sie eine Integritätsbedingung, die das relationale Modell erfüllen muss, um Datenkonsistenz zu gewährleisten.

PostgreSQL-Merkmale

  • Funktionen: Durch Funktionen können Anweisungsprogramme auf der Seite des Datenbankservers ausgeführt werden.

  • Index: Benutzer können Indexmethoden anpassen oder die integrierten B-tree-, Hash-Tabellen- und GiST-Indizes verwenden.

  • Trigger: Ein Trigger ist ein Ereignis, das durch eine SQL-Anweisungsabfrage ausgelöst wird. Beispielsweise kann eine INSERT-Anweisung einen Trigger auslösen, der die Datenintegrität prüft. Trigger werden normalerweise durch INSERT- oder UPDATE-Anweisungen ausgelöst.

  • Mehrversionen-Konkurrenzsteuerung:PostgreSQL verwendet ein System zur Mehrversionen-Konkurrenzsteuerung (MVCC, Multiversion concurrency control) für die Nebenläufigkeitskontrolle. Dieses System bietet jedem Benutzer einen "Snapshot" der Datenbank. Jede Änderung, die ein Benutzer innerhalb einer Transaktion vornimmt, ist für andere Benutzer unsichtbar, bis die Transaktion erfolgreich festgeschrieben wurde.

  • Regeln: Regeln (RULE) erlauben, eine Abfrage umzuschreiben, und werden üblicherweise verwendet, um Operationen auf Ansichten (VIEW) zu implementieren, wie Einfügen (INSERT), Aktualisieren (UPDATE) und Löschen (DELETE).

  • Datentypen: Einschließlich Text, numerische Arrays mit beliebiger Genauigkeit, JSON-Daten, Aufzählungstypen, XML-Daten

    usw.
  • Volltextsuche: Durch Tsearch2 oder OpenFTS; in Version 8.3 ist Tsearch2 eingebettet.

  • NoSQL: Native Unterstützung für JSON, JSONB, XML, HStore und externe Datenwrapper für NoSQL-Datenbanken.

  • Data Warehouse: Kann reibungslos zu GreenPlum, DeepGreen, HAWK usw. im selben PostgreSQL-Ökosystem migrieren, wobei FDW für ETL verwendet wird.


Verwandte Ressourcen

PostgreSQL 10.1 Handbuch - Online-Handbuch:http://www.example.com/manual/PostgreSQL/

Offline-Handbuch - PDF-Version:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, Extraktionscode:xs7r。

Offline-Handbuch - CHM-Version:https://pan.baidu.com/s/1h1J14i8tzJUY3p9yyeW0mA, Extraktionscode:tq4z。

Neueste Version anzeigen:https://github.com/postgres-cn/pgdoc-cn/releases

Weitere Erweiterungen