- 主キー制約: 主キー制約は、テーブル内の特定の列(主キー列)に一意性と非NULL制約を課すものです。これにより、データの一意性が保証され、データの一貫性と参照の完全性が維持されます。
例: CREATE TABLE Users ( id INT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE );
- 外部キー制約: 外部キー制約は、2つの関連するテーブル間の整合性を保証します。外部キーは、参照先テーブルの主キーと関連付けられ、データの参照の一貫性を確保します。
例: CREATE TABLE Orders ( id INT PRIMARY KEY, user_id INT, product_id INT, FOREIGN KEY (user_id) REFERENCES Users(id), FOREIGN KEY (product_id) REFERENCES Products(id) );
- ユニーク制約: ユニーク制約は、特定の列に一意性を課すものです。これにより、重複したデータの挿入を防ぎ、データの品質と一貫性を確保します。
例: CREATE TABLE Products ( id INT PRIMARY KEY, name VARCHAR(50) UNIQUE, price DECIMAL(10,2) );
- チェック制約: チェック制約は、特定の列に設定された条件を満たすデータのみを挿入または更新できるようにします。これにより、データの妥当性を確保します。
例: CREATE TABLE Employees ( id INT PRIMARY KEY, name VARCHAR(50), age INT, salary DECIMAL(10,2), CHECK (age > 18 AND salary > 0) );
データベース制約は、データの整合性と保護を確保するために非常に重要です。適切に設計されたデータベース制約は、不正なデータの挿入や更新を防ぎ、データの品質を向上させます。これにより、データベースの信頼性と信頼性が向上し、アプリケーションの安定性とパフォーマンスが向上します。