Sie sind hier
E-Book

Oracle SQL Thinking

Vom Problem zum SQL-Statement mit Oracle 12c

AutorCornel Brücher, Wulf Kollmann, Frank Jüdes
VerlagMITP Verlags GmbH & Co. KG
Erscheinungsjahr2014
Seitenanzahl408 Seiten
ISBN9783826695810
FormatPDF/ePUB
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis2,99 EUR
  • Vermittlung der für SQL erforderlichen Denkweise
  • Basierend auf Oracle 12c
  • Keine SQL- oder Programmier-Vorkenntnisse erforderlich

Passend zu realen SQL-Alltagssituationen demonstrieren Ihnen die Autoren auf unterhaltsame Art und Weise, mit welchen Abfragen, Operatoren oder Funktionen Sie der Antwort auf Ihre Frage näher kommen. Sie lernen, mit Ergebnismengen zu jonglieren und diese kreuz und quer zu verbinden. Ein Gefühl für die Logik hinter SQL bekommen Sie so ganz nebenbei und können in Zukunft schnell und gezielt auch die kompliziertesten Datenbankabfragen formulieren. 
Die passenden Datensätze zu den Beispielen finden Sie als Download im Netz.

Aus dem Inhalt:
  • SQL - Die Sprache des Orakels
  • Wer oder was und woher? (Navigation im Datenmodell)
  • Wie viel X pro Y?
  • Mengenlehre
  • Wie viel Y pro X und Z(eitspanne)?
  • Einrichten des Users und der Tabellen
  • Schrödingers Gruppierung
  • Mustersuche
  • Datenmodelle
  • InsUpDel
  • Transaktionen
  • Datenbank-Tuning


Cornel Brücher befasst sich seit 1980 beruflich und privat mit Computern und arbeitete schon 1989 mit relationalen Datenbanken. Auf Oracle-Technologien spezialisierte er sich Ende der 90er Jahre bei Oracle Consulting in Deutschland. Seit 2000 ist er für verschiedene Unternehmen als Berater im Einsatz, seit 2007 im Data Warehouse-Umfeld. Wulf Kollmann studierte Informatik mit BWL und kombiniert seit 1989 beide Fachrichtungen bei Projekten im In- und Ausland. Er entwickelt seit 1994 im eigenen Unternehmen maßgeschneiderte kaufmännische Datenbank-Anwendungen für Kunden aus verschiedensten Branchen.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 1: Das Problem mit dem Problem


Bevor man sich auf den Weg vom Problem zum SQL-Statement machen kann, muss man zuerst das Problem genau kennen. Da Zitate sich in einer Einleitung immer gut machen und wir zufällig ein passendes gefunden haben, lassen wir an dieser Stelle den berühmten Strategen Sun Tsu zu Wort kommen: »Wenn du den Feind und dich selbst kennst, brauchst du den Ausgang von hundert Schlachten nicht zu fürchten.« Etwas zeitgemäßer und in die IT übertragen: »Wenn du die Fragestellung und deine Daten kennst, brauchst du das Ergebnis von hundert Abfragen nicht zu fürchten.«

Da fängt es an, das Problem mit dem Problem. Es ist schon Tradition, Anfragen an die IT unpräzise, wolkig oder global-galaktisch zu stellen. Die IT kann Gedanken lesen und liefert automatisch das richtige Ergebnis. Wie das in der Praxis tatsächlich aussieht, hat Douglas Adams, der wohl bekannteste Experte für unpräzise Fragestellungen und deren Auswirkungen, in seinen Werken ausführlich dargestellt. Auf die Frage nach dem Projekt, dem Budget und dem ganzen Rest können Sie einfach mit »42 %« antworten. Das »%« ist bei Betriebswirten sehr beliebt und unterstreicht die Glaubwürdigkeit Ihrer Antwort.

Das Problem mit dem Problem ist also die präzise Formulierung desselben. Allzu oft schaffen es unpräzise Fragestellungen durch alle Konzeptstufen hindurch bis zum Entwickler, der sich dann die fehlenden Anforderungsdetails nach bestem Wissen und Gewissen zusammenreimen muss. Das Ergebnis wird dann klassifiziert als »works as designed«, eine vornehme Umschreibung für »Das Ergebnis kann zwar keiner gebrauchen, aber wir haben geliefert, was bestellt wurde«. An der präzisen Problembeschreibung bzw. Fragestellung führt kein Weg vorbei.

