Februar 24, 2022

SQL SERVER – 2008 – Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung

Primärschlüssel, Fremdschlüssel und Standardeinschränkung sind die 3 Haupteinschränkungen, die beim Erstellen von Tabellen oder sogar danach berücksichtigt werden müssen. Es scheint sehr einfach zu sein, diese Einschränkungen anzuwenden, aber wir haben immer noch einige Verwirrungen und Probleme bei der Implementierung. Also habe ich versucht, über diese Einschränkungen zu schreiben, die auf verschiedenen Ebenen und auf verschiedene Arten oder Methoden erstellt oder hinzugefügt werden können.

Primärschlüsseleinschränkung: Primärschlüsseleinschränkungen verhindern doppelte Werte für Spalten und bieten jeder Spalte eine eindeutige Kennung.

1) Create Table-Anweisung zum Erstellen des Primärschlüssels

a. Spaltenebene

USE AdventureWorks2008GOCREATE TABLE Products(ProductID INT CONSTRAINT pk_products_pid PRIMARY KEY,ProductName VARCHAR(25));GO

b. Tabelle Ebene

CREATE TABLE Products(ProductID INT,ProductName VARCHAR(25)CONSTRAINT pk_products_pid PRIMARY KEY(ProductID));GO

2) Alter Table-Anweisung zum Erstellen des Primärschlüssels

ALTER TABLE ProductsADD CONSTRAINT pk_products_pid PRIMARY KEY(ProductID)GO

3) Alter-Anweisung zum Löschen des Primärschlüssels

ALTER TABLE ProductsDROP CONSTRAINT pk_products_pid;GO

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 5_AllQuery

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 5_AllQuery

Fremdschlüsseleinschränkung: Wenn eine Fremdschlüsseleinschränkung zu einer vorhandenen Spalte oder Spalten in der Tabelle hinzugefügt wird SQL Server überprüft standardmäßig die vorhandenen Daten in den Spalten, um sicherzustellen, dass alle Werte außer NULL in den Spalten des referenzierten PRIMÄRSCHLÜSSELS oder der EINDEUTIGEN Einschränkung vorhanden sind.

1) Create Table Anweisung zum Erstellen eines Fremdschlüssels

a. Spaltenebene

USE AdventureWorks2008GOCREATE TABLE ProductSales(SalesID INT CONSTRAINT pk_productSales_sid PRIMARY KEY,ProductID INT CONSTRAINT fk_productSales_pid FOREIGN KEY REFERENCES Products(ProductID),SalesPerson VARCHAR(25));GO

b. Tabelle Ebene

CREATE TABLE ProductSales(SalesID INT,ProductID INT,SalesPerson VARCHAR(25)CONSTRAINT pk_productSales_sid PRIMARY KEY(SalesID),CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID));GO

1) Alter Table-Anweisung zum Erstellen eines Fremdschlüssels

ALTER TABLE ProductSalesADD CONSTRAINT fk_productSales_pid FOREIGN KEY(ProductID)REFERENCES Products(ProductID)GO

2) Alter Table-Anweisung zum Löschen des Fremdschlüssels

ALTER TABLE ProductSalesDROP CONSTRAINT fk_productSales_pid;GO

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 10_ALLFKquery

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 10_ALLFKquery

Standardeinschränkung: Die Standardeinschränkung, die für eine Spalte erstellt wird, enthält die Standarddaten, die in der Einschränkung angegeben sind, wenn keine Datensätze oder Daten in diese Spalte eingefügt werden.

1) Create Table-Anweisung zum Erstellen der Standardeinschränkung

a. Spaltenebene

USE AdventureWorks2008GOCREATE TABLE Customer(CustomerID INT CONSTRAINT pk_customer_cid PRIMARY KEY,CustomerName VARCHAR(30),CustomerAddress VARCHAR(50) CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN');GO


b. Tabellenebene: Nicht anwendbar für Standardeinschränkung

2) Alter Table-Anweisung zum Hinzufügen einer Standardeinschränkung

ALTER TABLE CustomerADD CONSTRAINT df_customer_Add DEFAULT 'UNKNOWN' FOR CustomerAddressGO

3) Ändern Sie die Tabelle, um die Standardeinschränkung zu löschen

ALTER TABLE CustomerDROP CONSTRAINT df_customer_AddGO

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 14_DFAllQuery

 SQL SERVER - 2008 - Erstellen von Primärschlüssel, Fremdschlüssel und Standardeinschränkung 14_DFAllQuery

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.