SAP HANA SQL: Naucz się podstawowych instrukcji w 10 minut

⚡ Inteligentne podsumowanie

SAP HANA SQL to główny język baz danych platformy. Obsługuje on definiowanie schematów, manipulację danymi, kontrolę dostępu i zarządzanie sesjami, zgodnie ze standardem, który zapewnia przenośność SQL między relacyjnymi bazami danych.

  • 🗣️ Główna rola: SQL jest podstawowym językiem komunikacji SAP HANA, podobnie jak w przypadku innych systemów relacyjnych.
  • 🏗️. Praca nad schematem: CREATE SCHEMA ustala przestrzeń nazw będącą właścicielem tabel, widoków i procedur.
  • 📋 Oświadczenia DML: Polecenia SELECT, INSERT i UPDATE odczytują i zmieniają wiersze zawarte w tabeli.
  • 🧱 Oświadczenia DDL: CREATE, ALTER i DROP definiują i zmieniają kształt samych obiektów.
  • 🔐 Oświadczenia DCL: GRANT i REVOKE kontrolują, który użytkownik może wykonać daną operację.
  • 💬 Style komentarzy: Double myślnik oznacza komentarz jednowierszowy, a ukośnik i gwiazdka oznaczają komentarz wielowierszowy.
  • ⚙️ Administracja: Zarządzanie systemem, sesjami i transakcjami odbywa się za pomocą poleceń SQL.

SAP HANA SQL

Większość baz danych RDBMS wykorzystuje SQL jako język baz danych, powodem jego popularności jest to, że jest potężny, niezależny od dostawcy i ustandaryzowany. SAP HANA obsługuje również SQL.

In SAP HANA, SQL to główny język baz danych.

Czym jest SAP HANA SQL?

SQL oznacza ustrukturyzowany język zapytań. Jest to standardowy język do komunikacji z relacyjnymi bazami danych, takimi jak Oracle, MySQL itp. SQL służy do przechowywania, pobierania i modyfikowania danych w bazie danych.

Używając SQL w SAP HANA, możemy wykonać następujące zadania-

  • Definicja i zastosowanie schematu (CREATE SCHEMA).
  • Instrukcja DML (WYBIERZ, AKTUALIZUJ, WSTAW).
  • Polecenie DDL (CREATE, ALTER, DROP)
  • Oświadczenie DCL (UDZIELENIE, COFNIĘCIE)
  • Zarządzanie systemem
  • Zarządzanie sesją
  • Transaction Management

Instrukcje są wykonywane z konsoli SQL SAP Studio HANA, z poziomu klienta wiersza poleceń lub z aplikacji łączącej się przez JDBC lub ODBC. Sam język jest w każdym przypadku identyczny.

Kategorie instrukcji SQL w SAP HANA

Każde stwierdzenie należy do jednej z niewielu rodzin. Wiedza o tym, do której rodziny należy dane stwierdzenie, pozwala przewidzieć, czy można je wycofać i jakich uprawnień wymaga.

Kategoria Imię i nazwisko Typowe stwierdzenia Cel
DDL Język definicji danych UTWÓRZ, ZMIEŃ, USUŃ, ZMIEŃ NAZWĘ Definiuje i zmienia obiekty, takie jak schematy, tabele i widoki
DML Język manipulacji danymi WYBIERZ, WSTAW, AKTUALIZUJ, USUŃ, UPSERT Odczytuje i zmienia wiersze przechowywane w obiektach
DCL Język kontroli danych UDZIELIĆ, ODWOŁAĆ Kontroluje, który użytkownik lub rola może wykonać daną czynność
TCL Język kontroli transakcji ZATWIERDŹ, WYCOFUJ, PUNKT ZAPISANIA Potwierdza lub odrzuca jednostkę pracy
Sesja Zarządzanie sesją USTAW SCHEMAT, POŁĄCZ, USTAW TRANSAKCJĘ Konfiguruje bieżące połączenie
Konfiguracja Zarządzanie systemem ALTER SYSTEM, monitorowanie widoków Zarządza samą instancją bazy danych

UPSERT jest wart uwagi, ponieważ nie występuje w każdym dialekcie. Wstawia wiersz, gdy klucz jest nowy, i aktualizuje go, gdy klucz już istnieje, co eliminuje powszechny wzorzec dwóch instrukcji.

Komentarz w SQL

Możemy dodać komentarz, aby poprawić czytelność i łatwość konserwacji instrukcji SQL. Komentarz można umieścić w SQL na dwa sposoby:

  • Komentarz jednowierszowy – Double Myślniki „–”. To jest komentarz jednowierszowy.
  • Komentarz wielowierszowy – „/* */”.

Cały tekst z komentarzem jest ignorowany przez analizator SQL.

-- This is a single line comment
SELECT ELEMENT FROM DHK_SCHEMA.TABLE1;

/* This is a multiple line comment.
   Everything between the markers is ignored
   by the SQL parser. */
SELECT COUNT(*) FROM DHK_SCHEMA.TABLE1;

Przykłady podstawowej składni SQL w SAP HANA

Poniższe instrukcje obejmują codzienny cykl tworzenia schematu, definiowania tabeli, ładowania wierszy i ich odczytywania. Działają one bez zmian w konsoli SQL.

1) Utwórz schemat. Schemat jest właścicielem obiektów w nim utworzonych i jest pierwszą rzeczą, jakiej potrzebuje nowy projekt.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Utwórz tabelę kolumnową. Magazyn kolumn jest domyślny i zapewnia szybkość analiz HANA. Magazyn wierszy jest wybierany tylko w przypadku małych tabel o dużej objętości zapisu.

CREATE COLUMN TABLE DHK_SCHEMA.EMPLOYEE (
  EMP_ID    INTEGER NOT NULL,
  EMP_NAME  NVARCHAR(100),
  HIRE_DATE DATE,
  SALARY    DECIMAL(10,2),
  PRIMARY KEY (EMP_ID)
);

3) Wstaw i zaktualizuj wiersze. INSERT dodaje wiersz, a UPDATE zmienia istniejące. Zawsze łącz UPDATE z klauzulą ​​WHERE, chyba że każdy wiersz powinien zostać zmieniony.

INSERT INTO DHK_SCHEMA.EMPLOYEE
  VALUES (1, 'Anita Sharma', '2026-01-15', 55000.00);

UPDATE DHK_SCHEMA.EMPLOYEE
  SET SALARY = 60000.00
  WHERE EMP_ID = 1;

4) Zapytaj o dane. Instrukcja SELECT obsługuje znane klauzule WHERE, GROUP BY, HAVING i ORDER BY.

SELECT EMP_NAME, SALARY
  FROM DHK_SCHEMA.EMPLOYEE
  WHERE SALARY > 50000
  ORDER BY SALARY DESC;

5) Udziel dostępu i zatwierdź. DCL kontroluje, kto może odczytać tabelę, a COMMIT sprawia, że ​​praca staje się trwała.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

Szczegóły na poziomie pola dla każdej definicji kolumny są omówione w SAP Typy danych HANAi symbole używane w klauzuli WHERE w SAP Operatorzy HANA.

SAP HANA SQL kontra Standard SQL

SAP HANA ściśle przestrzega standardu SQL, dlatego doświadczony programista szybko osiąga produktywność. Różnice, które mają znaczenie, to raczej dodatki niż odstępstwa.

Obszar Standardowy SQL SAP HANA SQL
Przechowywanie na stole Domyślnie zorientowane na wiersze Domyślnie magazyn kolumn, opcjonalnie magazyn wierszy
Wstaw lub zaktualizuj w jednym oświadczeniu MERGE, tam gdzie jest obsługiwane UPSERT, prostsza składnia dla tego samego wyniku
Limit zestawu wyników Specyficzne dla dialektu LIMIT z OFFSETEM i TOP
Rozszerzenie proceduralne Specyficzne dla dostawcy SQLScript ze zmiennymi tabelarycznymi i wykonywaniem równoległym
Wyszukiwanie pełnotekstowe Zwykle dodatek Wbudowane w kolumny TEKSTU i KRÓTKIEGO TEKSTU
Rozróżnianie wielkości liter Różnie Identyfikatory niesklasyfikowane są pisane wielkimi literami, identyfikatory z ogranicznikami zachowują wielkość liter

Reguła identyfikatora powoduje najwięcej niespodzianek. Napisanie nazwy tabeli małymi literami bez cudzysłowów powoduje, że jest ona pisana wielkimi literami, a późniejsze wybranie jej w cudzysłowie małymi literami i nie znalezienie jej. Reguły są określone w typy danych i identyfikatory samouczek, obejmujący szerszą platformę SAP Samouczek HANA series.

FAQ

SQL obsługuje pojedyncze instrukcje. SQLScript dodaje logikę proceduralną, taką jak zmienne, pętle i zmienne tabelowe, umożliwiając wykonywanie wielu kroków w bazie danych, a nie w warstwie aplikacji.

Tabele kolumnowe do niemal wszystkiego, ponieważ kompresja i odczyty analityczne są znacznie szybsze. Tabele wierszowe pasują do małych tabel konfiguracyjnych, odczytywanych w całości, rekord po rekordzie, przy każdym dostępie.

Tak. Biorąc pod uwagę schemat, modele językowe tworzą poprawne instrukcje SELECT na podstawie pisemnego żądania. Review łączy i filtruje wyniki ostrożnie, ponieważ wiarygodne zapytanie i tak może odpowiedzieć na niewłaściwe pytanie.

Tak. Sztuczna inteligencja odczytuje plan wykonania i sugeruje poprawki, lepszą kolejność łączenia lub brakujące filtry. Zmierz wynik, ponieważ sugestia, która pomaga jednemu wolumenowi danych, może zaszkodzić innemu.

Nie. Parser odrzuca je przed wykonaniem, więc komentarze nie generują żadnych kosztów w czasie wykonywania. Są najtańszym sposobem na utrzymanie długiego polecenia analitycznego.

Podsumuj ten post następująco: