Sieben | Oracle SQL | E-Book | www.sack.de
E-Book

E-Book, Deutsch, 1089 Seiten

Reihe: Rheinwerk Computing

Sieben Oracle SQL

Das umfassende Handbuch
4. Auflage 2025
ISBN: 978-3-367-10589-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection

Das umfassende Handbuch

E-Book, Deutsch, 1089 Seiten

Reihe: Rheinwerk Computing

ISBN: 978-3-367-10589-2
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection



Wenn Sie sich professionell mit Oracle beschäftigen, sind umfassende Kenntnisse des entsprechenden SQL-Dialekts unverzichtbar. Jürgen Sieben, vielen bereits bekannt durch seine Bücher zu Oracle PL/SQL und Oracle APEX, hat nun auch sein Buch zu Oracle SQL aktualisiert. Er zeigt Ihnen darin, wie Oracle und SQL zusammenspielen und welche Strategien Sie nutzen können, um Daten in der Datenbank zu speichern, zu analysieren oder auch zu löschen. Die vierte Auflage berücksichtigt die umfassenden Erleichterungen und Syntaxänderung der Datenbankversion 23ai und gibt auch erfahrenen Anwendern einen profunden Einstieg in die verbesserten Möglichkeiten der Sprache SQL.

Aus dem Inhalt:

  • Konzept einer relationalen Datenbank
  • Grundlagen: Auswahl und Projektion
  • Daten aus mehreren Tabellen lesen: Joins
  • Zeilenfunktionen, Gruppenfunktionen, analytische Funktionen
  • Unterabfragen
  • Datenmanipulation
  • Views, Tabellen und Indizes erstellen
  • Einführung in die Rechteverwaltung von Oracle
  • Hierarchische Abfragen und XML-Abfragen
  • Die Model-Klausel
  • Row Pattern Matching
  • Pivotierung und Abfragetabellen
  • Arbeit mit großen Datenstrukturen
  • Performanzoptimierung von SQL-Abfragen
  • Normalisierung von Datenmodellen
  • Häufige Fehler der Datenmodellierung
  • Parameter verwalten
  • Multilinguale Daten


Jürgen Sieben ist inhabender Geschäftsführer der ConDeS GmbH. Er beschäftigt sich mit der Entwicklung und Parametrierung von Software, Computerberatung und Systemanalyse für namhafte Kunden wie T-Mobile und Metro AG. Zudem schult er Datenbanktechnologien, z. B. alle relevanten Oracle-Bereiche (Einführung, SQL, PL/SQL, Administration, Performance, Backup & Recovery, Datawarehousing etc.). Seit 2008 ist er Dozent an der Hochschule der in Medien Stuttgart.
Sieben Oracle SQL jetzt bestellen!

Autoren/Hrsg.


Weitere Infos & Material



  1.  Materialien zum Buch ... 23
  1.  Einführung ... 25

       1.1 ... Für wen ist dieses Buch geschrieben? ... 25
       1.2 ... Aufbau des Buches ... 26
       1.3 ... Anmerkung zur vierten Auflage ... 35
       1.4 ... Anmerkung zur dritten Auflage ... 36
       1.5 ... Anmerkung zur zweiten Auflage ... 37
       1.6 ... Danksagung ... 38

TEIL I.  Einführung und Grundlagen ... 39
  2.  Verwendete Werkzeuge und Skripte ... 41

       2.1 ... Aufsetzen einer Beispieldatenbank ... 41
       2.2 ... SQL Developer ... 44
       2.3 ... Die Datenbankbenutzer ... 49
       2.4 ... Online-Dokumentation und weiterführende Literatur ... 50

  3.  Konzept einer relationalen Datenbank ... 53

       3.1 ... Die Idee der relationalen Speicherung ... 53
       3.2 ... SQL -- die »Lingua franca« der Datenbank ... 70
       3.3 ... Analyse vorhandener Datenmodelle ... 78

TEIL II.  Die SELECT-Anweisung ... 85
  4.  Grundlagen: Auswahl und Projektion ... 87

       4.1 ... Projektion ... 87
       4.2 ... Auswahl ... 102
       4.3 ... Sortieren von Zeilenmengen ... 116
       4.4 ... Fallunterscheidungen ... 120
       4.5 ... Die Klausel ROW LIMITING ... 128
       4.6 ... Pseudospalten ... 131
       4.7 ... Kommentare ... 137
       4.8 ... Der NULL-Wert ... 139
       4.9 ... Übungen ... 146

  5.  Daten aus mehreren Tabellen lesen: Joins ... 147

       5.1 ... Einführung in Joins ... 148
       5.2 ... Inner Join ... 149
       5.3 ... Outer Join ... 160
       5.4 ... Anti-Join, Semi-Join, Self-Join und Natural Join ... 169
       5.5 ... Mengenoperationen mit UNION, MINUS und INTERSECT ... 175
       5.6 ... Übungen ... 182
       5.7 ... Zusatz: Weiterführende Join-Konzepte ... 183

  6.  Zeilenfunktionen ... 191

       6.1 ... Grundsätzliches zu Funktionen ... 191
       6.2 ... Zeichenfunktionen ... 195
       6.3 ... Datumsfunktionen ... 219
       6.4 ... Mathematische Funktionen ... 239
       6.5 ... Allgemeine Funktionen ... 255
       6.6 ... Eigene Funktionen erstellen: Berechnung der Fakultät ... 274

  7.  Gruppenfunktionen ... 279

       7.1 ... Die Standardgruppenfunktionen ... 280
       7.2 ... Gruppierung von Gruppenfunktionen ... 285
       7.3 ... Spezielle Gruppenfunktionen ... 300
       7.4 ... Wenn ungefähr ausreicht ... 308
       7.5 ... Übungen ... 309

  8.  Unterabfragen ... 311

       8.1 ... Die Unterabfrage in der WHERE-Klausel ... 311
       8.2 ... Die Unterabfrage in der FROM-Klausel (Inner View) ... 322
       8.3 ... Unterabfragen und Joins ... 329
       8.4 ... Funktionen in der WITH-Klausel ... 334
       8.5 ... Übungen ... 336

  9.  Analytische Funktionen ... 337

       9.1 ... Die Idee der analytischen Funktionen ... 337
       9.2 ... Gruppenfunktionen als analytische Funktionen ... 343
       9.3 ... Analytische Rangfunktionen ... 354
       9.4 ... Zusammenfassung ... 370
       9.5 ... Übungen ... 371

TEIL III.  Datenmanipulation und Erzeugung von Datenbankobjekten ... 373
10.  Datenmanipulation ... 375

       10.1 ... Die INSERT-Anweisung ... 376
       10.2 ... Die UPDATE-Anweisung ... 382
       10.3 ... Die DELETE-Anweisung ... 389
       10.4 ... Die MERGE-Anweisung ... 390
       10.5 ... Exkurs: Flashback ... 401
       10.6 ... Sequenzen und Trigger ... 403
       10.7 ... Ihr Sicherheitsnetz -- die Transaktion ... 409
       10.8 ... Fehlerbehandlung während der Datenmanipulation ... 412
       10.9 ... Multi-Table-Insert ... 420

11.  Views erstellen ... 429

       11.1 ... »Normale« Views ... 429
       11.2 ... Einsatzbereiche von Views ... 440
       11.3 ... Wer sollte Views verwenden? ... 445
       11.4 ... Materialized View ... 447

12.  Tabellen erstellen ... 463

       12.1 ... Einfache Tabellen erstellen ... 463
       12.2 ... Datentypen ... 480
       12.3 ... Domänen ... 493
       12.4 ... Annotationen und Kommentare ... 504
       12.5 ... Weitere Tabellentypen ... 507
       12.6 ... Erweiterung zur »aktiven Tabelle« ... 520

13.  Indizes erstellen ... 527

       13.1 ... Was ist ein Index? ... 528
       13.2 ... Indextypen bei Oracle ... 532
       13.3 ... Spezielle Indextypen ... 537

14.  Aufbau einer Oracle-Datenbank ... 553

       14.1 ... Wie arbeitet eine Oracle-Datenbank? ... 553
       14.2 ... Datensicherheit ... 564
       14.3 ... Zeichensatzcodierung ... 579

15.  Anwendungsbeispiele ... 585

       15.1 ... Delta-View ... 585
       15.2 ... Dubletten bereinigen ... 596
       15.3 ... Entscheidungstabellen ... 601
       15.4 ... Entscheidungstabelle 2: »Expertensystem« ... 608

TEIL IV.  Spezielle Abfragetechniken ... 613
16.  Umgang mit Datum und Zeit ... 615

       16.1 ... Erzeugung von Datumstypen ... 615
       16.2 ... Erzeugung von Intervallen ... 622
       16.3 ... Konvertierung von Zeichenketten in Datumstypen ... 626
       16.4 ... Zeilenfunktionen für Zeitstempel mit Zeitzonen ... 632
       16.5 ... Abfragen über die Zeit: Flashback ... 635

17.  Hierarchische Abfragen ... 641

       17.1 ... Das Problem ... 641
       17.2 ... Lösung mit der CONNECT BY-Klausel ... 644
       17.3 ... Erweiterungen der CONNECT BY-Klausel ... 651
       17.4 ... Hierarchische Abfragen nach ISO-Standard ... 662

18.  Arbeiten mit XML ... 675

       18.1 ... XML-Instanzen mit SQL/XML erzeugen ... 678
       18.2 ... Bearbeitung von XML-Instanzen in SQL/XML ... 696
       18.3 ... Extraktion relationaler Daten aus XML ... 702
       18.4 ... Speicherung von XML in der Datenbank ... 707
       18.5 ... Der Datentyp XMLTYPE ... 716

19.  JSON ... 725

       19.1 ... Übersicht über JSON ... 725
       19.2 ... Oracles JSON-Unterstützung ... 728
       19.3 ... Abfragen gegen JSON-Instanzen ... 731
       19.4 ... JSON-Funktionen und -Operatoren ... 736
       19.5 ... Erzeugung von JSON aus relationalen Daten ... 742
       19.6 ... Relationale Daten aus JSON extrahieren ... 752
       19.7 ... JSON-Instanzen bearbeiten ... 758
       19.8 ... JSON Data Guide ... 764
       19.9 ... JSON-Schema ... 767
       19.10 ... JSON Duality Views ... 770

20.  Pivotieren von Daten ... 777

       20.1 ... Pivotierung mit Gruppenfunktionen ... 778
       20.2 ... Pivotierung mit der PIVOT-Klausel ... 780
       20.3 ... Unpivotierung mit Gruppenfunktionen ... 787
       20.4 ... Unpivotierung mit der UNPIVOT-Klausel ... 790

21.  Row Pattern Matching ... 793

       21.1 ... Die Grundlagen ... 793
       21.2 ... Syntaktische Grundlagen ... 795
       21.3 ... Erweiterungen zur Grundsyntax ... 801
       21.4 ... Weitere Beispiele und Optionen ... 809
       21.5 ... Zusammenfassung ... 817

22.  Die MODEL-Klausel ... 819

       22.1 ... Lösung des Problems mit der MODEL-Klausel ... 822
       22.2 ... Partitionierung, Dimension und Messung ... 825
       22.3 ... Regeln ... 828
       22.4 ... Weiterführende Konzepte ... 838
       22.5 ... Bewertung der MODEL-Klausel ... 846

23.  SQL Property Graphen ... 849

       23.1 ... Einführung in Graphen ... 849
       23.2 ... Erstellen von Property-Graphen ... 851
       23.3 ... SQL/PGQ ... 857
       23.4 ... Beurteilung ... 863

24.  Objektorientierung in der Oracle-Datenbank ... 865

       24.1 ... Einführung in die Objektorientierung ... 866
       24.2 ... SQL-Typen ... 873
       24.3 ... Multiset-Operatoren und -Bedingungen ... 887
       24.4 ... Objektorientierte Tabellen ... 890
       24.5 ... Beurteilung ... 902

25.  Performanzoptimierung von SQL ... 905

       25.1 ... Sagen Sie der Datenbank, was Sie wollen! ... 905
       25.2 ... Nutzen Sie alle verfügbaren Optionen von SQL ... 909
       25.3 ... Vermeiden Sie Umgebungswechsel ... 913
       25.4 ... Die Verwendung von Indizes ... 921

  Datenbankmodellierung ... 933
