一意キー は、列 (または列の組み合わせ) のすべての値がテーブル内の行全体で確実に異なることを保証する制約です。これは、一意のキー列で 2 つの行が同じ値を持つことができないことを意味します。重複エントリを防止することで、データの整合性を維持するのに役立ちます。
独自性:
一意のキー列の各値は個別である必要があります。
Null 値を許可します:
主キーとは異なり、一意キーではデータベース システムに応じて 1 つ以上の NULL 値が許可されます。ただし、これらの NULL 値は一意性ルールに違反することはできません (たとえば、2 つの行が一意のキーに同じ非 null 値を持つことはできません)。
複数の一意のキー:
テーブルには複数の一意のキーを持つことができ、それぞれの列の一意性が保証されます。
インデックスの作成:
一意のキーにより、データベース内に一意のインデックスが自動的に作成され、検索が最適化されます。
CREATE TABLE users ( user_id INT PRIMARY KEY, email VARCHAR(255) UNIQUE, username VARCHAR(255) UNIQUE );
ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
INSERT INTO users (user_id, email, username) VALUES (1, 'user@example.com', 'user123');
INSERT INTO users (user_id, email, username) VALUES (2, 'user@example.com', 'user456');
Aspect | Primary Key | Unique Key |
---|---|---|
Uniqueness | Ensures unique values. | Ensures unique values. |
Null Values | Does not allow NULL values. | Allows NULL values (varies by system). |
Number in Table | Only one primary key per table. | Multiple unique keys per table. |
データの重複を防止:
電子メールやユーザー名などの重要なフィールドが一意であることを保証します。
サポート ビジネス ルール:
アプリケーション固有の制約を維持することにより、データの整合性を強化します。
クエリの最適化:
基礎となる一意のインデックスは、データ取得の高速化に役立ちます。
ユーザー認証:
アカウント作成には一意のメールアドレスまたはユーザー名を使用してください。
在庫管理:
製品 ID またはバーコードの重複を防止します。
銀行システム:
固有のアカウント番号またはカード詳細を強制します。
一意キーは、データの整合性を維持し、データベース内の重複エントリを防ぐための重要な SQL 機能です。テーブル内で複数の一意の制約を許可することで主キーを補完し、データベース設計における多用途のツールとなります。
こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。
以上がSQL の一意のキーを理解する: データの整合性を確保するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。