sql / intermediate
Snippet
Erzwingung der Datenvalidität mit Mehrspalten-CHECK-Constraints
CHECK-Constraints garantieren die Datenintegrität direkt auf Schemaebene. Mehrspaltige CHECK-Bedingungen prüfen logische Beziehungen zwischen mehreren Attributen derselben Zeile, bevor eine INSERT- oder UPDATE-Transaktion zugelassen wird.
snippet.sql
sql
1
2
3
4
5
6
7
8
9
CREATE TABLE promotional_events (event_id INT PRIMARY KEY,event_name VARCHAR(100) NOT NULL,start_date DATE NOT NULL,end_date DATE NOT NULL,discount_rate DECIMAL(5, 2) NOT NULL,CONSTRAINT chk_event_dates CHECK (end_date >= start_date),CONSTRAINT chk_discount_range CHECK (discount_rate BETWEEN 0.00 AND 100.00));
Erklärung
1
CREATE TABLE promotional_events (
Beginnt mit der Erstellung einer neuen relationalen Tabellenschemadefinition.
2
discount_rate DECIMAL(5, 2) NOT NULL,
Definiert einen exakten Festkomma-Datentyp mit 5 Gesamtziffern und 2 Nachkommastellen.
3
CONSTRAINT chk_event_dates CHECK (end_date >= start_date),
Erzwingt eine spaltenübergreifende Validierung, die chronologisch ungültige Zeiträume verhindert.
4
CONSTRAINT chk_discount_range CHECK (discount_rate BETWEEN 0.00 AND 100.00)
Stellt sicher, dass Prozentwerte auf Datenbankebene streng innerhalb der gültigen Grenzen bleiben.