Rumah > Artikel > hujung hadapan web > Kunci dalam SQL | Kunci Utama | Kunci Asing| Kunci Calon|Kunci Komposit |Kunci Ganti|Kunci Super|Kunci Ganti| Kunci Unik
Dalam SQL, kunci digunakan untuk mengenal pasti baris dalam jadual secara unik, menguatkuasakan perhubungan antara jadual dan mengekalkan integriti data. Terdapat pelbagai jenis kunci, setiap satu mempunyai tujuan tertentu. Di bawah ialah pecahan pelbagai kunci dengan contoh mudah:
Kunci primer secara unik mengenal pasti setiap rekod dalam jadual. Ia tidak boleh mempunyai nilai NULL dan hanya boleh ada satu kunci utama bagi setiap jadual.
Contoh:
BUAT JADUAL Pelajar (
StudentID INT PRIMARY KUNCI, -- Primary Key
Nama VARCHAR(50),
Umur INT
);
Di sini, StudentID ialah kunci utama, bermakna setiap nilai StudentID mestilah unik dan bukan nol.
Kunci asing ialah lajur (atau set lajur) yang mewujudkan hubungan antara dua jadual. Ia menunjuk ke kunci utama jadual lain, menguatkuasakan integriti rujukan.
Contoh:
CIPTA JADUAL Kursus (
CourseID INT PRIMARY KEY, -- Primary Key
Nama Kursus VARCHAR(50)
);
BUAT PENDAFTARAN JADUAL (
ID Pendaftaran INT KUNCI UTAMA,
StudentID INT,
CourseID INT,
KUNCI ASING (ID Kursus) RUJUKAN Kursus(ID Kursus) -- Kunci Asing
);
Di sini, CourseID dalam jadual Enrolmen ialah kunci asing yang merujuk CourseID dalam jadual Kursus.
Kunci calon ialah lajur (atau set lajur) yang boleh mengenal pasti baris dalam jadual secara unik. Jadual boleh mempunyai berbilang kunci calon, tetapi hanya satu daripadanya dipilih sebagai kunci utama.
Contoh:
BUAT MEJA Pekerja (
EmployeeID INT, -- Kunci Calon
E-mel VARCHAR(100), -- Kunci Calon
Nama VARCHAR(50),
KUNCI UTAMA (ID Pekerja) -- Dipilih sebagai Kunci Utama
);
Dalam jadual ini, EmployeeID dan E-mel boleh mengenal pasti baris secara unik, jadi ia adalah kunci calon. Walau bagaimanapun, EmployeeID dipilih sebagai kunci utama.
Kunci komposit ialah kunci utama yang terdiri daripada dua atau lebih lajur, yang bersama-sama mengenal pasti secara unik baris dalam jadual.
Contoh:
BUAT Pesanan JADUAL (
OrderID INT,
ProductID INT,
Kuantiti INT,
KUNCI UTAMA (ID Pesanan, ID Produk) -- Kunci Komposit
);
Di sini, kedua-dua OrderID dan ProductID bersama-sama membentuk kunci komposit. Tiada dua baris boleh mempunyai gabungan OrderID dan ProductID yang sama.
Kunci ganti ialah sebarang kunci calon yang tidak dipilih sebagai kunci utama.
Contoh:
BUAT JADUAL Kenderaan (
VehicleID INT, -- Kunci Utama
Plat Lesen VARCHAR(50), -- Kunci Ganti
Nama Pemilik VARCHAR(50),
KUNCI UTAMA (ID Kenderaan)
);
Di sini, LicensePlate ialah kunci calon tetapi bukan kunci utama, jadi ia adalah kunci ganti.
Kunci unik memastikan semua nilai dalam lajur atau set lajur berbeza antara satu sama lain. Tidak seperti kunci utama, kunci unik boleh mempunyai nilai NULL.
Contoh:
BUAT Pengguna JADUAL (
KUNCI UTAMA INT Pengguna ID,
E-mel VARCHAR(100) UNIK, -- Kunci Unik
Nama pengguna VARCHAR(50)
);
Di sini, E-mel ialah kunci unik, memastikan tiada dua pengguna mempunyai alamat e-mel yang sama, tetapi ia boleh membenarkan nilai NULL (jika mahu).
Kunci super ialah set satu atau lebih lajur yang boleh mengenal pasti baris dalam jadual secara unik. Kunci calon ialah kunci super minimum (iaitu, tiada lajur boleh dialih keluar daripadanya tanpa kehilangan sifat keunikan).
Contoh:
Dalam jadual Pekerja:
(EmployeeID, E-mel) -- Super Key (kerana EmployeeID dan E-mel bersama-sama boleh mengenal pasti baris secara unik)
Sebarang gabungan yang boleh mengenal pasti baris secara unik, seperti EmployeeID atau E-mel sahaja, atau kedua-duanya bersama-sama, boleh dianggap sebagai kunci super.
Kunci pengganti ialah kunci tiruan yang digunakan sebagai pengecam unik untuk jadual. Ia selalunya merupakan nilai yang dijana sistem seperti integer kenaikan automatik yang tidak mempunyai makna dunia sebenar.
Contoh:
BUAT Pesanan JADUAL (
OrderID INT AUTO_INCREMENT, -- Kunci Pengganti
Nama Produk VARCHAR(50),
Kuantiti INT,
KUNCI UTAMA (OrderID)
);
Di sini, OrderID ialah kunci pengganti, biasanya dijana oleh sistem pangkalan data, tanpa sebarang makna perniagaan langsung.
Ringkasan Kunci:
Setiap kunci ini memainkan peranan penting dalam mereka bentuk pangkalan data yang tersusun dengan baik yang memastikan integriti data dan pertanyaan yang cekap.
Atas ialah kandungan terperinci Kunci dalam SQL | Kunci Utama | Kunci Asing| Kunci Calon|Kunci Komposit |Kunci Ganti|Kunci Super|Kunci Ganti| Kunci Unik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!