Die zentrale Frage vor jeder Datenbankabfrage lautet:

»Welche Frage sollen die Daten beantworten?«

Stellen Sie diese Frage demjenigen, der Ihre Daten haben will. Wenn niemand sonst verfügbar ist, stellen Sie sich selbst diese Frage, bevor Sie beginnen.

Damit wir aber jetzt zur Sache kommen können, setzen wir präzise Fragestellungen einfach voraus. Wir haben uns das bei den Mathematikern abgeschaut und sagen einfach:

Gegeben sei eine präzise Fragestellung.

1.1  SQL – Die Sprache des Orakels


Die Antworten des Orakels aus Redwood sind zwar verständlicher als damals bei den alten Griechen in Delphi, dafür ist die Befragung etwas komplizierter. Dieses Orakel versteht nur SQL (wenn Sie das »Sssickwl« aussprechen, outen Sie sich als Experte. Deswegen heißt dieses Buch auch »Sssickwl Thinking«).

SQL (Structured Query Language) ist die standardisierte Datenzugriffssprache für relationale Datenbanken. SQL ist keine Programmiersprache, da sich keine Programmabläufe, Verzweigungen oder Schleifen formulieren lassen. SQL unterteilt sich in DDL (Data Definition Language) und DML (Data Manipulation Language). In DDL werden die Datenbankobjekte und -strukturen definiert (zum Beispiel Tabellen angelegt). Mit DML werden die Daten eingefügt (INSERT), geändert (UPDATE), abgefragt (SELECT) und gelöscht (DELETE).

In diesem Buch liegt der Schwerpunkt auf DML, also dem Arbeiten mit den Daten selbst, und insbesondere auf der Abfrage der Daten mit SELECT. Sie sollen ein Gefühl für diese Abfragen bekommen. Sie werden sehen, dass man mit SQL-Abfragen auf einer Oracle-Datenbank Auswertungen erzeugen kann, die normalerweise mit viel Nach(t)arbeit und einem schwarzen Gürtel in Excel erledigt werden.

Das Schlüsselwort für jede Datenbankabfrage ist SELECT. Die mit SELECT eingeleitete Datenbankabfrage wird SELECT-Statement genannt. Die Grundlage aller SELECT-Statements lässt sich so zusammenfassen:

SELECT irgendwas FROM irgendwoher

Mit einem SELECT-Statement formulieren Sie nicht, was ein Programm tun soll. Sie beschreiben, was Sie haben wollen und wo es zu finden ist. Man könnte auch sagen, Sie spielen eine Art »Hol das Stöckchen!« mit der Datenbank. Das erfordert die gleiche Präzision wie beim Programmieren. Wenn Sie Ihre Abfrage nicht genau genug formulieren, kann es passieren, dass Sie statt des erwarteten Stöckchens den ganzen Wald bekommen, nur Holzspäne oder gar nichts.

Ein nicht unbedeutender Seiteneffekt unpräziser Abfragen auf einer Produktionsdatenbank ist übrigens eine hohe Systemlast, mit der man die Kollegen und insbesondere den Administrator gegen sich aufbringt.

Sprachlich gesehen ist eine Datenbankabfrage eher ein Befehl als eine Frage. Am Anfang steht aber tatsächlich eine Frage. Irgendjemand in der (betriebswirtschaftlichen) Welt da draußen will irgendetwas wissen, das nur Sie herausfinden können, weil die Antwort irgendwo da drin (in der Datenbank) ist. Wir beginnen mal mit einer alltäglichen Frage.

1.2  Die ersten Fragen


A.2.1  Voraussetzungen


In diesem Kapitel arbeiten wir mit dem User SCOTT, der zu jeder Oracle-Datenbank mitgeliefert wird und in seinem »Schema« ein stark vereinfachtes Datenmodell aus dem Bereich Human Resources bereithält. Bitte melden Sie sich mit diesem User an. (Wie User zuvor entsperrt werden und wie man sich mit dem SQL-Developer anmeldet, können Sie in Anhang A nachschlagen. Alternativ können Sie auch den User SQLTHINKING der in Abschnitt A.3.3 beschriebenen Übungsdatenbank benutzen.)

Nachdem Sie sich erfolgreich angemeldet haben, öffnet sich automatisch ein SQL-Fenster für die ausgewählte Datenbankverbindung. Nachdem Sie ein Statement eingegeben haben, können Sie es mit dem grünen Pfeil oder Strg+Enter ausführen.

Abb. 1.1: Statement im SQL Developer ausführen

1.2.2  Welches Datum haben wir heute?


Nicht auf den Kalender schauen, die Datenbank weiß alles. Wir benötigen lediglich einen Funktionsaufruf. Das Datum erfährt man über die SQL-Funktion SYSDATE. SQL-Funktionen verhalten sich wie Funktionen in Programmiersprachen. Sie rufen die Funktion im SQL-Statement in einer Spalte auf, und bei der Ausgabe des SELECT-Statements steht an der entsprechenden Stelle das Ergebnis der Funktion, der sogenannte Rückgabewert. Im Gegensatz zu SYSDATE benötigen die meisten Funktionen Parameter. Diese hier können wir einfach aufrufen. Nur wie kommen wir an den Rückgabewert heran?

In SQL gibt es kein System.out.println oder printf. Sie können der Datenbank nicht befehlen, etwas irgendwohin auszugeben. Sie dürfen auswählen. Dann mal los:

SELECT sysdate

Antwort vom Orakel:

ORA-00923: Schlüsselwort FROM nicht an erwarteter Stelle gefunden

Wir haben schon angegeben, was wir haben wollen, aber noch nicht, wo es zu finden ist. Oracle erwartet die Angabe mindestens einer Tabelle, in der das Gesuchte zu finden ist, hinter dem Schlüsselwort FROM. Hier kommt die Tabelle DUAL ins Spiel. In jeder Oracle-Datenbank existiert im Schema des Administrator-Users SYS die Tabelle DUAL mit genau einer Spalte und genau einer Zeile. Diese Tabelle wird benötigt, um Abfragen durchzuführen, die nur eine Ergebniszeile liefern sollen und mit dem Inhalt irgendwelcher Tabellen nichts zu tun haben. Das können Berechnungen sein oder wie in diesem Beispiel der Aufruf von SQL-Funktionen.

SELECT sysdate FROM dual

Antwort vom Orakel:

Abb. 1.2: Des Orakels erste Antwort

Die Funktion SYSDATE liefert mehr zurück, als Sie im Moment sehen. Im Oracle-Datentyp DATE ist immer die Genauigkeit bis hin zur Sekunde gespeichert. Erst bei der Konvertierung in ein Darstellungsformat werden nicht benötigte Genauigkeitsstufen weggelassen.

Wichtig

Ein reines Datum ohne Uhrzeit gibt es in einer Oracle-Datenbank nicht. Datumswerte von Oracle beinhalten immer die Uhrzeit.

Wir stellen an dieser Stelle schon mal eine passendere Datumsdarstellung im SQL Developer ein. Dazu wählen wir im Menü Extras/Voreinstellungen, klappen den Punkt Datenbank auf und wählen den Unterpunkt NLS. Im Feld Datumsformat ersetzen wir das knappe »DD.MM.RR« durch »DD.MM.YYYY HH24:MI:SS«. Damit ändern wir die Formatierung des Datums bei der automatischen Konvertierung im SQL Developer aus dem Oracle-internen Datumsformat in die für uns lesbare Darstellung.

Abb. 1.3: Datumseinstellung

Wenn wir das Datum jetzt nochmal abfragen, erscheint auch die Uhrzeit:

Abb. 1.4: 13:37 Uhr.

DUAL ist übrigens so eine Art Tante-Emma-Laden in der Oracle-Datenbank. Da gibt’s einfach alles. Durst?

SELECT 'Coke' FROM dual

Abb....

