Klucze syntetyczne
Gdy kilka tabel ma co najmniej dwa pola wspólne, implikuje to relację klucza złożonego. Aplikacja QlikView obsługuje tę funkcję przez automatyczne tworzenie kluczy syntetycznych. Takie klucze to pola anonimowe reprezentujące wszystkie występujące kombinacje klucza złożonego.
W przypadku otrzymania ostrzeżenia dotyczącego kluczy syntetycznych podczas ładowania danych zaleca się skontrolowanie struktury danych w widoku tabeli. Należy upewnić się, czy model danych jest poprawny. Czasami jest, ale często klucz syntetyczny to konsekwencja błędu w skrypcie.
Duża liczba kluczy syntetycznych to często (choć nie zawsze) objaw niepoprawnego modelu danych. Obecność kluczy syntetycznych opartych na innych kluczach syntetycznych to jednak wyraźny sygnał błędów w modelu danych.
Obsługa kluczy syntetycznych
Jeśli trzeba unikać kluczy syntetycznych, istnieje kilka sposobów na rozwiązanie tego problemu w skrypcie ładowania:
-
Upewnić się, że jako klucze używane są tylko pola, które logicznie łączą dwie tabele.
- Takie pola, jak „Komentarz”, „Uwaga” i „Opis”, mogą istnieć w kilku tabelach bez powiązań, dlatego nie powinny być używane jako klucze.
- Takie pola, jak „Data”, „Firma” i „Nazwa”, mogą istnieć w kilku tabelach i mieć identyczne wartości, a jednocześnie różnić się rolami (data zamówienia/data wysyłki, firma klienta/firma dostawcy). W takim przypadku nie należy ich używać jako kluczy.
-
Upewnić się, że nie są używane zbędne pola — i że łączone są tylko pola niezbędne. Jeśli na przykład kluczem jest data, trzeba uważać, aby nie załadować pola year, month lub day_of_month z tą samą datą z więcej niż jednej tabeli wewnętrznej.
-
W razie konieczności utworzyć własne klucze niezłożone, co zazwyczaj realizuje się poprzez konkatenację ciągów znaków w obrębie funkcji skryptu AutoNumber.