Dołącza SAP HANA: Typy, składnia i przykłady
⚡ Inteligentne podsumowanie
SAP HANA łączy tabele połączeń i widoki informacji, dzięki czemu model zwraca dokładnie te wiersze, których potrzebuje raport. Typy wewnętrzne, zewnętrzne, referencyjne, tekstowe, czasowe i przestrzenne zmieniają wydajność, obsługę kardynalności i rozmiar wyników.

Czym jest SAP HANA Dołączysz?
Dołącz do nas SAP HANA łączy wiersze z dwóch lub więcej tabel lub z tabeli i widoku informacji, a następnie zwraca wartości wymagane przez zapytanie. Złączenia są definiowane graficznie w węźle łączenia widoku informacji, a także zapisywane bezpośrednio w instrukcjach SQL uruchamianych w bazie danych.
Te dwie formy nie są identyczne. Połączenie wewnątrz widok obliczeniowy jest wykonywany przez SAP Silnik obliczeniowy HANA, który może pominąć tabelę, gdy nie otrzyma z niej żądanej kolumny, podczas gdy połączenie zapisane w SAP HANA SQL jest zawsze wykonywany dokładnie tak, jak został zakodowany.
Następujące typy połączeń są dostępne, gdy SAP Połączono tabele HANA i widoki informacji.
| Typ połączenia | Używa | Komentarz |
|---|---|---|
| INNER | Połączenie wewnętrzne wybiera zestaw rekordów, które pasują do siebie w obu tabelach. | Rzędy, w których po żadnej stronie nie ma partnera, są odrzucane. |
| LEWE POŁĄCZENIE ZEWNĘTRZNE | Lewe łączenie zewnętrzne wybiera cały zestaw rekordów z pierwszej tabeli i pasujący rekord z drugiej tabeli, jeśli jest dostępny. | Jeżeli w drugiej tabeli nie ma pasujących wartości, dla jej kolumn zwracane są wartości null. |
| PRAWE POŁĄCZENIE ZEWNĘTRZNE | Prawe sprzężenie zewnętrzne wybiera cały zestaw rekordów z drugiej tabeli i pasujący rekord z pierwszej tabeli, o ile jest dostępny. | Jeżeli w pierwszej tabeli nie ma pasujących wartości, dla jej kolumn zwracane są wartości null. |
| PEŁNE POŁĄCZENIE ZEWNĘTRZNE | Pełne łączenie zewnętrzne wybiera wszystkie rekordy z obu tabel. | Niedopasowane wiersze po obu stronach są uzupełniane wartościami null. |
| DOŁĄCZ DO REFERENCJI | Zachowuje się jak łączenie wewnętrzne, przy założeniu, że zachowana jest integralność referencyjna między dwiema tabelami. | Dostępne w widokach atrybutów, widokach analitycznych i widokach obliczeniowych, łączą węzły. |
| DOŁĄCZ DO TEKSTU | Połączenie tekstowe wybiera opis specyficzny dla języka, który należy do klucza, korzystając z kolumny języka tabeli tekstowej. | Kolumna języka, zwykle SPRAS, musi zostać oznaczona we właściwościach połączenia. |
Złączenia referencyjne i tekstowe to typy wyłącznie modelowania. Występują w węźle złączenia widoku informacji i nie mają odpowiednika w SQL, dlatego pojawiają się w SAP Modelowanie HANA narzędzi, a nie w poleceniu SELECT.
SAP Składnia połączeń HANA i przykłady SQL
Połączenia wewnętrzne i zewnętrzne są zapisywane w SAP HANA SQL ze standardową składnią ANSI, więc zapytanie testowane na innej relacyjnej bazie danych zazwyczaj działa bez zmian. Poniższy przykład łączy tabelę zamówień sprzedaży z tabelą klientów, a następnie z tabelą stanów.
SELECT so.ORDER_ID, c.NAME, s.STATE_NAME, so.AMOUNT FROM SALES_ORDER AS so INNER JOIN CUSTOMER AS c ON so.CUSTOMER_ID = c.CUSTOMER_ID LEFT OUTER JOIN STATE AS s ON c.STATE_CODE = s.STATE_CODE WHERE so.AMOUNT > 1000 ORDER BY so.ORDER_ID;
Połączenie wewnętrzne usuwa każde zamówienie sprzedaży, dla którego brakuje głównego rekordu klienta. Lewe połączenie zewnętrzne zachowuje wszystkie pozostałe zamówienia, nawet jeśli kod stanu nie ma opisu, i zwraca pustą nazwę stanu dla tych wierszy. Zamianaping oba typy łączenia zmieniają zatem liczbę wierszy, a nie tylko wyświetlanych kolumn.
Modele graficzne osiągają ten sam wynik bez użycia języka SQL. Węzeł łączenia jest umieszczany między dwoma źródłami danych w edytorze widoku, kolumny tworzące warunek łączenia są mapowane, a typ łączenia i kardynalność są ustawiane we właściwościach węzła. SAP Studio HANA Edytor i modelarz oparty na przeglądarce generują dane SQL w czasie wykonywania na podstawie tych ustawień.
Zaawansowane typy połączeń w SAP Widoki obliczeniowe HANA
Widoki obliczeniowe dodają zachowanie łączenia, którego zwykły SQL nie wyraża pojedynczym słowem kluczowym. Opcje te są konfigurowane w węźle łączenia lub za pomocą dedykowanego typu węzła.
| Typ połączenia | Co to robi | Typowe zastosowanie |
|---|---|---|
| Połączenie czasowe | Dopasowuje rekordy transakcji do wersji danych głównych, która obowiązywała w danym dniu, korzystając z pól od i do źródła danych głównych. | Dane główne zależne od czasu, takie jak centrum kosztów, które zmieniło właściciela. Typ połączenia musi być referencyjny, a kluczem musi być data, znacznik czasu lub liczba całkowita. |
| Połączenie przestrzenne | Łączy dwa źródła na kolumnie geometrycznej za pomocą predykatu przestrzennego, takiego jak „przecina się” lub „w obrębie”, zamiast na podstawie warunku równości. | Analiza geograficzna, na przykład dopasowywanie lokalizacji klientów do obszarów sprzedaży. |
| Dynamiczne dołączanie | Tworzy warunek połączenia w czasie wykonywania na podstawie kolumn połączenia, których zapytanie faktycznie żąda, agregując pozostałe kolumny przed wykonaniem połączenia. | Połączenia wielokolumnowe, w których szczegółowość zapytania jest zmienna. Należy zażądać co najmniej jednej kolumny łączenia, w przeciwnym razie zapytanie zakończy się niepowodzeniem. |
| Dołącz gwiazdkę | Łączy jedno źródło faktów z kilkoma widokami obliczeń wymiarów w jednym węźle. | Modele schematu gwiaździstego zastępujące starszy widok analityczny. |
Dynamiczne łączenie zmienia kolejność operacji, a nie regułę dopasowania. W łączu statycznym każda zdefiniowana kolumna bierze udział w warunku, a agregacja następuje później; w łączu dynamicznym najpierw agregowane są kolumny niezażądane, co zazwyczaj zwraca mniej wierszy i inną sumę. W związku z tym oba typy łączenia odpowiadają na różne pytania biznesowe, dlatego flaga jest ustawiana celowo, a nie w celu ogólnej optymalizacji.
Jak wybrać właściwy typ łączenia SAP HANA Modelowanie
Wybór połączenia wpływa zarówno na poprawność, jak i czas wykonania, a najszybsze połączenie to takie, SAP HANA nigdy nie musi być wykonywana. Poniższe zasady obejmują większość decyzji dotyczących modelowania.
- Połączenie referencyjne — używaj tego tylko wtedy, gdy masz pewność, że każdy wiersz po jednej stronie ma partnera, ponieważ silnik może całkowicie pominąć łączenie, jeśli nie zostanie zażądana żadna kolumna z połączonej tabeli.
- Wewnętrzne dołączenie — użyj, gdy integralność referencyjna nie jest zagwarantowana i niepasujące wiersze muszą zostać wykluczone.
- Lewe sprzężenie zewnętrzne — użyj tego, gdy pierwsza tabela generuje wynik i nadal muszą pojawić się brakujące dane główne.
- Pełne połączenie zewnętrzne — należy stosować ją oszczędnie, ponieważ jest to najdroższa opcja i rzadko jest wymagana w modelach raportowania.
- Połączenie tekstu — użyj go, gdy kolumna opisu zależy od języka logowania.
Dwie właściwości węzła są równie ważne, co sam typ połączenia. Kardynalność (1:1, 1:n, n:1 lub n:m) informuje silnik, ile wierszy ma się spodziewać po każdej stronie, a funkcja Propose Cardinality (Zaproponuj kardynalność) wyprowadza ją z danych. Flaga „Optymalizuj kolumny połączenia” pozwala następnie SAP HANA usuwa kolumnę łączenia z planu wykonania, gdy zapytanie jej nie żąda. Nieprawidłowa kardynalność może po cichu mnożyć miary, dlatego jest ona weryfikowana na podstawie danych, a nie zakładana.
Kolejne ograniczenie kształtuje nowy rozwój. Widoki atrybutów i widoki analityczne są przestarzałe, a SAP Zaleca konwersję ich do graficznych widoków obliczeniowych, więc połączenie projektowane obecnie jest zazwyczaj tworzone w węźle połączenia widoku obliczeniowego lub połączenia gwiaździstego. Informacje na temat starszych obiektów są nadal przydatne, gdy istniejący model jest utrzymywany, a widok atrybutów oraz widok analityczny strony opisują, jak skonfigurowano te połączenia. SAP Materiały edukacyjne na temat dołącz węzły obejmuje to samo zachowanie w SAP HANA Cloud i szerszy SAP Samouczek HANA Seria wyjaśnia, gdzie na platformie znajdują się widoki informacji.
