Sie sind hier
E-Book

Microsoft SQL Thinking

Vom Problem zum SQL Statement - Für SQL Server 2012

AutorCornel Brücher, Thomas Glörfeld
VerlagMITP Verlags GmbH & Co. KG
Erscheinungsjahr2013
Seitenanzahl512 Seiten
ISBN9783826692642
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis2,99 EUR
Vom Problem zum SQL-StatementVermittlung der für SQL erforderlichen DenkweiseAuch für NichtprogrammiererFür SQL Server 2012Aus dem Inhalt:Das Problem mit dem ProblemDie ersten FragenNavigation im DatenmodellErgebnisfilterungWieviel X pro Y?Geschachtelte SelectsMengenlehreWieviel Y pro X und Z(eitspanne)SternzeitWer kennt wen?Daten verändern, Daten löschenLeistungskontrolleDaten zusammenführenAbläufe programmieren mit SQLTabellendesignZwischenergebnisse temporär speichernProgrammobjekteIn diesem Buch lernen Sie nicht, wie man programmiert. Ein Programm beschreibt, was ein Rechner tun soll und wie er es tun soll. Programmierer denken in Schrittfolgen, Verzweigungen und Schleifen. Man stellt eine Abfrage, verarbeitet das Ergebnis und holt sich dann wiederholt weitere Details aus der Datenbank. Das ist keine Datenbank-Abfrage, das ist ein Datenbank-Interview.Im ersten Teil des Buches lernen Sie, aus der verbalen Beschreibung der gewünschten Daten eine einzige Datenbankabfrage zu formulieren. Eine Frage, eine Antwort: Das ist SQL! Fragen an den SQL Server kann man aber nur stellen, wenn man ihm das Material für die Antworten gegeben hat. Also erfahren Sie im zweiten Teil, warum und wie man was wo in der Datenbank speichert, Regeln definiert, Batchabläufe programmiert, Daten manipuliert und eliminiert.Das Konzept, das sich in Cornel Brüchers Oracle-basiertem Buch SQL Thinking bewährt hat, nämlich fundiertes SQL-Wissen witzig und unterhaltsam zu präsentieren, wird in diesem Buch übertragen auf die Profi-Datenbank von Microsoft. Mit Thomas Glörfeld wurde dafür ein Autor gefunden, der sich beim SQL Server exzellent auskennt und absolutes Expertenwissen beisteuern kann. Dass sich die Ausführungen der Autoren auf das jüngste Release SQL Server 2012 beziehen, versteht sich von selbst.

Die beiden Datenbank-Profis ergänzen sich hervorragend: Der eine, Thomas Glörfeld, ist in der Microsoft-Welt zuhause, während der andere, Cornel Brücher, sich als Oracle-Experte einen Namen gemacht hat.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Cover
1
Titel
3
Impressum
4
Inhaltsverzeichnis5
Vorwort13
Das Problem mit dem Problem15
1.1 Sssickwl?16
1.2 Die ersten Fragen17
1.2.1 Voraussetzungen17
1.2.2 Welches Datum haben wir heute?17
1.2.3 Hello World18
1.3 Abfrage von echten Tabellen19
1.3.1 Anzeige von Tabelleninhalten - und mehr19
1.3.2 Die erste Textaufgabe22
Wer oder was und woher? (Navigation im Datenmodell)25
2.1 Beispielschema26
2.2 Welche Mitarbeiter haben wir? (Abfrage von Details aus einer Tabelle)26
2.2.1 Die benötigten Tabellen ermitteln26
2.2.2 Die erforderlichen Spalten auswählen27
2.3 In welchen Abteilungen sind die Mitarbeiter? (Abfrage über zwei Tabellen)27
2.3.1 Navigation im Datenmodell28
2.3.2 Formulierung der Abfrage über zwei Tabellen (INNER JOIN)32
2.4 Welche Abteilungen sind in welchen Regionen?34
2.4.1 Verbundene Abfrage über vier Tabellen (INNER JOIN)34
2.4.2 Sortieren der Ergebnisse38
2.5 In welchen Regionen sind welche Abteilungen?39
2.5.1 Kehrt, marsch!40
2.5.2 In welchen Regionen, Ländern und Locations haben wir Abteilungen und in welchen nicht?41
2.6 Wer arbeitet im Marketing?43
2.6.1 Abfrage mit Filter (WHERE-Bedingung)43
2.6.2 Möglichkeiten der Ergebnisfilterung44
2.6.3 Verneinung von Bedingungen45
2.6.4 NULL-Werte46
2.6.5 Verknüpfung von Bedingungen47
2.6.6 JOIN über WHERE-Bedingungen (ANSI-92-Syntax vs. alte Syntax)48
2.7 In welchen Regionen sind wir nicht vertreten?49
2.8 Eine Menge von Mengen - mit APPLY57
2.8.1 CROSS APPLY59
2.8.2 OUTER APPLY60
2.9 Russische Geschäfte61
Wie viel X pro Y?65
3.1 Wie viel ...?65
3.1.1 Wie viele Mitarbeiter haben wir?65
3.1.2 Wie viele Mitarbeiter haben ein variables Gehalt?65
3.1.3 Wie viele Mitarbeiter haben die Abteilungen?66
3.2 Wie viel X pro Y (unterteilt nach Z)?71
3.2.1 Wie viele Mitarbeiter haben die Abteilungen ...71
3.2.2 ... unterteilt nach Jobs?72
3.2.3 Zwischensummen und Gesamtsumme74
3.2.4 Was wäre, wenn ...?77
3.2.5 Welche Abteilungen haben mehr als fünf Mitarbeiter?83
3.3 X pro Y im Verhältnis zur Gesamtmenge X84
3.3.1 Das Durchschnittsgehalt welcher Abteilungen liegt über dem Gesamtdurchschnitt?84
Mengenlehre91
4.1 Hintergrund91
4.2 Datenmodell91
4.3 Wie viel (im Vergleich)92
4.3.1 Wie viele Besucher waren auf der letzten Messe?92
4.3.2 Wie viele Besucher waren auf der letzten Messe im Vergleich zur Vormesse?96
4.4 Was im Vergleich104
4.4.1 Welche Besucher der letzten Messe fehlten bei der Vormesse?104
4.4.2 Welche Besucher waren auf beiden Messen?110
4.4.3 Welche Besucher waren insgesamt auf beiden Chicken Breeding Fairs?115
4.5 Spickzettel Mengenoperationen118
Gestern - Heute - Morgen119
5.1 Fachlicher Hintergrund119
5.2 Datumsarithmetik119
5.2.1 Heute - GETDATE()119
5.2.2 Zeitspanne - DATEDIFF()119
5.2.3 Zeitsprung - DATEADD()120
5.2.4 Monatsende - EOMONTH()121
5.3 Datumskonvertierung121
5.3.1 Implizite Konvertierung121
5.3.2 Explizierte Konvertierung123
Wie viel Y pro X und Z(eitspanne)131
6.1 Fachlicher Hintergrund131
6.2 Datenmodell131
6.3 Wie viele Rechnungen sind 30/60/90/>90 Tage überfällig?132
6.3.1 Wie erkennen wir überfällige Rechnungen?132
6.3.2 Wie errechnen wir die Zeitspanne?133
6.3.3 Einteilung in die vorgegebenen Kategorien134
6.4 Wie viel Umsatz pro Kunde und Jahr?138
6.4.1 ROLLUP138
Sternzeit149
7.1 Datenmodell149
7.2 Welche Farbe war die meistverkaufte pro Jahr?150
7.2.1 Data Warehouse-Abfrage150
7.2.2 Relationale Abfrage152
7.3 Wie hat sich der Umsatz in der Quartalsbetrachtung entwickelt?154
7.3.1 Data Warehouse-Abfrage154
7.3.2 Relationale Abfrage159
7.4 Umsatz, Quartalsbetrachtung, Holzprodukte161
7.4.1 Data Warehouse-Abfrage161
7.4.2 Relationale Abfrage162
Wer kennt wen?167
8.1 Datenmodell167
8.2 Suche in der Baumstruktur168
8.2.1 Wen kenne ich direkt?169
8.2.2 Wen kenne ich über wie viele Ecken?170
8.2.3 Wen kenne ich über Maverick?174
8.2.4 Gibt es eine Verbindung zwischen Cornel und dem Kanuschlüssel?176
8.2.5 Die kürzeste Verbindung zwischen Cornel und Rajesh?178
8.3 Suche im Netzwerk186
8.3.1 Gibt es Verbindungen zwischen Maverick und Averell?186
8.4 Der kürzeste Pfad192
Neue Daten braucht das Land199
9.1 Einen neuen Mitarbeiter einstellen?199
9.2 Gehen auch mehrere Datensätze gleichzeitig?203
9.3 Wie kann ich Daten kopieren?205
9.4 Wie kann ich massenhaft Daten importieren?208
9.5 INSERT mit Tabellenausdrücken216
Beständig ist nur die Veränderung219
10.1 Wie kann ich den Namen ändern?219
10.2 Wie kann ich Werte vertauschen?221
10.3 Werte mittels komplexer Abfragen ermitteln223
10.4 Wie kann ich ähnliche Unterabfragen im UPDATE vereinfachen?227
10.5 UPDATEs auf Tabellenausdrücken?232
10.6 Nur die ersten fünf ändern?238
10.7 Kurze Operatoren239
Abschied - kurz und schmerzlos241
11.1 Daten aus einer Tabelle löschen241
11.2 Löschen verboten?243
11.3 Lösche meinen Join245
11.4 Wie kann ich Duplikate löschen?246
11.5 Wie kann ich eine Tabelle komplett leeren?249
11.6 Häppchenweise löschen250
Leistungskontrolle253
12.1 Vorher-Nachher-Vergleich253
12.2 Ergebnisse auffangen257
12.3 Welche IDs haben frisch eingefügte Datensätze?259
12.4 Kann ich damit eine Warteschlange bauen?261
12.5 Kann ich mit OUTPUT ein Änderungsprotokoll führen?263
12.6 Und löschen?265
12.7 Mich interessiert aber nur die Anzahl266
Daten zusammenführen269
13.1 Wie kann ich Änderungen aus der einen in eine andere Tabelle nachziehen?270
13.2 Wie kann ich zugleich fehlende Daten einfügen?274
13.3 Wie kann ich zugleich die gelöschten Datensätze in der Kopie entfernen?277
13.4 Kann ich nur eine Teilmenge als Quelle verwenden?281
13.5 Wie kann ich die Datensätze in der Zieltabelle einschränken?286
13.6 Kann ich auch die Anzahl beschränken?287
Abläufe programmieren mit SQL293
14.1 Wie kann ich mehrere SQL-Befehle zusammenfassen?293
14.2 Kann ich auch irgendwie Werte zwischenspeichern?296
14.3 Wie kann ich den Ablauf steuern?301
14.4 Sind auch Schleifen möglich?303
14.5 Wie kann ich den Batch vorzeitig abbrechen?308
14.6 Wie kann ich einen Fehler werfen?309
14.6.1 Fehler werfen mit THROW309
14.6.2 Fehler mit RAISERROR werfen: der erste Versuch312
14.6.3 Fehler mit RAISERROR werfen: der zweite Versuch313
14.6.4 THROW mit gespeicherten Meldungstexten318
14.7 Wie kann ich einen Fehler fangen?320
14.8 Wie kann ich im CATCH gezielt reagieren?323
14.9 Mit welchen typischen Fehlern sollte ich rechnen?325
14.10 Kann ich solche Batches auch im SQL Server speichern?331
Alle für einen und einer für alle!337
15.1 Wirklich komplett zurücksetzen?337
15.2 Was kann mit Transaktionen denn schiefgehen?344
15.3 Wie passt das alles zusammen?346
15.4 Wie kann ich Transaktionen schachteln?347
15.5 Kann der SQL Server auch standardkonforme Transaktionen?357
15.6 Empfehlungen zu ätzenden Transaktionen360
15.7 Wie kann ich beeinflussen, welche Sperre eine Aktion auslöst?363
15.8 Mit welchen Blockierungen muss ich rechnen?368
15.9 Was passiert, wenn ein Deadlock auftritt?373
Was sind Tabellen eigentlich?379
16.1 Was sind Tabellen?379
16.2 Tabellen versus Heaps (Clustered Index)384
16.3 Schlüssel und andere Bedingungen396
16.4 Wie kann ich Default-Werte festlegen?407
16.5 Kann ich selber Datentypen anlegen?410
16.6 Wie kann ich IDs automatisch vergeben lassen?412
Tabellendesign423
17.1 Was gibt es beim Tabellendesign zu beachten?423
17.1.1 Erste Normalform: Eine Spalte enthält nur einsegmentige Werte424
17.1.2 Zweite Normalform: Alle Nichtschlüssel gehören zum gleichen Thema425
17.1.3 Dritte Normalform: Nichtschlüssel sind nur direkt vom Schlüssel abhängig426
17.1.4 Wiederholgruppen427
17.1.5 Zuordnungstabellen430
17.1.6 Spezialisierung und Verallgemeinerung431
17.2 Performance-Aspekte beim Datenbankdesign434
17.3 Welche Schlüssel sollte ich verwenden?437
Zwischenergebnisse temporär speichern441
18.1 Wie nutze ich Tabellenvariablen?441
18.2 Wie nutze ich temporäre Tabellen?446
18.3 Wie kann ich Views nutzen?453
Programmobjekte461
19.1 Kann ich gespeicherte Prozeduren auch im SELECT verwenden?461
19.2 Gibt es auch schnelle Funktionen?465
19.3 Was mache ich, wenn die Funktion für ein einziges SELECT zu komplex ist?469
19.4 Ergebnisse von gespeicherten Prozeduren auffangen471
19.5 Können Prozeduren auch automatisch starten?474
19.6 Coding mit .NET477
Installation des SQL Servers 2012479
A.1 Wo bekomme ich die Software her?479
A.2 Wie installiere ich die 180-Tage-Testversion?480
A.2.1 Installationsdateien auspacken481
A.2.2 Installationsvorbereitung482
A.2.3 Installation des SQL Servers484
A.3 Erste Schritte mit dem SQL Server Management Studio494
A.3.1 Verbindung aufnehmen494
A.3.2 Objekt-Explorer495
A.3.3 Abfrage-Fenster496
A.3.4 Ergebnisse anschauen500
A.3.5 Ausführungspläne ansehen500
A.4 Testdatenbank »SQL-Thinking« installieren501
Best Practices503
B.1 Namenskonventionen503
B.2 Semikolon504
B.3 Großschreibung der Schlüsselwörter505
B.4 Beautifying505
B.5 In dubio pro Standard506
B.6 Implizite Konvertierungen meiden506
Coole und nützliche Links509
C.1 Ressourcen zum Buch509
C.2 Microsoft509
C.3 Blogs509
C.4 SQL-Server Community510
Stichwortverzeichnis511

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

Cloud Migration

E-Book Cloud Migration

Alles, was Sie über die Cloud wissen müssen ÖKONOMIE* Akteure* Markt* Sourcingstrategie* RGANISATION & PROZESSE* Strategie* Planung* Migration* Controlling TECHNOLOGIE* Betriebsmodelle* ...

Computernetze kompakt

E-Book Computernetze kompakt

Das Werk bietet einen kompakten Überblick über das Thema Computernetzwerke. Sein Aufbau orientiert sich an den Schichten des OSI-Referenzmodells und behandelt für jede Schicht die Geräte und die ...

CompTIA Network+

E-Book CompTIA Network+

Fundierter Einstieg in das Thema Netzwerke Erläuterung aller Prüfungsthemen (N10-007) Mit aktuellen Vorbereitungsfragen und Übungen zu jedem Thema Die Zertifizierung CompTIA Network+ teilt sich ...

Maschinendämmerung

E-Book Maschinendämmerung

Wir leben längst in der schönen neuen Cyberwelt. Das 'Internet der Dinge' wird bald zum Alltag gehören, selbstfahrende Autos und Containerschiffe, Assistenzroboter oder permanentes Lifelogging ...

Datenbanken

E-Book Datenbanken

Konzepte, Entwurf, Design, Implementierung Konkrete Erläuterungen am Praxisbeispiel Zahlreiche Aufgaben mit Musterlösungen sowie Anregungen für eigene Projekte Dieses Buch richtet sich an alle, ...

Weitere Zeitschriften

ARCH+.

ARCH+.

ARCH+ ist eine unabhängige, konzeptuelle Zeitschrift für Architektur und Urbanismus. Der Name ist zugleich Programm: mehr als Architektur. Jedes vierteljährlich erscheinende Heft beleuchtet ...

aufstieg

aufstieg

Zeitschrift der NaturFreunde in WürttembergDie Natur ist unser Lebensraum: Ort für Erholung und Bewegung, zum Erleben und Forschen; sie ist ein schützenswertes Gut. Wir sind aktiv in der Natur und ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

caritas

caritas

mitteilungen für die Erzdiözese FreiburgUm Kindern aus armen Familien gute Perspektiven für eine eigenständige Lebensführung zu ermöglichen, muss die Kinderarmut in Deutschland nachhaltig ...

Das Hauseigentum

Das Hauseigentum

Das Hauseigentum. Organ des Landesverbandes Haus & Grund Brandenburg. Speziell für die neuen Bundesländer, mit regionalem Schwerpunkt Brandenburg. Systematische Grundlagenvermittlung, viele ...

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

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...