SAP HANA SQL: Вивчіть основні оператори за 10 хвилин

⚡ Розумний підсумок

SAP HANA SQL – це основна мова баз даних платформи. Вона обробляє визначення схеми, маніпулювання даними, контроль доступу та керування сеансами, дотримуючись стандарту, який робить SQL портативним між реляційними базами даних.

  • 🗣️ Основна роль: SQL є основною мовою для спілкування з SAP HANA, як і для інших реляційних систем.
  • 🏗️ Схема роботи: CREATE SCHEMA встановлює простір імен, який володіє таблицями, представленнями та процедурами.
  • 📋 Оператори DML: Операції SELECT, INSERT та UPDATE зчитують та змінюють рядки таблиці.
  • 🧱 Оператори DDL: Команди CREATE, ALTER та DROP визначають та змінюють форму самих об'єктів.
  • 🔐 Оператори DCL: GRANT та REVOKE контролюють, який користувач може виконувати яку операцію.
  • ???? Стилі коментарів: Double Дефіс позначає однорядковий коментар, а скісна риска — зірочкою, що оточує багаторядковий коментар.
  • Адміністрація: Керування системою, сеансом та транзакціями здійснюється за допомогою SQL-запитів.

SAP HANA SQL

Більшість баз даних RDBMS використовує SQL причина популярності мови бази даних полягає в тому, що вона є потужною, незалежною від виробника та стандартизованою. SAP HANA також підтримує SQL.

In SAP HANA, SQL є основною мовою бази даних.

Що таке SAP HANA SQL?

SQL означає мову структурованих запитів. Це стандартна мова для спілкування з реляційними базами даних, такими як Oracle, MySQL тощо. SQL використовується для зберігання, отримання та зміни даних у базі даних.

За допомогою SQL в SAP HANA, ми можемо виконати наступну роботу-

  • Визначення та використання схеми (CREATE SCHEMA).
  • Оператор DML (SELECT, UPDATE, INSERT).
  • Оператор DDL (CREATE, ALTER, DROP)
  • Заява DCL (НАДАТИ, СКАСУВАТИ)
  • Управління системою
  • Управління сесією
  • Управління транзакціями

Оператори виконуються з консолі SQL SAP Студія HANA, з клієнта командного рядка або з програми, що підключається через JDBC або ODBC. Сама мова ідентична в обох випадках.

Категорії SQL-інструкцій у SAP ХАНА

Кожен оператор належить до однієї з невеликої кількості сімейств. Знання того, до якої сім'ї належить оператор, передбачає, чи можна його відкотити та яка авторизація для нього потрібна.

Категорія Повне ім'я Типові твердження Мета
DDL Мова визначення даних СТВОРИТИ, ЗМІНИТИ, ВИДАЛИТИ, ПЕРЕЙМЕНУВАТИ Визначає та змінює об'єкти, такі як схеми, таблиці та представлення
DML Мова маніпулювання даними ВИБІР, ВСТАВИТИ, ОНОВЛЕННЯ, ВИДАЛИТИ, ПЕРЕВЕРНУТИ Зчитує та змінює рядки, що містяться всередині об'єктів
DCL Мова керування даними НАДАТИ, СКАСУВАТИ Контролює, який користувач або роль може виконувати яку дію
TCL Мова керування транзакціями ЗАФІКСАЦІЯ, ВІДКАТ, ТОЧКА ЗБЕРЕЖЕННЯ Підтверджує або відхиляє одиницю роботи
Session управління сесіями ВСТАНОВИТИ СХЕМУ, З'ЄДНАТИ, ВСТАНОВИТИ ТРАНЗАКЦІЮ Налаштовує поточне з'єднання
SYSTEM Системне управління ЗМІНИТИ СИСТЕМУ, моніторинг переглядів Адмініструє сам екземпляр бази даних

Варто зазначити, що функція UPSERT існує не в кожному діалекті. Вона вставляє рядок, коли ключ новий, і оновлює його, коли ключ вже існує, що усуває поширену схему з двох операторів.

Коментар у SQL

Ми можемо додати коментар, щоб покращити читабельність і зручність обслуговування операторів SQL. Коментар можна додати до SQL двома способами:

  • Однорядковий коментар – Double Дефіси «–». Це однорядковий коментар.
  • Багаторядковий коментар – “/* */”.

SQL Parser ігнорує весь текст із коментарями.

-- 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;

Базові приклади синтаксису SQL у SAP ХАНА

Наведені нижче оператори охоплюють щоденний цикл створення схеми, визначення таблиці, завантаження рядків та їх зчитування. Вони виконуються без змін у консолі SQL.

1) Створіть схему. Схема володіє об'єктами, створеними всередині неї, і це перше, що потрібно новому проекту.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Створіть таблицю стовпців. Сховище за стовпцями використовується за замовчуванням і є причиною аналітичної швидкості HANA. Сховище за рядками вибирається лише для невеликих таблиць з великим обсягом запису.

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) Вставка та оновлення рядків. INSERT додає рядок, а UPDATE змінює існуючі. Завжди поєднуйте UPDATE з реченням WHERE, окрім випадків, коли дійсно потрібно змінити кожен рядок.

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) Зробіть запит до даних. SELECT підтримує знайомі речення WHERE, GROUP BY, HAVING та ORDER BY.

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

5) Надайте доступ та зробіть фіксацію. DCL контролює, хто може читати таблицю, а COMMIT робить роботу постійною.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

Детальна інформація на рівні поля для кожного визначення стовпця розглядається в SAP Типи даних HANA, а також символи, що використовуються в реченні WHERE в SAP Оператори HANA.

SAP HANA SQL проти стандартного SQL

SAP HANA чітко дотримується стандарту SQL, тому досвідчений розробник швидко досягає продуктивності. Важливими відмінностями є доповнення, а не відхилення.

Область Стандартний SQL SAP HANA SQL
Зберігання на столі Орієнтація на рядки за замовчуванням Зберігання стовпців за замовчуванням, зберігання рядків необов'язково
Вставити або оновити в одному твердженні MERGE, де підтримується UPSERT, простіший синтаксис для того самого результату
Обмеження набору результатів Діалектна специфіка ОБМЕЖЕННЯ зі ЗМІЩЕННЯМ, плюс ВЕРХ
Процедурне продовження Специфічний для постачальника SQLScript з табличними змінними та паралельним виконанням
Повнотекстовий пошук Зазвичай це доповнення Вбудовано через стовпці TEXT та SHORTTEXT
Чутливість до справи Залежить Нерозділені ідентифікатори пишуться великими літерами, розділені — збереженням регістру

Правило ідентифікатора викликає найбільше несподіванок. Якщо написати назву таблиці в нижньому регістрі без подвійних лапок, вона буде записана у верхньому регістрі, а подальший вибір її в подвійних лапках у нижньому регістрі не дасть її знайти. Правила викладено в типи даних та ідентифікатори навчальний посібник, при цьому ширша платформа охоплена в SAP Підручник з HANA серії.

Поширені запитання

SQL обробляє окремі оператори. SQLScript додає процедурну логіку, таку як змінні, цикли та табличні змінні, дозволяючи кільком крокам виконуватися всередині бази даних, а не на рівні програми.

Таблиці стовпців майже для всього, оскільки стиснення та аналітичне зчитування набагато швидші. Таблиці рядків підходять для невеликих таблиць конфігурації, які зчитуються повністю, запис за записом, при кожному доступі.

Так. Враховуючи схему, мовні моделі формують правильні оператори SELECT з письмового запиту. Revview ретельно об'єднує та фільтрує, оскільки правдоподібний запит все ще може дати відповідь на неправильне запитання.

Так. Штучний інтелект читає план виконання та пропонує переписування, кращий порядок об'єднання або відсутність фільтрів. Виміряйте результат, оскільки пропозиція, яка допомагає одному тому даних, може зашкодити іншому.

Ні. Парсер відкидає їх перед виконанням, тому коментарі нічого не коштують під час виконання. Вони є найдешевшим способом зробити довгий аналітичний оператор придатним для підтримки.

Підсумуйте цей пост за допомогою: