Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

MySQL - znaczenie PRIMARY KEY, UNIQUE KEY i KEY używane razem podczas tworzenia tabeli

Klucz to zwykły indeks. Zbytnim uproszczeniem jest myślenie o tym jak o katalogu kartkowym w bibliotece. Wskazuje MySQL we właściwym kierunku.

Unikalny klucz jest również używany do poprawy szybkości wyszukiwania, ale ma ograniczenie polegające na tym, że nie może być zduplikowanych elementów (nie ma dwóch x i y, gdzie x nie jest y i x ==y).

Instrukcja wyjaśnia to w następujący sposób:

Indeks UNIQUE tworzy ograniczenie, tak że wszystkie wartości w indeksie muszą być różne. Jeśli spróbujesz dodać nowy wiersz z wartością klucza, która pasuje do istniejącego wiersza, wystąpi błąd. To ograniczenie nie dotyczy wartości NULL, z wyjątkiem mechanizmu przechowywania BDB. W przypadku innych aparatów indeks aUNIQUE zezwala na wiele wartości NULL dla kolumn, które mogą zawierać NULL. Jeśli określisz wartość prefiksu dla kolumny w indeksie UNIQUE, wartości kolumny muszą być unikatowe w obrębie prefiksu.

Klucz podstawowy jest „specjalnym” unikalnym kluczem. Zasadniczo jest to unikalny klucz, z wyjątkiem tego, że służy do identyfikacji czegoś.

Podręcznik wyjaśnia, jak ogólnie używane są indeksy:tutaj.

W MSSQL koncepcje są podobne. Istnieją indeksy, unikalne ograniczenia i klucze podstawowe.

Nie przetestowano, ale uważam, że odpowiednikiem MSSQL jest:

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);

Edycja:powyższy kod jest testowany pod kątem poprawności; jednak podejrzewam, że jest do tego znacznie lepsza składnia. Minęło trochę czasu, odkąd korzystałem z serwera SQL i najwyraźniej trochę zapomniałem :).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa funkcja RIGHT() w SQL Server (T-SQL)

  2. Kolejność wykonania zapytania SQL

  3. 4 sposoby sprawdzania zduplikowanych wierszy w SQL Server

  4. Jak utworzyć procedurę składowaną w SQL Server

  5. Data obsługi w SQL Server