26.  Die Grundlagen der Datenmodellierung ... 935

       26.1 ... Normalisierung ... 935
       26.2 ... Tabellendesign ... 939
       26.3 ... Primärschlüssel ... 942
       26.4 ... Fremdschlüssel ... 946
       26.5 ... Überlegungen zu Datentypen und zur Namenskonvention in Tabellen ... 947
       26.6 ... Zusammenfassung ... 955

27.  Datenmodellierung von Datum und Zeit ... 959

       27.1 ... Datumsbereiche ... 959
       27.2 ... Analyse gegen eine Zeitdimension ... 975
       27.3 ... Historisierung und Logging ... 979

28.  Speicherung hierarchischer Daten ... 995

       28.1 ... Hierarchie mittels zusätzlicher Hierarchietabelle ... 995
       28.2 ... Closure Table ... 999
       28.3 ... Weitere Modelle ... 1003
       28.4 ... Zusammenfassung ... 1004

29.  Datenwarenhaus ... 1007

       29.1 ... Star-Schema und Indizierung ... 1010
       29.2 ... Dimensionen ... 1013
       29.3 ... Arbeiten mit dem Star-Schema ... 1017
       29.4 ... Analytische Views ... 1022
       29.5 ... Zusammenfassung ... 1035

30.  Abbildung objektorientierter Strukturen ... 1037

       30.1 ... Vererbung ... 1038
       30.2 ... Kollektionen ... 1043
       30.3 ... Alternative Lösungsansätze ... 1044
       30.4 ... Zusammenfassung ... 1046

31.  Internationalisierung ... 1049

       31.1 ... Oracle im multilingualen Kontext ... 1049
       31.2 ... Datenmodelle zur Übersetzung von Stammdaten ... 1057

  Index ... 1073


1.2    Aufbau des Buches


Das Buch ist in mehrere Teile untergliedert, dem Gedanken folgend, dass ich zunächst die Grundlagen sowohl der Datenbank als auch der Abfragesprache SQL besprechen möchte. Danach folgt ein Teil, der sich mit der Anwendung von SQL in konkreten Einsatzszenarien auseinandersetzt und weitergehende technologische Konzepte erläutert. Zu ausgewählten Kapiteln (zu den einführenden insbesondere) biete ich darüber hinaus Übungen an, deren Lösung Sie mit einer kurzen Darstellung der Strategie online auf www.rheinwerk-verlag.de/6035 finden.

1.2.1    Teil I – Einführung und Grundlagen


Im ersten Teil des Buches werde ich das nötige Vorwissen erläutern, das Sie benötigen, um SQL zu erlernen. Diese Kapitel haben daher noch nichts mit SQL direkt zu tun, bereiten aber die Basis, sowohl technisch als auch vom Verständnis her.

Kapitel 2 – Verwendete Werkzeuge und Skripte

In diesem Kapitel beschreibe ich, wie eine Oracle-Datenbank installiert und konfiguriert wird. Die Beschreibung ist so gehalten, dass Sie eine Datenbank einrichten können, die Sie für die Beispiele des Buches benötigen. Zudem erläutere ich das Programm SQL Developer, mit dem wir in diesem Buch die SQL-Anweisungen erstellen werden.

Kapitel 3 – Konzept einer relationalen Datenbank

Dieses Kapitel erläutert, was eine Datenbank ausmacht und welche Anforderungen an solche Systeme gestellt werden. Wir werden untersuchen, warum es sinnvoll ist, Daten auf Tabellen zu verteilen, und welche grundlegenden Regeln hierbei beachtet werden müssen. Zudem werde ich Ihnen die – überraschend einfachen – Spielregeln für relationale Datenbanken erläutern. Das Kapitel führt aber auch in SQL ein und erläutert, woher diese Sprache kommt und was man damit machen kann. Schließlich können Sie Ihr Wissen an einem bestehenden Datenmodell des Benutzers HR ausprobieren, um zu verstehen, auf welche Weise Datenbanken modelliert werden.

