Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

MySQL - Arti KUNCI UTAMA, KUNCI UNIK dan KUNCI saat digunakan bersama saat membuat tabel

Kunci hanyalah indeks biasa. Cara penyederhanaan adalah menganggapnya seperti katalog kartu di perpustakaan. Ini mengarahkan MySQL ke arah yang benar.

Kunci unik juga digunakan untuk meningkatkan kecepatan pencarian, tetapi memiliki batasan bahwa tidak boleh ada item duplikat (tidak ada dua x dan y di mana x bukan y dan x ==y).

Manual menjelaskannya sebagai berikut:

Indeks UNIK membuat batasan sedemikian rupa sehingga semua nilai dalam indeks harus berbeda. Terjadi kesalahan jika Anda mencoba menambahkan baris baru dengan nilai kunci yang cocok dengan baris yang sudah ada. Batasan ini tidak berlaku untuk nilai NULL kecuali untuk mesin penyimpanan BDB. Untuk mesin lain, indeks aUNIQUE mengizinkan beberapa nilai NULL untuk kolom yang dapat berisi NULL. Jika Anda menentukan nilai awalan untuk kolom dalam indeks UNIK, nilai kolom harus unik di dalam awalan.

Kunci utama adalah kunci unik 'khusus'. Ini pada dasarnya adalah kunci yang unik, kecuali bahwa itu digunakan untuk mengidentifikasi sesuatu.

Manual ini menjelaskan bagaimana indeks digunakan secara umum:di sini.

Dalam MSSQL, konsepnya serupa. Ada indeks, batasan unik, dan kunci utama.

Belum diuji, tetapi saya yakin padanan MSSQL adalah:

CREATE TABLE tmp (
  id int NOT NULL PRIMARY KEY IDENTITY,
  uid varchar(255) NOT NULL CONSTRAINT uid_unique UNIQUE,
  name varchar(255) NOT NULL,
  tag int NOT NULL DEFAULT 0,
  description varchar(255),
);

CREATE INDEX idx_name ON tmp (name);
CREATE INDEX idx_tag ON tmp (tag);

Sunting:kode di atas diuji kebenarannya; namun, saya menduga ada sintaks yang jauh lebih baik untuk melakukannya. Sudah lama saya tidak menggunakan SQL server, dan ternyata saya agak lupa :).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memanggil API dari prosedur tersimpan SQL Server

  2. Cache Objek Sementara SQL Server

  3. Harus mendeklarasikan variabel skalar

  4. Prioritas Tipe Data di SQL Server

  5. Cara meneruskan array string dalam parameter SQL ke klausa IN dalam SQL