Rumah > pangkalan data > tutorial mysql > Memahami Kunci Unik dalam SQL: Memastikan Integriti Data

Memahami Kunci Unik dalam SQL: Memastikan Integriti Data

Linda Hamilton
Lepaskan: 2025-01-01 00:59:09
asal
546 orang telah melayarinya

Understanding Unique Keys in SQL: Ensuring Data Integrity

Apakah Kunci Unik dalam SQL?

Kunci Unik dalam SQL ialah kekangan yang memastikan semua nilai dalam lajur (atau gabungan lajur) adalah berbeza merentas baris dalam jadual. Ini bermakna tiada dua baris boleh mempunyai nilai yang sama dalam lajur kunci unik. Ia membantu mengekalkan integriti data dengan menghalang entri pendua.


Ciri-ciri Utama Kunci Unik

  1. Keunikan:

    Setiap nilai dalam lajur kunci unik mestilah berbeza.

  2. Membenarkan Nilai Null:

    Tidak seperti kunci utama, kunci unik membenarkan satu atau lebih nilai NULL, bergantung pada sistem pangkalan data. Walau bagaimanapun, nilai NULL ini tidak boleh melanggar peraturan keunikan (cth., dua baris tidak boleh mempunyai nilai bukan nol yang sama dalam kunci unik).

  3. Berbilang Kunci Unik:

    Jadual boleh mempunyai berbilang kunci unik, setiap satu memastikan keunikan lajur masing-masing.

  4. Penciptaan Indeks:

    Kekunci unik secara automatik mencipta indeks unik dalam pangkalan data, yang mengoptimumkan carian.


Sintaks untuk Mencipta Kunci Unik

Semasa Mencipta Jadual:

CREATE TABLE users (
    user_id INT PRIMARY KEY,
    email VARCHAR(255) UNIQUE,
    username VARCHAR(255) UNIQUE
);
Salin selepas log masuk
  • Di sini, e-mel dan lajur nama pengguna ialah kunci unik, memastikan tiada dua pengguna mempunyai e-mel atau nama pengguna yang sama.

Menambah Kunci Unik pada Jadual Sedia Ada:

ALTER TABLE users ADD CONSTRAINT unique_email UNIQUE (email);
Salin selepas log masuk

Contoh

Memasukkan Data ke dalam Jadual dengan Kekunci Unik:

INSERT INTO users (user_id, email, username) 
VALUES (1, 'user@example.com', 'user123');
Salin selepas log masuk
  • Jika anda cuba memasukkan nilai pendua dalam lajur e-mel atau nama pengguna:
INSERT INTO users (user_id, email, username) 
VALUES (2, 'user@example.com', 'user456');
Salin selepas log masuk
  • Pertanyaan ini akan gagal kerana nilai e-mel sudah wujud.

Perbezaan Antara Kunci Utama dan Kunci Unik

Aspek Kunci Utama Kunci Unik
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.
Keunikan Memastikan nilai unik. Memastikan nilai unik. Nilai Null Tidak membenarkan nilai NULL. Membenarkan nilai NULL (berbeza mengikut sistem). Nombor dalam Jadual Hanya satu kunci utama bagi setiap jadual. Berbilang kunci unik setiap jadual.

Mengapa Gunakan Kunci Unik?

  1. Halang Data Pendua:

    Memastikan medan penting, seperti e-mel atau nama pengguna, kekal unik.

  2. Peraturan Perniagaan Sokongan:

    Menguatkuasakan integriti data dengan mengekalkan kekangan khusus untuk aplikasi.

  3. Optimumkan Pertanyaan:

    Indeks unik asas membantu mempercepatkan pengambilan data.


Kes Penggunaan Praktikal

  • Pengesahan Pengguna:

    Pastikan e-mel atau nama pengguna unik untuk penciptaan akaun.

  • Pengurusan Inventori:

    Cegah ID produk atau kod bar pendua.

  • Sistem Perbankan:

    Kuatkuasakan nombor akaun atau butiran kad yang unik.


Kesimpulan

Kunci unik ialah ciri SQL yang penting untuk mengekalkan integriti data dan menghalang entri pendua dalam pangkalan data anda. Ia melengkapkan kunci utama dengan membenarkan berbilang kekangan unik dalam jadual, menjadikannya alat serba boleh dalam reka bentuk pangkalan data.

Hai, saya Abhay Singh Kathayat! Saya seorang pembangun timbunan penuh dengan kepakaran dalam kedua-dua teknologi hadapan dan belakang. Saya bekerja dengan pelbagai bahasa pengaturcaraan dan rangka kerja untuk membina aplikasi yang cekap, berskala dan mesra pengguna.
Jangan ragu untuk menghubungi saya melalui e-mel perniagaan saya: kaashshorts28@gmail.com.

Atas ialah kandungan terperinci Memahami Kunci Unik dalam SQL: Memastikan Integriti Data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan