Definieren von Tabelleneinschränkungen - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Definieren von Tabelleneinschränkungen

Einschränkungen hinsichtlich Eindeutigkeit, Primärschlüssel und Fremdschlüssel dienen lediglich Informationszwecken. Sie werden von Amazon Redshift nicht erzwungen, wenn Sie eine Tabelle ausfüllen. Wenn Sie beispielsweise Daten in eine Tabelle mit Abhängigkeiten einfügen, kann der Einfügevorgang erfolgreich sein, auch wenn er gegen die Einschränkung verstößt. Dennoch werden Primärschlüssel und Fremdschlüssel als Planungshilfen verwendet und sollten deklariert werden, wenn Ihr ETL-Prozess oder ein anderer Prozess in Ihrer Anwendung ihre Integrität erzwingt.

Beispielsweise verwendet der Abfrageplaner Primär- und Fremdschlüssel in bestimmten statistischen Berechnungen. Dadurch sollen Eindeutigkeit und referentielle Beziehungen abgeleitet werden, die die Entkorrelierung von Unterabfragen beeinflussen. Somit können eine große Anzahl von Joins in Auftrag gegeben und redundante Joins entfernt werden.

Der Planer nutzt diese Schlüsselbeziehungen, nimmt jedoch an, dass alle Schlüssel in Amazon-Redshift-Tabellen wie geladen gültig sind. Wenn Ihre Anwendung ungültige Fremd- oder Primärschlüssel zulässt, könnten einige Abfragen falsche Ergebnisse zurückgeben. Beispielsweise kann eine SELECT DISTINCT-Abfrage duplizierte Zeilen zurückgeben, wenn der Primärschlüssel nicht eindeutig ist. Definieren Sie keine Schlüsseleinschränkungen für Ihre Tabellen, wenn Sie sich hinsichtlich ihrer Gültigkeit nicht sicher sind. Deklarieren Sie Einschränkungen hinsichtlich Primärschlüsseln, Fremdschlüsseln und Eindeutigkeit jedoch immer, wenn Sie wissen, dass sie gültig sind.

Amazon Redshift erzwingt NOT NULL-Spalteneinschränkungen.

Weitere Informationen zu diesen Tabelleneinschränkungen finden Sie unter CREATE TABLE. Hinweise zum Entfernen einer Tabelle mit Abhängigkeiten finden Sie unter DROP TABLE.