Jak przechowywać unikalne informacje dla każdego elementu w tabeli relacyjnej?
sobes.tech AI
Odpowiedź od AI
W relacyjnej bazie danych unikalność rekordu w tabeli jest określana przez klucz główny. Każdy wiersz musi mieć unikalną wartość w kolumnie (lub zestawie kolumn), wyznaczonych jako klucz główny. To zapewnia, że można jednoznacznie zidentyfikować każdy rekord.
Oto kilka sposobów zapewnienia unikalności:
-
Autoinkrementujący klucz główny: Najczęściej stosowane podejście. Tworzy się pole całkowite, które automatycznie się zwiększa dla każdego nowego rekordu.
CREATE TABLE uzytkownicy ( id INTEGER PRIMARY KEY AUTOINCREMENT, // Unikalny automatycznie generowany ID nazwa_uzytkownika TEXT, email TEXT UNIQUE // Dodatkowa unikalność dla email ); -
UUID (Uniwersalny Unikalny Identyfikator): Jeśli trzeba generować unikalne identyfikatory po stronie klienta lub w rozproszonym środowisku, można użyć UUID.
CREATE TABLE produkty ( id TEXT PRIMARY KEY, // Unikalny UUID w formacie tekstowym nazwa TEXT, cena REAL ); -
Klucz naturalny: Jeśli unikalność jest gwarantowana przez jedno lub kilka istniejących pól danych.
CREATE TABLE Kraje ( iso_code TEXT PRIMARY KEY, // Kod kraju jest unikalny na świecie nazwa TEXT ); -
Klucz złożony: Kombinacja kilku kolumn w celu zapewnienia unikalności rekordu.
CREATE TABLE PozycjeZamowienia ( order_id INTEGER, product_id INTEGER, quantity INTEGER, PRIMARY KEY (order_id, product_id) // Para order_id + product_id jest unikalna );
Wybór metody zależy od wymagań dotyczących identyfikacji danych. Klucz główny jest najważniejszy.