| Termin | Definicja |
|---|---|
| Indeks unikalny | Indeks unikalny to indeks gwarantujący, że wartości w indeksowanej kolumnie nie powtarzają się w żadnym wierszu tabeli. Indeks unikalny jako mechanizm kontroli powtarzalnościIndeks unikalny to struktura tworzona w bazie danych po to, aby wartości zapisane w określonej kolumnie albo zestawie kolumn nie powtarzały się dla różnych wierszy. Oprócz przyspieszania wyszukiwania pełni więc funkcję reguły integralności danych. Jeżeli tabela zawiera na przykład kolumnę przeznaczoną na identyfikator użytkownika, numer seryjny urządzenia albo symbol dokumentu, indeks unikalny może wymusić, aby każda wartość występowała najwyżej raz. Unikalność może dotyczyć jednej kolumny lub kilku kolumn rozpatrywanych razem. W pierwszym przypadku każdy wpis w kolumnie musi być inny. W drugim pojedyncze wartości mogą się powtarzać, ale nie może powtórzyć się cały zestaw wartości objętych indeksem. Przykładowo, para składająca się z identyfikatora oddziału i numeru stanowiska może być unikalna, mimo że ten sam numer stanowiska występuje w wielu oddziałach. Różnica między indeksem unikalnym a kluczem głównymIndeks unikalny i klucz główny rozwiązują podobny problem, ale nie są pojęciami całkowicie równoważnymi. Klucz główny określa podstawowy sposób identyfikowania wiersza tabeli. W jednej tabeli może istnieć tylko jeden klucz główny, natomiast może istnieć kilka niezależnych ograniczeń unikalności, jeżeli różne kolumny muszą zachowywać odrębne reguły. Klucz główny nie dopuszcza wartości pustej, ponieważ każdy wiersz musi mieć identyfikator. W przypadku indeksu unikalnego sposób traktowania wartości pustych zależy od konkretnego silnika bazy danych i jego reguł. Nie należy więc zakładać, że każda baza interpretuje wiele wartości pustych identycznie. Przy projektowaniu tabel trzeba sprawdzić dokumentację używanego systemu oraz zdecydować, czy kolumna ma dodatkowo wymagać wartości niepustej. Wpływ unikalności na zapis i wyszukiwanie danychPodczas dodawania nowego wiersza albo zmiany wartości w istniejącym wierszu silnik bazy danych sprawdza, czy operacja nie narusza indeksu unikalnego. Próba zapisania duplikatu kończy się błędem i operacja nie powinna zostać zaakceptowana. Dzięki temu kontrola nie zależy wyłącznie od programu korzystającego z bazy. Nawet jeżeli dwa żądania pojawią się niemal jednocześnie, reguła zapisana w strukturze bazy może zablokować utworzenie sprzecznych rekordów. Indeks unikalny jest zwykle zorganizowany tak, aby odnajdywanie wartości i sprawdzanie jej obecności wymagało znacznie mniej pracy niż przeglądanie całej tabeli. Dokładna organizacja zależy od silnika i konfiguracji, dlatego nie należy przypisywać wszystkim bazom jednego algorytmu. Trzeba jednak uwzględnić koszt utrzymania indeksu: każda operacja dodania, usunięcia lub modyfikacji danych może wymagać aktualizacji tej struktury. Nadmiar indeksów zwiększa zużycie miejsca i może spowalniać zapis, mimo że poprawnie dobrany indeks przyspiesza odczyty. Ważne jest także jednoznaczne określenie zakresu unikalności. Jeżeli wymaganie dotyczy kilku pól, utworzenie osobnych indeksów dla każdej kolumny może dać inny rezultat niż jeden indeks obejmujący cały zestaw. Kolejność kolumn w indeksie złożonym wpływa na użyteczność podczas wyszukiwania, a zmiana znaczenia danych może wymagać przebudowy modelu tabeli. Z tego powodu indeks powinien wynikać z rzeczywistej reguły biznesowej i sposobu odczytywania danych, a nie tylko z intuicyjnej próby przyspieszenia zapytań. Rozpoznawanie konfliktu unikalności podczas pracy z komputeremProblem związany z indeksem unikalnym często pojawia się jako komunikat o naruszeniu ograniczenia, konflikcie klucza albo próbie wstawienia już istniejącej wartości. Sama treść błędu nie zawsze wskazuje użytkownikowi, który rekord jest przyczyną problemu. Diagnostyka wymaga wtedy ustalenia nazwy tabeli, kolumn objętych regułą oraz wartości powtarzającej się w danych. Należy również rozróżnić błąd aplikacji od prawidłowego działania bazy: odrzucenie duplikatu może oznaczać, że system skutecznie ochronił spójność informacji. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, dlatego przy problemach z działaniem aplikacji bazodanowej na komputerze można rozpocząć od sprawdzenia sprzętu, systemu operacyjnego, nośnika danych oraz poprawności uruchamiania programu. Analiza samego modelu bazy, zapytań i reguł indeksowania wymaga dostępu do konkretnego silnika, jego konfiguracji oraz dokumentacji aplikacji. Przed zmianą indeksu należy wykonać kopię danych i ustalić, jaka unikalność jest rzeczywiście wymagana, ponieważ usunięcie ograniczenia może pozwolić na zapis rekordów, których późniejsze rozróżnienie będzie problematyczne. |