SkillByAIइंटरैक्टिव संस्करण खोलें →

पाठ 22 / 30

बाध्यताएँ (Constraints)

UNIQUE, NOT NULL, CHECK और ON DELETE CASCADE जैसी foreign key actions से data गुणवत्ता लागू करें।

UNIQUE, CHECK, NOT NULL

बाध्यताएँ ख़राब डेटा को संग्रहीत होने से पहले ही रोक देती हैं।

CREATE TABLE products (
  id INT AUTO_INCREMENT PRIMARY KEY,
  sku VARCHAR(20) UNIQUE NOT NULL,
  price DECIMAL(10,2) CHECK (price >= 0)
);

Cascading deletes

ON DELETE CASCADE पैरेंट पंक्ति हटते ही उससे जुड़ी चाइल्ड पंक्तियों को अपने-आप हटा देता है।

CREATE TABLE order_items (
  id INT AUTO_INCREMENT PRIMARY KEY,
  order_id INT NOT NULL,
  product_id INT NOT NULL,
  quantity INT NOT NULL,
  FOREIGN KEY (order_id) REFERENCES orders(id)
    ON DELETE CASCADE
);

Cascade सावधानी से उपयोग करें

Cascading deletes सुविधाजनक हैं, लेकिन parent पर एक DELETE चुपचाप बहुत सारा संबंधित data मिटा सकता है, इसलिए सावधानी रखें। CHECK constraints MySQL 8.0.16 से लागू होते हैं।