Blick ins Buch
Inhaltsverzeichnis
Cover1
Titel3
Impressum4
Inhaltsverzeichnis5
Vorwort11
Kapitel 1: Das Problem mit dem Problem13
1.1 SQL – Die Sprache des Orakels14
1.2 Die ersten Fragen15
A.2.1 Voraussetzungen15
1.2.2 Welches Datum haben wir heute?15
1.2.3 Hello World17
1.3 Abfrage von echten Tabellen19
1.3.1 Anzeige von Tabelleninhalten – und mehr19
1.3.2 Die erste Textaufgabe22
Kapitel 2: Wer oder was und woher? (Navigation im Datenmodell)25
2.1 Voraussetzungen25
2.2 Welche Mitarbeiter haben wir? (Abfrage von Details aus einer Tabelle)26
2.2.1 Die benötigten Tabellen ermitteln27
2.2.2 Die erforderlichen Spalten auswählen28
2.3 In welchen Abteilungen sind die Mitarbeiter? (Abfrage über 2 Tabellen)30
2.3.1 Navigation im Datenmodell30
2.3.2 Formulierung der Abfrage über zwei Tabellen (INNER JOIN)35
2.3.3 Arbeit sparen auf natürliche Art (NATURAL JOIN)41
2.4 Welche Abteilungen sind in welchen Regionen?45
2.4.1 Verbundene Abfrage über vier Tabellen (INNER JOIN)45
2.4.2 Sortieren der Ergebnisse49
2.5 In welchen Regionen sind welche Abteilungen?49
2.5.1 Kehrt, marsch!50
2.5.2 In welchen Regionen, Ländern und Locations haben wir Abteilungen und in welchen nicht?50
2.6 Wer arbeitet im Marketing?53
2.6.1 Abfrage mit Filter (WHERE-Bedingung)53
2.6.2 Möglichkeiten der Ergebnisfilterung54
2.6.3 Verneinung von Bedingungen55
2.6.4 Verknüpfung von Bedingungen56
2.6.5 JOIN über WHERE-Bedingungen (ANSI-92-Syntax vs. alte Syntax)56
2.7 In welchen Regionen sind wir nicht vertreten?58
2.8 Russische Geschäfte64
Kapitel 3: Wie viel X pro Y?67
3.1 Wie viel ...?67
3.1.1 Wie viele Mitarbeiter haben wir?67
3.1.2 Wie viele Mitarbeiter haben ein variables Gehalt?68
3.1.3 Wie viele Mitarbeiter haben die Abteilungen?68
3.2 Wie viel X pro Y (unterteilt nach Z)74
3.2.1 Wie viele Mitarbeiter haben die Abteilungen?74
3.2.2 ... unterteilt nach Jobs?75
3.2.3 Zwischensummen und Gesamtsumme78
3.2.4 Welche Abteilungen haben mehr als fünf Mitarbeiter?88
3.3 X pro Y im Verhältnis zur Gesamtmenge X90
3.3.1 Das Durchschnittsgehalt welcher Abteilungen liegt über dem Gesamt-durchschnitt?90
Kapitel 4: Mengenlehre97
4.1 Voraussetzungen97
4.1.1 Fachlicher Hintergrund97
4.1.2 Einrichten des Users und der Tabellen97
4.2 Datenmodell101
4.3 Wie viel (im Vergleich)101
4.3.1 Wie viele Besucher waren auf der letzten Messe?101
4.3.2 Wie viele Besucher waren auf der letzten Messe im Vergleich zur Vormesse?106
4.4 Was im Vergleich114
4.4.1 Welche Besucher der letzten Messe fehlten bei der Vormesse?114
4.4.2 Welche Besucher waren auf beiden Messen?119
4.4.3 Welche Besucher waren insgesamt auf beiden Chicken Breeding Fairs?123
4.5 Spickzettel Mengenoperationen126
Kapitel 5: Wie viel Y pro X und Z(eitspanne)127
5.1 Voraussetzungen127
5.1.1 Fachlicher Hintergrund127
5.1.2 Einrichten des Users und der Tabellen127
5.2 Datenmodell128
5.3 Wie viele Rechnungen sind 30/60/90/>90 Tage überfällig?128
5.3.1 Wie erkennen wir überfällige Rechnungen?129
5.3.2 Wie errechnen wir die Zeitspanne?130
5.3.3 Datumsarithmetik131
5.3.4 Datumskonvertierung133
5.3.5 Einteilung in die vorgegebenen Kategorien137
5.4 Wie viel Umsatz pro Kunde und Jahr?141
5.4.1 ROLLUP142
5.4.2 CUBE143
5.4.3 PIVOT149
5.4.4 UNPIVOT151
Kapitel 6: Sternzeit155
6.1 Datenmodell155
6.2 Welche Farbe war die meistverkaufte pro Jahr?156
6.2.1 Data Warehouse-Abfrage156
6.2.2 Relationale Abfrage159
6.3 Wie hat sich der Umsatz in der Quartalsbetrachtung entwickelt?162
6.3.1 Data Warehouse-Abfrage162
6.3.2 Relationale Abfrage165
6.4 Umsatz, Quartalsbetrachtung, Holzprodukte167
6.4.1 Data Warehouse-Abfrage167
6.4.2 Relationale Abfrage168
Kapitel 7: Wer kennt wen?173
7.1 Einrichten des Users und der Tabellen173
7.2 Datenmodell174
7.3 Suche in der Baumstruktur175
7.3.1 Wen kenne ich direkt?175
7.3.2 Wen kenne ich über wie viele Ecken?176
7.3.3 Wen kenne ich über Maverick?180
7.3.4 Gibt es eine Verbindung zwischen Cornel und dem Kanuschlüssel?182
7.3.5 Die kürzeste Verbindung zwischen Cornel und Rajesh?184
7.4 Suche im Netzwerk192
7.4.1 Gibt es Verbindungen zwischen Maverick und Averell?192
7.5 Der kürzeste Pfad197
7.6 Praxisanwendungen202
7.6.1 Welche Strecke hat die meisten freien Leitungen?203
7.6.2 Navigation im Datenmodell206
Kapitel 8: Schrödingers Gruppierung215
8.1 Datenmodell215
8.2 X pro Y im Verhältnis zur Gesamtmenge X216
8.2.1 Mit wie viel Prozent der Kunden machen wir wie viel Prozent unseres Umsatzes?216
8.2.2 X Prozent weniger Arbeit mit analytischen Funktionen220
8.3 Sichtbereiche analytischer Funktionen229
8.4 Rangfolge mit und ohne Gruppierung233
8.4.1 Wie viel Umsatz machen wir mit dem obersten Drittel unserer Kunden, und welche Kunden sind das?234
Kapitel 9: Mustersuche241
9.1 Suche in Zahlenreihen241
9.1.1 V-Formation241
9.1.2 Formulieren von Suchmustern254
9.1.3 Der kleine Waschsalon262
9.2 Wie schreibt sich Herr Meier?266
9.2.1 Orakeln mit Regex269
Kapitel 10: Datenmodelle275
10.1 Datenbankmodell vs. Datenmodell275
10.2 Grundlagen des relationalen Konzepts276
10.3 Grundlagen von Datenmodellen277
10.3.1 Das einfachste Datenmodell: Eine Tabelle277
10.3.2 Die Department-Tabelle278
10.3.3 Das Telefonnummernproblem281
10.3.4 Geteilte Departments282
10.3.5 Wer ist mein Manager?283
10.3.6 Normalisierung285
10.3.7 Beziehungskisten287
10.3.8 Schlüsseltechnologie290
10.3.9 Integritätsbedingungen (Constraints)296
10.3.10 Sequenzen und Trigger300
10.4 Das Modell und die Datenbank303
10.4.1 Anlegen eines Benutzerkontos303
10.4.2 Der CREATE TABLE-Befehl304
10.4.3 Der ALTER TABLE-Befehl305
10.4.4 Der CREATE INDEX-Befehl307
10.4.5 Der CREATE SEQUENCE-Befehl308
10.4.6 Der CREATE TRIGGER-Befehl308
10.4.7 Übersicht und andere wichtige DDL-Befehle309
Kapitel 11: InsUpDel313
11.1 Der INSERT-Befehl313
11.1.1 Eingefügte Werte zurückliefern314
11.1.2 Der INSERT-Befehl als Datenschleuder315
11.1.3 Einfügen in mehrere Tabellen317
11.2 Der UPDATE-Befehl321
11.3 Aktualisierte Daten zurückliefern323
11.4 Der DELETE-Befehl324
11.5 Gelöschte Daten zurückliefern324
11.6 Spezialisten325
11.6.1 Der TRUNCATE-Befehl325
11.6.2 Der MERGE-Befehl326
Kapitel 12: Transaktionen331
12.1 Allgemeines331
12.2 COMMIT und ROLLBACK332
12.3 Savepoints332
12.4 Explizite Transaktionen333
12.5 Sequenzen und Transaktionen336
12.6 Datensätze sperren337
12.7 Tabellen sperren339
12.7.1 Deadlock-Situationen340
Kapitel 13: Tuning343
13.1 Voraussetzungen343
13.1.1 Einrichten des Datenbank-Accounts343
13.2 Tunen der Hardware344
13.3 Datenbank-Tuning344
13.3.1 Datenbankstatistiken344
13.3.2 Automatic Workload Repository346
13.4 Datenmodell-Tuning347
13.4.1 Erstellen der Testdaten348
13.4.2 Testen des Datenmodells350
13.4.3 Kosten- versus regelbasierter Optimierer356
13.4.4 Verarbeitung von SQL-Abfragen356
13.4.5 Statistiken357
13.4.6 Informationen aus dem Data Dictionary360
13.4.7 Indexverwaltung361
13.4.8 Explain Plan362
13.5 SQL-Statement Tuning363
13.6 Applikations-Tuning364
Anhang A: Vorbereitungen367
A.1 Installation der Datenbank367
A.1.1 Oracle Database Express Edition 11g Release 2367
A.1.2 Oracle Database 12c Release 1368
A.2 Hochfahren und Herunterfahren375
A.3 SQL Developer376
A.3.1 Die mitgelieferte Version376
A.3.2 Die aktuelle Version376
A.3.3 Übungsdatenbank im Netz379
Anhang B: NULL381
Anhang C: DDL-Skripte385
C.1 Anlegen eines Benutzers385
C.2 Erzeugen der Beispieltabellen385
C.3 Erzeugen der Constraints386
C.4 Erzeugen der Suchindexe388
C.5 Anlegen der Sequenzen388
C.6 Die Trigger388
Anhang D: EXCEL-Daten importieren391
Stichwortverzeichnis397

Weitere E-Books zum Thema: Netzwerke - Clouds - Datenbanken

Neue autoMobilität

E-Book Neue autoMobilität

Durch Entwicklungen im Bereich der Assistenzsysteme und des automatisierten Fahrens nimmt das Fahrzeug dem Fahrer immer mehr Aufgaben ab. Es zeichnet sich bereits ab: Automatisierung und Vernetzung ...

Das Contao-Praxisbuch

E-Book Das Contao-Praxisbuch

Contao gilt unter Webdesignern als schlankes, bedienungsfreundliches Open-Source-Content-Management-System (CMS), mit dem sich ohne allzu großen Aufwand professionelle Websites erstellen und pflegen ...

Heim-Netzwerke XL-Edition

E-Book Heim-Netzwerke XL-Edition

Der Aufbau eines Heimnetzwerks ist keine Hexerei mehr, und in einem guten Heimnetzwerk zeigen Ihre Geräte endlich, was sie alles können! Hier lernen Sie alle Schnittstellen und Geräte kennen, mit ...

Ihr Weg in die Cloud

E-Book Ihr Weg in die Cloud

Dieses Buch richtet sich an IT-Verantwortliche, Mitarbeiter in Projekten zur Cloud-Einführung und Entscheidungsträger sowie alle, die über das Auslagern von Services in die Cloud nachdenken. Nach ...

Anfragegenerierende Systeme

E-Book Anfragegenerierende Systeme

Holger Schwarz stellt Ansätze der Anfragegenerierung vor und erläutert diese an konkreten Anwendungsszenarien aus den Bereichen Business Intelligence, Workflow Management und Suchtechnologien. ...

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

BEHINDERTEPÄDAGOGIK

BEHINDERTEPÄDAGOGIK

Für diese Fachzeitschrift arbeiten namhafte Persönlichkeiten aus den verschiedenen Fotschungs-, Lehr- und Praxisbereichen zusammen. Zu ihren Aufgaben gehören Prävention, Früherkennung, ...

Das Grundeigentum

Das Grundeigentum

Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...

Gastronomie Report

Gastronomie Report

News & Infos für die Gastronomie: Tipps, Trends und Ideen, Produkte aus aller Welt, Innovative Konzepte, Küchentechnik der Zukunft, Service mit Zusatznutzen und vieles mehr. Frech, offensiv, ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN

ERNEUERBARE ENERGIEN informiert durch unabhängigen Journalismus umfassend über die wichtigsten Geschehnisse im Markt der regenerativen Energien. Mit Leidenschaft sind wir stets auf der Suche nach ...