1.2.2    Teil I – Die SELECT-Anweisung


Der zweite Teil des Buches befasst sich mit den Grundlagen der Sprache SQL sowie mit der Syntax des wichtigsten SQL-Befehls, der select-Anweisung, mit deren Hilfe Sie Daten der Datenbank lesen und Auswertungen erstellen können. Alle Kapitel des zweiten Teils enden mit einer kleinen Gruppe von Aufgaben, mit deren Hilfe Sie im Selbststudium Ihr Wissen prüfen können.

Kapitel 4 – Grundlagen: Auswahl und Projektion

Mit diesem Kapitel beginnen wir die Beschäftigung mit der Sprache SQL. Sie werden einfache SQL-Anweisungen schreiben und verstehen. Hier legen wir die syntaktischen Grundlagen, überlegen, wie einzelne Spalten und Zeilen ausgewählt werden können, und beginnen damit, einfache Rechnungen und Operationen an den Daten für eine Auswertung vorzunehmen.

Neben diesen Kernfunktionen werden Sie aber auch bereits leistungsfähigere Fallunterscheidungen anwenden und Pseudospalten, Schlüsselwerte und speziellere Werte, wie etwa den null-Wert, kennenlernen. Gerade dieses letzte Thema wird uns bereits hier in logische Randbereiche führen, die bei der Beschäftigung mit Datenbanken allgegenwärtig sind.

Kapitel 5 – Daten aus mehreren Tabellen lesen: Joins

In diesem Kapitel werden wir die Möglichkeiten, die wir in SQL haben, erweitern, indem wir Daten aus mehreren Tabellen abfragen. Mit Hilfe dieser Fähigkeiten entstehen leistungsfähige Berichte, die für die Arbeit mit Datenbanken unerlässlich sind. Das Mittel hierfür sind die sogenannten Joins, deren verschiedene Varianten in diesem Kapitel besprochen werden. In dieses Kapitel fällt aber auch die Verwendung der Mengenoperationen, die – ähnlich einem Join – Daten aus verschiedenen Tabellen kombinieren.

Kapitel 6 – Zeilenfunktionen

Dieses Kapitel erweitert die Kenntnis von SQL um Zeilenfunktionen, die es ermöglichen, die Daten der Tabelle für einen Bericht aufzuarbeiten, zu ändern oder anders darzustellen. Diese Funktionen werden sehr häufig im Berichtswesen eingesetzt, stellen aber gleichzeitig auch den ersten Bereich dar, in dem sich Datenbanken verschiedener Hersteller voneinander unterscheiden, denn nicht alle Funktionen haben standardisierte Bezeichner.

Das Kapitel dient, im Sinne eines ersten Herangehens an diese Funktionen, als Überblickskapitel, das die Zeilenfunktionen so darstellt, dass der besprochene Funktionsumfang für 90 % der Anweisungen ausreicht. Speziellere Optionen werden dann in späteren Kapiteln besprochen. Die Zeilenfunktionen dieses Kapitels werden in Datums-, Text-, mathematische und allgemeine Funktionen unterteilt. Den Abschluss bildet ein kurzes Beispiel zur Programmierung eigener Funktionen mittels der Programmiersprache PL/SQL.

Kapitel 7 – Gruppenfunktionen

Eine weitere Stufe auf der Komplexitätsleiter stellen die Gruppenfunktionen dar, mit deren Hilfe aus Daten einer Tabelle leistungsfähige Berichte erstellt werden. Wir starten in diesem Kapitel mit den Grundfunktionen zur Summierung, Durchschnittsbildung, zu Maximal- bzw. Minimalfunktionen etc. Doch werden auch weitergehende Konzepte der Gruppenfunktionen besprochen, wie etwa die Gruppierung oder das Filtern von Gruppenfunktionen. Ein Überblick über spezielle Gruppenfunktionen rundet das Kapitel ab.

Kapitel 8 – Unterabfragen

Dieses Kapitel erweitert Ihre Kenntnis über SQL durch Unterabfragen, mit deren Hilfe Hilfsabfragen berechnet werden können, um mit deren Ergebnissen die eigentliche Abfrage beantworten zu können. Die Vermittlung der Fähigkeit, erkennen zu können, wann eine Unterabfrage erforderlich ist, wird der zentrale Schwerpunkt dieses Kapitels sein. Dabei betrachten wir die verschiedenen Formen der Unterabfrage: die skalare, die harmonisierte, aber auch Unterabfragen mit mehreren Zeilen und/oder mehreren Spalten. Zudem werden Sie Unterabfragen in den unterschiedlichsten Klauseln der SQL-Anweisung und die with-Klausel kennenlernen.

Kapitel 9 – Analytische Funktionen

Analytische Funktionen sind für viele, die bereits mit SQL arbeiten, eine Offenbarung, weil sie komplexe Fragestellungen einfacher und performanter lösen können als herkömmliche SQL-Strategien. Dieses Kapitel bespricht diesen Typ Funktion, dabei widmen wir uns der Partitionierung, Sortierung und Filterung über Fensterfunktionen, die für diese Gruppe von Funktionen typisch sind. Schließlich werden die analytischen Funktionen, die nur als solche existieren, besprochen und in Anwendungsszenarien gezeigt.

1.2.3    Teil I – Datenmanipulation und Erzeugung von Datenbankobjekten


Während sich Teil I mit der Syntax und den verschiedenen Formen der select-Anweisung beschäftigt, mit deren Hilfe Daten aus einer Tabelle ausgelesen werden können, werden Sie in Teil I Ihre Kenntnis von SQL durch Anweisungen erweitern, die es Ihnen gestatten, Daten innerhalb der Datenbank zu manipulieren. Zudem sehen wir uns an, auf welche Weise Datenbankobjekte wie Tabellen oder Views erstellt werden.

Kapitel 10 – Datenmanipulation

Den Anfang macht ein Kapitel über die Anweisungen zum Einfügen, Ändern und Löschen von Daten. Neben diesen »klassischen« Anweisungen lernen Sie aber auch die merge-Anweisung kennen, die sehr leistungsfähig ist und für viele Arbeiten eingesetzt werden kann. Sie werden erkennen, dass Sie sehr von dem Wissen profitieren, das Sie sich im zweiten Teil des Buches erarbeitet haben, so dass Sie hier zügig vorankommen werden. Einen gewichtigen Teil dieses Kapitels nimmt aber auch die Diskussion des Transaktionsbegriffs ein, denn dieser Begriff ist für das Verständnis von Datenbanken zentral. Nun werden Sie, nach der allgemeinen Einführung in den Teilen I und II, diesen Begriff konkret im Einsatz sehen. Schließlich zeige ich Ihnen noch, wie Sie mit Fehlern bei der Manipulation sinnvoll umgehen.

Kapitel 11 – Views erstellen

Dieses Kapitel führt in die Arbeit mit Views ein. Diese Datenbankobjekte werde ich über den grünen Klee loben, denn für mich sind Views eines der wichtigsten Hilfsmittel bei der Arbeit mit Datenbanken. Ich werde erläutern, woher meine Begeisterung für Views kommt und wie sie verwendet werden können. Wir werden dabei sowohl einfache als auch komplexe Views besprechen und auch ihre Cousins, die materialisierten Views, darstellen. Eine Diskussion der möglichen Einsatzbereiche rundet das Verständnis ab.

Kapitel 12 – Tabellen erstellen

Konsequenterweise muss natürlich auch das Erstellen von Tabellen besprochen werden. Im Gegensatz zur Erstellung von Views ist bei der Erstellung einer Tabelle jedoch fast immer eine grafische Oberfläche...


Sieben, Jürgen
Jürgen Sieben ist inhabender Geschäftsführer der ConDeS GmbH. Er beschäftigt sich mit der Entwicklung und Parametrierung von Software, Computerberatung und Systemanalyse für namhafte Kunden wie T-Mobile und Metro AG. Zudem schult er Datenbanktechnologien, z. B. alle relevanten Oracle-Bereiche (Einführung, SQL, PL/SQL, Administration, Performance, Backup & Recovery, Datawarehousing etc.). Seit 2008 ist er Dozent an der Hochschule der in Medien Stuttgart.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.