Office: CONSTRAINT-Klausel

Helfe beim Thema CONSTRAINT-Klausel in Microsoft Access Tutorials um das Problem gemeinsam zu lösen; CONSTRAINT-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007... Dieses Thema im Forum "Microsoft Access Tutorials" wurde erstellt von Tutorials, 1. Januar 2020.

  1. Tutorials
    Tutorials Neuer User

    CONSTRAINT-Klausel


    CONSTRAINT-Klausel
    Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger Eine Einschränkung hat Ähnlichkeit mit einem Index, obwohl sie ebenfalls zum Herstellen einer Beziehung mit einer anderen Tabelle verwendet werden kann.

    Sie verwenden die CONSTRAINT-Klausel in ALTER TABLE- und CREATE TABLE-Anweisungen, um Einschränkungen zu erstellen oder zu löschen. Es gibt zwei Arten von CONSTRAINT-Klauseln: eine zum Erstellen einer Einschränkung für ein einzelnes Feld und eine zum Erstellen einer Einschränkung für mehrere Felder.

    Hinweis: Bei Nicht-Microsoft Access-Datenbanken wird die Verwendung von CONSTRAINT oder einer der DDL-Anweisungen (Data Definition Language) vom Microsoft Access-Datenbankmodul nicht unterstützt. Verwenden Sie stattdessen die DAO Create-Methoden.

    Syntax
    Einschränkung für ein einzelnes Feld:

    CONSTRAINT-Name {PRIMARY KEY | UNIQUE | NOT NULL |
    REFERENCES Fremdtabelle [(Fremdfeld1, Fremdfeld2)]
    [ON UPDATE CASCADE | SET NULL]
    [ON DELETE CASCADE | SET NULL]}

    Einschränkung für mehrere Felder:

    CONSTRAINT-Name
    {PRIMARY KEY (Primärschlüssel1[, Primärschlüssel2 [, ...]]) |
    UNIQUE (EindeutigesFeld1[, EindeutigesFeld2 [, ...]]) |
    NOT NULL (NichtNULLFeld1[, NichtNULLFeld2 [, ...]]) |
    FOREIGN KEY [NO INDEX] (Bezug1[, Bezug2 [, ...]]) REFERENCES Fremdtabelle [(Fremdfeld1 [, Fremdfeld2 [, ...]])]
    [ON UPDATE CASCADE | SET NULL]
    [ON DELETE CASCADE | SET NULL]}

    Die CONSTRAINT-Klausel besteht aus diesen Teilen:

    Teil

    Beschreibung

    Name

    Der Name der Einschränkung, die erstellt werden soll.

    Primärschlüssel1, Primärschlüssel2

    Der Name des Felds oder der Felder, die als Primärschlüssel festgelegt werden.

    EindeutigesFeld1, EindeutigesFeld2

    Der Name des Felds oder der Felder, die als Eindeutiger Schlüssel festgelegt werden.

    NichtNULLFeld1, NichtNULLFeld2

    Der Name des Felds/der Felder, die auf NULL ausschließende Werte eingeschränkt sind.

    Bezug1, Bezug2

    Der Name eines FremdschlüsselFelds/-Feldern, die auf Felder in einer anderen Tabelle verweisen.

    Fremdtabelle

    Der Name der Fremdtabelle, die die von Fremdfeld angegebenen Felder enthält.

    Fremdfeld1, Fremdfeld2

    Der Name des Felds oder der Felder in Fremdtabelle, das bzw. die durch Bezug1, Bezug2 angegeben wird/werden. Sie können diese Klausel fortlassen, wenn das Feld, auf das verwiesen wird, den Primärschlüssel der Fremdtabelle darstellt.


    Hinweise
    Sie können die Syntax für die Einschränkung für ein einzelnes Feld in der Felddefinitionsklausel einer ALTER TABLE- oder CREATE TABLE-Anweisung unmittelbar im Anschluss an die Angabe des Datentyps des Felds verwenden.

    Sie verwenden die Syntax für eine Einschränkung für mehrere Felder immer, wenn Sie das Reserviertes Wort CONSTRAINT außerhalb einer Felddefinitionsklausel in einer ALTER TABLE- oder CREATE TABLE-Anweisung verwenden.

    Mithilfe von CONSTRAINT können Sie ein Feld als eine der folgenden Arten von Einschränkungen bestimmen:

    • Sie können das reservierte Wort UNIQUE verwenden, um ein Feld als eindeutigen Schlüssel zu bestimmen. Dies bedeutet, dass keine zwei Datensätze in der Tabelle in diesem Feld den gleichen Wert aufweisen können. Sie können ein beliebiges Feld oder eine beliebige Feldliste als eindeutig bestimmen. Wenn eine mehrere Felder umfassende Einschränkung als eindeutiger Schlüssel bestimmt wird, müssen die kombinierten Werte aller Felder im Index eindeutig sein, selbst wenn zwei oder mehr Datensätze in auch nur einem der Felder den gleichen Wert aufweisen.
    • Sie können die reservierten Wörter PRIMARY KEY verwenden, um ein Feld oder eine Menge von Feldern in einer Tabelle als Primärschlüssel festzulegen. Alle Werte im Primärschlüssel müssen eindeutig und dürfen nicht NULL sein, und es kann nur einen Primärschlüssel für eine Tabelle geben.

      Hinweis: Legen Sie keine Einschränkung PRIMARY KEY für eine Tabelle fest, die bereits einen Primärschlüssel aufweist; andernfalls tritt ein Fehler auf.
    • Sie können die reservierten Wörter FOREIGN KEY verwenden, um ein Feld als Fremdschlüssel festzulegen. Wenn der Primärschlüssel der Fremdtabelle aus mehreren Feldern besteht, müssen Sie eine Einschränkungsdefinition für mehrere Felder verwenden, die alle verweisenden Felder, den Namen der Fremdtabelle und die Namen der Felder in der Fremdtabelle, auf die verwiesen wird, in der gleichen Reihenfolge wie die verweisenden Felder enthält. Wenn es sich bei dem Feld oder den Feldern, auf die verweisen wird, um den Primärschlüssel der Fremdtabelle handelt, brauchen Sie die Felder, auf die verwiesen wird, nicht anzugeben. Standardmäßig verhält sich das Datenbankmodul so, dass es den Primärschlüssel der Fremdtabelle als das Feld ansieht, auf das verwiesen wird.

      Fremdschlüsseleinschränkungen definieren spezifische Aktionen, die ausgeführt werden sollen, wenn sich ein entsprechender Primärschlüsselwert ändert:
    • Sie können Aktionen angeben, die für die Fremdtabelle ausgeführt werden sollen. Die Grundlage bildet eine entsprechende Aktion, die für den Primärschlüssel in der Tabelle ausgeführt wird, in der die CONSTRAINT-Einschränkung definiert ist. Als Beispiel kann die folgende Definition für die Tabelle "Customers" dienen:
    CREATE TABLE Customers (CustId INTEGER PRIMARY KEY, CLstNm NCHAR VARYING (50))

    Betrachten Sie die folgende Definition der Tabelle "Orders", die eine Fremdschlüsselbeziehung definiert, die auf den Primärschlüssel der Tabelle "Customers" verweist:

    CREATE TABLE Orders (OrderId INTEGER PRIMARY KEY, CustId INTEGER, OrderNotes NCHAR VARYING (255), CONSTRAINT FKOrdersCustId FOREIGN KEY (CustId) REFERENCES Customers ON UPDATE CASCADE ON DELETE CASCADE

    Für den Fremdschlüssel sind sowohl eine Klausel ON UPDATE CASCADE als auch eine Klausel ON DELETE CASCADE definiert. Die ON UPDATE CASCADE-Klausel bedeutet, dass eine Aktualisierung des Kundenbezeichners (CustId) in der Tabelle "Customer" durch die Tabelle "Orders" kaskadiert wird. Jeder Auftrag, der einen entsprechenden Wert für den Kundenbezeichner enthält, wird automatisch mit dem neuen Wert aktualisiert. Die ON DELETE CASCADE-Klausel bedeutet, dass im Fall der Löschung eines Kunden aus der Tabelle "Customer" alle Zeilen in der Tabelle "Orders", die den gleichen Wert für den Kundenbezeichner enthalten, ebenfalls gelöscht werden.

    Betrachten Sie die folgende abweichende Definition der Tabelle "Orders" die eine Aktion SET NULL anstelle der Aktion CASCADE verwendet:

    CREATE TABLE Orders (OrderId INTEGER PRIMARY KEY, CustId INTEGER, OrderNotes NCHAR VARYING (255), CONSTRAINT FKOrdersCustId FOREIGN KEY (CustId) REFERENCES Customers ON UPDATE SET NULL ON DELETE SET NULL

    Die Klausel ON UPDATE SET NULL bedeutet, dass im Fall der Aktualisierung eines Kundenbezeichners (CustId) in der Tabelle "Customer" die entsprechenden Fremdschlüsselwerte in der Tabelle "Orders" automatisch auf NULL festgelegt werden. Analog dazu bedeutet die Klausel ON DELETE SET NULL, dass bei Löschung eines Kunden aus der Tabelle "Customer" alle entsprechenden Fremdschlüssel in der Tabelle "Orders" automatisch auf NULL festgelegt werden.

    Um die automatische Erstellung von Indizes für Fremdschlüssel zu verhindern, kann der Modifizierer NO INDEX verwendet werden. Diese Form der Fremdschlüsseldefinition sollte nur in Fällen verwendet werden, in denen die sich ergebenden Indexwerte häufig dupliziert würden. Wenn die Werte in einem Fremdschlüsselindex häufig dupliziert werden, kann die Verwendung eines Index weniger effizient sein als ein einfacher Tabellenscan. Die Wartung dieses Indextyps verringert die Leistung und bietet keinerlei Vorteile, wenn Zeilen in die Tabelle eingefügt und aus ihr gelöscht werden.

    :)
     
    Tutorials, 1. Januar 2020
    #1
Thema:

CONSTRAINT-Klausel

Die Seite wird geladen...
  1. CONSTRAINT-Klausel - Similar Threads - CONSTRAINT Klausel

  2. WENN-Klausel in Makro mit Abfrage kombinieren

    in Microsoft Access Hilfe
    WENN-Klausel in Makro mit Abfrage kombinieren: Hallo Leute, Ich möchte in meiner Datenbank ein Makro schreiben, dass folgende Funktionen ausführt. Die Abfrage1 mit insgesamt 3 Spalten öffnen. Danach eine Spalte daraus auswerten (Wert <20),...
  3. WHERE-Klausel

    in Microsoft Access Tutorials
    WHERE-Klausel: WHERE-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  4. Access SQL: WHERE-Klausel

    in Microsoft Access Tutorials
    Access SQL: WHERE-Klausel: Access SQL: WHERE-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  5. GROUP BY-Klausel

    in Microsoft Access Tutorials
    GROUP BY-Klausel: GROUP BY-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  6. FROM-Klausel

    in Microsoft Access Tutorials
    FROM-Klausel: FROM-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  7. PROCEDURE-Klausel

    in Microsoft Access Tutorials
    PROCEDURE-Klausel: PROCEDURE-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  8. ORDER BY-Klausel

    in Microsoft Access Tutorials
    ORDER BY-Klausel: ORDER BY-Klausel Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Mehr... Weniger...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden