Ich habe da eine Marotte. Wenn ich mir den Funktionsumfang einer Datenbank ansehen will, blättere ich keine Handbücher, keine Werbeprospekte. Ich sehe mir ganz einfach den Funktionsumfang das nativen SQL an. SQL ist eine Sprache für die Abfrage und Änderung (Eingabe, Änderung, Löschung) struckturierter Daten auf Datenbanken. Es eine Grunddefinition der Sprache, die jeder Hersteller einer Datenbank seiner eigenen Lösung im Detail anpasst. Ich beschränke mich hier auf SAP HANA SQL, einige Statements entsprechen deshalb nicht zwingend der Standarddefinition von SQL oder den Sprachvarianten anderer Hersteller.
SQL ist insofern wichtig, weil sie Auskunft über die funktionalen Fähigkeiten einer Datenbank gibt. Alle Datenbewegungen basieren auf SQL, auch wenn sie über den ABAP-Layer oder über Makros gekapselt sind.
SQL in der Welt des SAP Business Warehouses
War SAP BW noch eine Sache, die sich im ABAP-Programmierten BW-Layer abspielte, kann SAP BW4/HANA diese Beschränkung aufgegeben werden.
Datenbankelemente
Die wichtigsten Elemente einer relationalen Datenbank:
Schema | |
Tabelle | Zweidimensionales Element zur dauerhaften Speicherung von Daten |
Schema
Eine Formale Beschreibung der Struktur von Daten. Grundlage für die Beschreibung eines Datensatzes bei Tabellen und Views
CREATE SCHEMA [schema_name] [OWNED BY <user_name>]
[DEFAULT CHARACTER SET char_set_name]
Tabelle
View
Ein View ist die Sicht auf die logische / virtuelle Relation auf die Daten dar. Sie kann auch als Virtuelle Tabelle angesehen werden. Die Daten eines Views können aus mehreren Tabellen zusammengestellt sein, wobei in der Definition des Views die Beziehung zwischen den einzelnen Teilmengen beschrieben werden muss.
Procedure
Trigger
Role
User
Usergroup
Weitere mögliche Objekte:
- LDAP-Provider
- Structured Privileg
- Type
- Workload Class
- Workload Mapping
- Public Key
- Virtual Function
- Virtual Procedure
- Virtual Table
- Synonym
- Sequenze
Daten
Datum/Zeit | DATE | ||
TIME | |||
SECONDDATE | |||
TIMESTAMP | |||
Numerische Typen | TINYINT | ||
SMALLINT | |||
INTEGER | |||
BIGINT | |||
SMALLDECIMAL | |||
DECIMAL | |||
REAL | |||
DOUBLE | |||
Bool Typen | BOOL | True / False | |
Zeichenfolgen | VARCHAR | ||
NVARCHAR | |||
ALPHANUM | |||
SHORTTEXT | |||
Binäre Typen | VARBINARY | ||
Große Objekttypen | BLOB | Binary Large Object | |
CLOB | |||
NCLOB | |||
TEXT | |||
Mehrwertige Typen | ARRAY | ||
Räumliche Typen | ST_GEOMETRY | ||
ST_POINT |
Sprachelemente
- Data Query Language (DQL)
- Data Manipulation Language (DML) Datenmanipulation
- Data Definition Language (DDL)
- Data Control Language (DCL)
- Transaction Control Language (TCL)