SAP HANA SQL: impara le istruzioni di base in 10 minuti

โšก Riepilogo intelligente

SAP HANA SQL รจ il linguaggio di database principale della piattaforma. Gestisce la definizione dello schema, la manipolazione dei dati, il controllo degli accessi e la gestione delle sessioni, seguendo lo standard che rende SQL portabile tra i database relazionali.

  • ๐Ÿ—ฃ๏ธ Ruolo principale: SQL รจ il linguaggio principale per comunicare con SAP HANA, come per altri sistemi relazionali.
  • ???? ๏ธ Schema di lavoro: Il comando CREATE SCHEMA definisce lo spazio dei nomi che contiene tabelle, viste e procedure.
  • ๐Ÿ“‹ Istruzioni DML: Le istruzioni SELECT, INSERT e UPDATE leggono e modificano le righe contenute in una tabella.
  • ๐Ÿงฑ Dichiarazioni DDL: CREATE, ALTER e DROP definiscono e rimodellano gli oggetti stessi.
  • ๐Ÿ” Dichiarazioni DCL: I comandi GRANT e REVOKE controllano quale utente puรฒ eseguire quale operazione.
  • ???? Stili dei commenti: Double Il trattino indica un commento su una sola riga, mentre la barra e l'asterisco racchiudono un commento su piรน righe.
  • โš™๏ธ Amministrazione: La gestione del sistema, delle sessioni e delle transazioni avviene interamente tramite istruzioni SQL.

SAP HANASQL

La maggior parte dei database RDBMS utilizza SQL come linguaggio di database, il motivo per cui รจ popolare รจ che รจ potente, indipendente dal fornitore e standardizzato. SAP HANA supporta anche SQL.

In SAP HANA, SQL รจ il linguaggio principale del database.

Cosa รจ SAP HANA-SQL?

SQL sta per Structured Query Language. รˆ un linguaggio standard per comunicare con database relazionali come Oracle, MySQL ecc. SQL viene utilizzato per archiviare, recuperare e modificare i dati nel database.

Utilizzando SQL in SAP HANA, possiamo eseguire i seguenti lavori:

  • Definizione e utilizzo dello schema (CREATE SCHEMA).
  • Dichiarazione DML (SELECT, UPDATE, INSERT).
  • Istruzioni DDL (CREATE, ALTER, DROP)
  • Dichiarazione DCL (CONCESSIONE, REVOCA)
  • Gestione del sistema
  • Gestione della sessione
  • Gestione delle transazioni

Le istruzioni vengono eseguite dalla console SQL di SAP Studio HANA, da un client da riga di comando o da un'applicazione che si connette tramite JDBC o ODBC. Il linguaggio in sรฉ รจ identico in ogni caso.

Categorie di istruzioni SQL in SAP HANA

Ogni dichiarazione appartiene a una di un numero ristretto di famiglie. Sapere a quale famiglia appartiene una dichiarazione permette di prevedere se puรฒ essere annullata e quale autorizzazione รจ necessaria.

Categoria Nome e cognome Dichiarazioni tipiche Missione
DDL Linguaggio di definizione dei dati CREA, MODIFICA, RIMUOVI, RINOMINA Definisce e modifica oggetti quali schemi, tabelle e viste.
DML Linguaggio di manipolazione dei dati SELEZIONA, INSERISCI, AGGIORNA, CANCELLA, UPSERT Legge e modifica le righe contenute all'interno degli oggetti
DCL Linguaggio di controllo dei dati CONCEDERE, REVOCARE Controlla quale utente o ruolo puรฒ eseguire quale azione
TCL Linguaggio di controllo delle transazioni COMMIT, ROLLBACK, SAVEPOINT Conferma o scarta un'unitร  di lavoro
Sessione Gestione delle sessioni IMPOSTA SCHEMA, CONNETTI, IMPOSTA TRANSAZIONE Configura la connessione corrente
Sistema Gestione del sistema ALTER SYSTEM, monitora le visualizzazioni Gestisce l'istanza del database stessa.

L'istruzione UPSERT merita di essere menzionata perchรฉ non รจ presente in tutti i dialetti. Inserisce una riga quando la chiave รจ nuova e la aggiorna quando la chiave esiste giร , eliminando cosรฌ un comune schema a due istruzioni.

Commento in SQL

Possiamo aggiungere un commento per migliorare la leggibilitร  e la manutenibilitร  delle istruzioni SQL. Il commento puรฒ essere inserito in SQL in due modi:

  • Commento a riga singola โ€“ Double Trattini โ€œโ€“โ€œ. Questo รจ un commento su una sola riga.
  • Commento su piรน righe โ€“ โ€œ/* */โ€.

Tutto il testo commentato viene ignorato da 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;

Esempi di sintassi SQL di base in SAP HANA

Le istruzioni seguenti descrivono il ciclo quotidiano di creazione di uno schema, definizione di una tabella, caricamento delle righe e successiva lettura. Vengono eseguite senza modifiche nella console SQL.

1) Creare uno schema. Uno schema definisce la proprietร  degli oggetti creati al suo interno ed รจ la prima cosa di cui un nuovo progetto ha bisogno.

CREATE SCHEMA DHK_SCHEMA;
SET SCHEMA DHK_SCHEMA;

2) Creare una tabella a colonne. Il formato Column Store รจ quello predefinito ed รจ il motivo per cui HANA offre velocitร  di analisi elevata. Il formato Row Store viene scelto solo per tabelle di piccole dimensioni con un elevato numero di operazioni di scrittura.

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) Inserire e aggiornare le righe. INSERT aggiunge una riga, mentre UPDATE modifica quelle esistenti. รˆ sempre consigliabile associare un'istruzione UPDATE a una clausola WHERE, a meno che non sia necessario modificare tutte le righe.

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) Interrogare i dati. SELECT supporta le clausole WHERE, GROUP BY, HAVING e ORDER BY, che sono ben note.

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

5) Concedi l'accesso e conferma. DCL controlla chi puรฒ leggere la tabella, mentre COMMIT rende la modifica permanente.

GRANT SELECT ON DHK_SCHEMA.EMPLOYEE TO REPORT_USER;
COMMIT;

I dettagli a livello di campo sulla definizione di ciascuna colonna sono trattati in SAP Tipi di dati HANAe i simboli utilizzati nella clausola WHERE in SAP operatori HANA.

SAP HANA SQL vs SQL standard

SAP HANA segue fedelmente lo standard SQL, motivo per cui uno sviluppatore esperto puรฒ essere produttivo rapidamente. Le differenze che contano sono le aggiunte, non le deviazioni.

Zona SQL standard SAP HANASQL
Portaoggetti da tavolo Orientamento per riga predefinito Archiviazione a colonne per impostazione predefinita, archiviazione a righe opzionale
Inserire o aggiornare in un'unica istruzione UNISCI, ove supportato UPSERT, sintassi piรน semplice per ottenere lo stesso risultato
limite del set di risultati Specifico del dialetto LIMITE con OFFSET, piรน TOP
Estensione procedurale Specifico del fornitore SQLScript, con variabili di tabella ed esecuzione parallela
Ricerca testo completa Solitamente un componente aggiuntivo Integrato tramite colonne TESTO e TESTO BREVE
Distinzione tra maiuscole e minuscole Varie Gli identificatori non delimitati vengono scritti in maiuscolo, quelli delimitati mantengono la maiuscola/minuscola.

La regola dell'identificatore causa le maggiori sorprese. Scrivere il nome di una tabella in minuscolo senza virgolette doppie lo crea in maiuscolo, e successivamente selezionarlo tra virgolette doppie in minuscolo non riesce a trovarlo. Le regole sono stabilite nel tipi di dati e identificatori tutorial, con la piattaforma piรน ampia trattata nel SAP Tutorial su HANA serie.

DOMANDE FREQUENTI

SQL gestisce singole istruzioni. SQLScript aggiunge una logica procedurale come variabili, cicli e variabili di tabella, consentendo l'esecuzione di piรน passaggi all'interno del database anzichรฉ a livello applicativo.

Le tabelle a colonne sono adatte a quasi tutti i tipi di dati, perchรฉ la compressione e le letture analitiche sono molto piรน veloci. Le tabelle a righe sono ideali per tabelle di configurazione di piccole dimensioni, lette interamente, record per record, ad ogni accesso.

Sรฌ. Dato lo schema, i modelli linguistici generano istruzioni SELECT corrette a partire da una richiesta scritta. RevEsamina attentamente le join e i filtri, poichรฉ una query plausibile puรฒ comunque rispondere alla domanda sbagliata.

Sรฌ. L'IA legge il piano di esecuzione e suggerisce riscritture, un ordine di join migliore o filtri mancanti. Misura il risultato, perchรฉ un suggerimento che aiuta un volume di dati potrebbe danneggiarne un altro.

No. Il parser li scarta prima dell'esecuzione, quindi i commenti non hanno alcun costo in fase di runtime. Sono il modo piรน economico per rendere gestibile una lunga affermazione analitica.

Riassumi questo post con: