147 105 3MB
German Pages 399 Year 2001
brought to you by
FS:Company
Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL
®
™
Arbeitsbuch für Kursleiter Kursnummer: 2316B
Artikelnumer: X08-54663 Version: 10/2001
Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderer Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden. Die in den Beispielen genannten Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden und jede Ähnlichkeit mit bestehenden Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen ist rein zufällig, soweit nichts anderes angegeben ist. Die Benutzer sind verantwortlich für das Einhalten aller anwendbaren Urheberrechtsgesetze. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen, usw.) dies geschieht. Microsoft Corporation kann Inhaber von Patenten oder Patentanträgen, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten sein, die den Inhalt dieses Dokuments betreffen. Die Bereitstellung dieses Dokuments gewährt keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit der Microsoft Corporation vereinbart. 2001 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, BackOffice, MS-DOS, PowerPoint, Visual Studio, Windows, Windows Media und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Die in diesem Dokument aufgeführten Namen tatsächlicher Firmen und Produkte sind möglicherweise Marken der jeweiligen Eigentümer.
Kursnummer: 2316B Artikelnummer: X08-54663 Version: 10/2001
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
,QKDOW
LLL
(LQIKUXQJ Einführung ...............................................................................................................1 Kursunterlagen.........................................................................................................2 Voraussetzungen......................................................................................................3 Kursbeschreibung ....................................................................................................4 Anhänge ...................................................................................................................7 Microsoft Official Curriculum .................................................................................8 Microsoft Certified Professional-Programm............................................................9 Einrichtungen.........................................................................................................11
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/ Übersicht..................................................................................................................1 Die Programmiersprache Transact-SQL ..................................................................2 Typen von Transact-SQL-Anweisungen .................................................................3 Transact-SQL-Syntaxelemente ................................................................................7 Übungseinheit A: Verwenden der SQL Server-Onlinedokumentation ..................31 Lernzielkontrolle....................................................................................................35
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV Übersicht..................................................................................................................1 SQL Query Analyzer ...............................................................................................2 Verwenden des Objektkatalogs in SQL Query Analyzer.........................................3 Verwenden von Vorlagen in SQL Query Analyzer .................................................5 Verwenden des Dienstprogramms „osql“ ................................................................6 Ausführen von Transact-SQL-Anweisungen...........................................................9 Empfohlene Methoden...........................................................................................15 Übungseinheit A: Erstellen und Ausführen von Transact-SQL-Skripts ................16 Lernzielkontrolle....................................................................................................22
8QWHUULFKWVHLQKHLW$EUXIHQYRQ'DWHQ Übersicht..................................................................................................................1 Abrufen von Daten mit Hilfe der SELECT-Anweisung ..........................................2 Filtern von Daten .....................................................................................................8 Formatieren von Resultsets....................................................................................21 Verarbeiten von Abfragen......................................................................................30 Automatisches Zwischenspeichern von Abfragen .................................................31 Aspekte der Systemleistung ...................................................................................33 Empfohlene Methoden...........................................................................................34 Übungseinheit A: Abrufen von Daten und Bearbeiten der Resultsets ...................35 Lernzielkontrolle....................................................................................................47
LY
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
8QWHUULFKWVHLQKHLW*UXSSLHUHQXQG=XVDPPHQIDVVHQYRQ'DWHQ Übersicht................................................................................................................. 1 Auflisten der TOP n-Werte ..................................................................................... 2 Verwenden von Aggregatfunktionen ...................................................................... 4 Grundlagen der GROUP BY-Klausel ..................................................................... 8 Generieren von Aggregatwerten in Resultsets ...................................................... 14 Verwenden der COMPUTE- und COMPUTE BY-Klauseln................................ 23 Empfohlene Methoden.......................................................................................... 26 Übungseinheit A: Gruppieren und Zusammenfassen von Daten .......................... 27 Lernzielkontrolle................................................................................................... 41
8QWHUULFKWVHLQKHLW9HUNQSIHQYRQPHKUHUHQ7DEHOOHQ Übersicht................................................................................................................. 1 Verwenden von Aliasnamen für Tabellennamen .................................................... 2 Kombinieren von Daten aus mehreren Tabellen..................................................... 4 Kombinieren mehrerer Resultsets ......................................................................... 19 Empfohlene Methoden.......................................................................................... 21 Übungseinheit A: Abfragen mehrerer Tabellen .................................................... 22 Lernzielkontrolle................................................................................................... 31
8QWHUULFKWVHLQKHLW$UEHLWHQPLW8QWHUDEIUDJHQ Übersicht................................................................................................................. 1 Einführung in Unterabfragen .................................................................................. 2 Verwenden einer Unterabfrage als abgeleitete Tabelle........................................... 4 Verwenden einer Unterabfrage als Ausdruck ......................................................... 5 Verwenden einer Unterabfrage zum Korrelieren von Daten................................... 6 Verwenden der EXISTS- und NOT EXISTS-Klauseln ........................................ 13 Empfohlene Methoden.......................................................................................... 15 Übungseinheit A: Arbeiten mit Unterabfragen ..................................................... 16 Lernzielkontrolle................................................................................................... 28
8QWHUULFKWVHLQKHLWbQGHUQYRQ'DWHQ Übersicht................................................................................................................. 1 Verwenden von Transaktionen ............................................................................... 2 Einfügen von Daten ................................................................................................ 4 Löschen von Daten................................................................................................ 15 Aktualisieren von Daten........................................................................................ 20 Leistungsaspekte ................................................................................................... 25 Empfohlene Methoden.......................................................................................... 26 Übungseinheit A: Ändern von Daten.................................................................... 27 Lernzielkontrolle................................................................................................... 41
8QWHUULFKWVHLQKHLW$EIUDJHQYRQ9ROOWH[WLQGL]HV Übersicht................................................................................................................. 1 Einführung in den Microsoft Search-Dienst ........................................................... 2 Komponenten des Microsoft Search-Dienstes ........................................................ 3 Zusammenstellen von Informationen zu Volltextindizes........................................ 5 Schreiben von Volltextabfragen.............................................................................. 7 Empfohlene Methoden.......................................................................................... 15 Übungseinheit A: Abfragen von Volltextindizes .................................................. 16 Lernzielkontrolle................................................................................................... 23
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
Y
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ Übersicht..................................................................................................................1 Anzeigen des Textes eines Programmierobjekts......................................................2 Einführung zu Sichten..............................................................................................4 Vorteile von Sichten ................................................................................................6 Erstellen von Sichten ...............................................................................................8 Einführung zu gespeicherten Prozeduren...............................................................13 Einführung zu Triggern..........................................................................................18 Einführung zu benutzerdefinierten Funktionen .....................................................19 Empfohlene Methoden...........................................................................................25 Übungseinheit A: Arbeiten mit Sichten .................................................................26 Lernzielkontrolle....................................................................................................33
$QKDQJ$)DOOVWXGLHGHUOLEUDU\'DWHQEDQN $QKDQJ%'DWHQEDQNVFKHPDV
YL
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
This page is intentionally left blank.
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
YLL
hEHUGLHVHQ.XUV Dieser Abschnitt bietet eine kurze Beschreibung des Kurses, der Zielgruppe, der empfohlenen Voraussetzungen und der Lernziele.
%HVFKUHLEXQJ Dieser Kurs vermittelt den Kursteilnehmern die technischen Fähigkeiten, die nötig sind, um grundlegende Transact-SQL-Abfragen für Microsoft® SQL Server™ 2000 zu schreiben. Es handelt sich um einen überarbeiteten zweitätigen Kurs. Das Hauptaugenmerk des Kursinhalts ist auf das Abfragen mit Hilfe von Transact-SQL gerichtet. Die Themen stammen hauptsächlich aus Kurs 2316A, Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL. Dieser überarbeitete Kurs ist Voraussetzung für Kurs 2328A, Programmieren einer Microsoft SQL Server 2000-Datenbank und Kurs 2322A, Verwalten einer Microsoft SQL Server 2000-Datenbank.
=LHOJUXSSH Dieser Kurs richtet sich an SQL Server-Datenbankadministratoren, Implementierer, Systemtechniker und Entwickler, die für das Schreiben von Abfragen verantwortlich sind.
9RUDXVVHW]XQJHQIUGLH.XUVWHLOQHKPHU Für diesen Kurs müssen die Kursteilnehmer die folgenden Voraussetzungen erfüllen:
Erfahrung im Verwenden eines Microsoft Windows®-Betriebssystems.
Kenntnisse der grundlegenden Konzepte relationaler Datenbanken, einschließlich folgender Kenntnisse: • Logischer und physischer Datenbankentwurf. • Konzepte der Datenintegrität. • Beziehungen zwischen Tabellen und Spalten (Primärschlüssel und Fremdschlüssel, 1:1, 1:n, n:n). • Speichern von Daten in Tabellen (Zeilen und Spalten). Kursteilnehmer, die diese Voraussetzungen nicht erfüllen, können die erforderlichen Kenntnisse und Fähigkeiten im folgenden Kurs erwerben: • Kurs 1609, Designing Data Services and Data Models
Kenntnis der Rolle des Datenbankadministrators.
YLLL
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
/HUQ]LHOH Am Ende dieses Kurses werden die Kursteilnehmer in der Lage sein, die folgenden Aufgaben auszuführen:
Beschreiben der Verwendungs- und Ausführungsmöglichkeiten der Transact-SQL-Sprache.
Verwenden von Abfragetools.
Schreiben von SELECT -Abfragen zum Abrufen von Daten.
Gruppieren und Zusammenfassen von Daten mit Hilfe von Transact-SQL.
Verknüpfen von Daten aus mehreren Tabellen.
Schreiben von Abfragen, die Daten abrufen und ändern, mit Hilfe von Unterabfragen.
Ändern von Daten in Tabellen.
Abfragen von Textfeldern mit Volltexsuche.
Beschreiben, wie Programmierobjekte erstellt werden.
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
L[
=HLWSODQIUGHQ.XUV Der folgende Zeitplan zeigt eine ungefähre Schätzung der für die einzelnen Unterrichtseinheiten benötigten Zeit. Der Zeitplan kann sich leicht verschieben.
7DJ Beginn
Ende
Unterrichtseinheit
8:30
9:00
9:00
10:00
Unterrichtseinheit 1: Einführung in Transact-SQL
10:00
10:15
Übungseinheit A: Verwenden der SQL Server-Onlinedokumentation
10:15
10:30
Pause
10:30
11:00
Unterrichtseinheit 2: Verwenden von Transact-SQL-Abfragetools
11:00
11:30
Übungseinheit A: Erstellen und Ausführen von Transact-SQLSkripts
11:30
12:15
Unterrichtseinheit 3: Abrufen von Daten
12:15
13:15
Mittagspause
13:15
14:00
Übungseinheit A: Abrufen von Daten und Bearbeiten der Resultsets
14:00
14:45
Unterrichtseinheit 4: Gruppieren und Zusammenfassen von Daten
14:45
15:00
Pause
15:00
15:45
Übungseinheit A: Gruppieren und Zusammenfassen von Daten
15:45
16:45
Unterrichtseinheit 5: Verknüpfen von mehreren Tabellen
16:45
17:30
Übungseinheit A: Abfragen mehrerer Tabellen
Beginn
Ende
Unterrichtseinheit
8:30
9:00
Wiederholung des ersten Tages
9:00
9:45
Unterrichtseinheit 6: Arbeiten mit Unterabfragen
9:45
10:15
Übungseinheit A: Arbeiten mit Unterabfragen
10:15
10:30
Pause
10:30
11:15
Unterrichtseinheit 7: Ändern von Daten
11:15
12:15
Übungseinheit A: Ändern von Daten
12:15
13:15
Mittagspause
13:15
14:00
Unterrichtseinheit 8: Abfragen von Volltextindizes
14:00
15:00
Übungseinheit A: Abfragen von Volltextindizes
15:00
15:15
Pause
15:15
16:15
Unterrichtseinheit 9: Einführung zu Programmierobjekten
16:15
16:45
Übungseinheit A: Arbeiten mit Sichten
Einführung
7DJ
[
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
,QKDOWGHU.XUVOHLWHU&' Die Kursleiter-CD enthält folgende Dateien und Ordner:
Default.htm. Diese Datei öffnet die Webseite mit den Unterlagen für den Kursleiter.
Readme.txt. Diese Datei enthält eine Beschreibung des CD-Inhalts und der Installationsanweisungen im ASCII-Format (kein Word-Dokument).
2316B_ms.doc. Diese Datei ist das Handbuch für das manuelle Einrichten von Schulungscomputern. Sie enthält die Schritte zum manuellen Installieren der Schulungscomputer.
2316B_sg.doc. Diese Datei ist das Handbuch für das Einrichten von Schulungscomputern. Sie enthält eine Beschreibung der Schulungsraumanforderungen und der Schulungsraumkonfiguration sowie die Anweisungen zum Einrichten der Schulungscomputer.
Batches. Dieser Ordner enthält für das Einrichten des Computers erforderliche Dateien.
Demo. Dieser Ordner enthält für das Einrichten des Computers erforderliche Dateien.
Errorlog. Dieser Ordner enthält eine Vorlage, die zum Aufzeichnen von im Kurs auftretenden Fehlern und Korrekturen verwendet wird.
Manual. Dieser Ordner enthält Dateien, die zum manuellen Einrichten des Kursleitercomputers und der Kursteilnehmercomputer verwendet werden können.
Powerpnt. Dieser Ordner enthält die Microsoft PowerPoint®-Folien, die in diesem Kurs verwendet werden.
Pptview. Dieser Ordner enthält Microsoft PowerPoint Viewer, der zum Anzeigen der PowerPoint-Folien verwendet wird.
Revisionlog. Dieser Ordner enthält die Korrekturen zu Kurs 2316A, die zum Aktualisieren dieses Kurses verwendet wurden.
Setup. Dieser Ordner enthält die Dateien, die zum Einrichten des Kursleitercomputers und der Kursteilnehmercomputer verwendet werden.
Studentcd. Dieser Ordner enthält die Webseite mit Hyperlinks zu den diesen Kurs betreffenden Ressourcen, einschließlich weiterführender Literatur, der Antworten zur Lernzielkontrolle und zu den Übungseinheiten, der Dateien mit den Übungseinheiten, der Multimediapräsentationen und der Websites mit für den Kurs relevanten Inhalten.
Tools. Dieser Ordner enthält die Dateien und Dienstprogramme, die zum Einrichten des Kursleitercomputers erforderlich sind.
Tprep. Dieser Ordner enthält die Präsentation zur Vorbereitung des Kursleiters, eine kommentierte Folienvorführung, in der die Anweisungsstrategie für den Kurs erklärt wird sowie Präsentationstipps und Warnungen gegeben werden. Um die Präsentation zu öffnen, klicken Sie auf der Webseite mit den Unterlagen für den Kursleiter auf Präsentation zur Vorbereitung des Kursleiters.
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
[L
,QKDOWGHU.XUVWHLOQHKPHU&' Die Kursteilnehmer-CD enthält folgende Dateien und Ordner:
Default.htm. Diese Datei öffnet die Webseite mit den Unterlagen für die Kursteilnehmer. Sie stellt den Kursteilnehmern die den Kurs betreffenden Ressourcen bereit, einschließlich weiterführender Literatur, der Antworten zur Lernzielkontrolle und zu den Übungseinheiten, der Dateien mit den Übungseinheiten, der Multimediapräsentationen und der Websites mit für den Kurs relevanten Inhalten.
Readme.txt. Diese Datei enthält eine Beschreibung des CD-Inhalts und der Installationsanweisungen im ASCII-Format (kein Word-Dokument).
Addread. Dieser Ordner enthält weiterführende Literatur zu diesem Kurs. Wenn keine weiterführende Literatur vorhanden ist, wird dieser Ordner nicht angezeigt.
Answers. Dieser Ordner enthält Antworten auf die Fragen zur Lernzielkontrolle und praktischen Übungen der Unterrichtseinheiten.
Appendix. Dieser Ordner enthält Anhangdateien für diesen Kurs. Wenn keine Anhangdateien vorhanden sind, wird dieser Ordner nicht angezeigt.
Batches. Dieser Ordner enthält Batchdateien und Skripts für die Einrichtung der Unterrichtseinheiten und der Übungseinheiten.
Demo. Dieser Ordner enthält Skripts, die in den Unterrichtseinheiten verwendet werden.
Fonts. Dieser Ordner enthält Schriftarten, die erforderlich sind, um Präsentationen in PowerPoint und webbasierte Materialien anzuzeigen.
Labfiles. Dieser Ordner enthält Dateien, die in den praktischen Übungseinheiten verwendet werden. Diese Dateien können zur Vorbereitung der Kursteilnehmercomputer für die praktischen Übungseinheiten verwendet werden.
Pptview. Dieser Ordner enthält PowerPoint Viewer, der zum Anzeigen der PowerPoint-Folien verwendet wird..
Webfiles. Dieser Ordner enthält Dateien, die zum Anzeigen der Webseite des Kurses erforderlich sind. Öffnen Sie Windows-Explorer, und doppelklicken Sie im Stammverzeichnis der CD auf Default.htm, um die Webseite zu öffnen.
Wordview. Dieser Ordner enthält Word Viewer, der zum Anzeigen beliebiger Dokumentdateien unter Word (DOC-Dateien) verwendet wird, die auf der CD enthalten sind.
[LL
$EIUDJHQYRQ0LFURVRIW64/6HUYHUPLW+LOIHYRQ7UDQVDFW64/
7\SRJUDILVFKH9HUHLQEDUXQJHQ Die folgenden typografischen Vereinbarungen werden in den Kursunterlagen verwendet, um Textelemente hervorzuheben. Vereinbarung
Verwendung
Kennzeichnet eine Einführungsseite. Dieses Symbol steht neben dem Titel einer Folie, wenn auf der Seite bzw. den folgenden Seiten weitere Informationen zum entsprechenden Thema behandelt werden.
Fett
Kennzeichnet Befehle, Befehlsoptionen und Syntaxteile, die exakt in der angegebenen Weise eingegeben werden müssen. Menübefehle, Schaltflächen, Symbole, Titel von Dialogfeldern und Optionen, Registerkarten und Namen von Symbolen und Menüs werden ebenfalls fett formatiert.
Kursiv
Kennzeichnet Platzhalter für variable Informationen in Syntaxanweisungen. Auf neue Begriffe, auf Buchtitel und auf besonders hervorzuhebende Begriffe wird ebenfalls in Kursivschrift hingewiesen.
Majuskel und Fett
Kennzeichnet Domänen-, Benutzer-, Computer-, Verzeichnis-, Ordner- und Dateinamen, ausgenommen, wenn auf bestimmte Namen verwiesen wird, bei denen die Großund Kleinschreibung beachtet werden muss. Wenn nichts anderes angegeben ist, können Sie bei der Eingabe eines Verzeichnis- oder Dateinamens in einem Dialogfeld oder an der Eingabeaufforderung Kleinbuchstaben verwenden.
GROSSBUCHSTABEN
Kennzeichnen Tastennamen, Tastenfolgen und Tastenkombinationen, z. B. ALT+LEERTASTE.
)HVWEUHLWHQVFKULIW
Stellt Codebeispiele, Beispiele für Bildschirmausgaben oder Eingaben dar, die Sie an der Eingabeaufforderung oder in Initialisierungsdateien eingeben.
[]
Zur Kennzeichnung optionaler Elemente in Syntaxanweisungen. So weist z. B. [Dateiname] in einer Befehlssyntax darauf hin, dass Sie wählen können, ob Sie einen Dateinamen mit dem Befehl eingeben möchten. Geben Sie nur die Informationen in den eckigen Klammern, jedoch nicht die Klammern selbst ein.
{}
Zur Kennzeichnung erforderlicher Elemente in Syntaxanweisungen. Geben Sie nur die Informationen in den geschweiften Klammern, jedoch nicht die Klammern selbst ein.
|
Trennt in Syntaxanweisungen zwei Alternativen, von denen nur eine gewählt werden kann.
Ç
Kennzeichnet (in den Übungseinheiten) ein Verfahren mit einer Abfolge von Schritten.
...
Gibt in Syntaxanweisungen an, dass das vorausgegangene Element wiederholt werden kann.
. . .
Stellt einen ausgelassenen Teil eines Codebeispiels dar.
Einführung
Inhalt Einführung
1
Kursunterlagen
2
Voraussetzungen
3
Kursbeschreibung
4
Anhänge
7
Microsoft Official Curriculum
8
Microsoft Certified Professional-Programm
9
Einrichtungen
11
Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderer Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden. Die in den Beispielen genannten Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden und jede Ähnlichkeit mit bestehenden Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen ist rein zufällig, soweit nichts anderes angegeben ist. Die Benutzer sind verantwortlich für das Einhalten aller anwendbaren Urheberrechtsgesetze. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen, usw.) dies geschieht. Microsoft Corporation kann Inhaber von Patenten oder Patentanträgen, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten sein, die den Inhalt dieses Dokuments betreffen. Die Bereitstellung dieses Dokuments gewährt keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit der Microsoft Corporation vereinbart. 2001 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, BackOffice, MS-DOS, PowerPoint, Visual Studio, Windows, Windows Media und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Die in diesem Dokument aufgeführten Namen tatsächlicher Firmen und Produkte sind möglicherweise Marken der jeweiligen Eigentümer.
(LQIKUXQJ
LLL
+LQZHLVHIUGHQ.XUVOHLWHU 3UlVHQWDWLRQ 0LQXWHQ
Die Unterrichtseinheit zur Einführung gibt den Kursteilnehmern eine Übersicht über den Kursinhalt und die Kursunterlagen und enthält logistische Hinweise zum Verlauf des Kurses 2316B, Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL.
.XUVXQWHUODJHQXQG9RUEHUHLWXQJ (UIRUGHUOLFKH8QWHUODJHQ Um diesen Kurs zu unterrichten, benötigen Sie folgende Unterlagen:
Arbeitsbuch für Kursleiter
Kursleiter-CD
9RUEHUHLWHQGH$XIJDEHQ Zur Vorbereitung dieses Kurses gehen Sie folgendermaßen vor:
Füllen Sie die Checkliste für die Kursvorbereitung aus, die in den Unterlagen für den Kursleiter bereitgestellt wird.
Lesen Sie das Überarbeitungsprotokoll, wenn Sie bereits Kurs 2316A unterrichtet haben.
LY
(LQIKUXQJ
6WUDWHJLHIUGLH8QWHUULFKWVHLQKHLW Verwenden Sie die folgende Strategie, um diese Unterrichtseinheit zu präsentieren:
Kurs 2316B, Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL. Zeigen Sie die Folie mit der Kursnummer und dem Kurstitel.
Einführung Begrüßen Sie die Kursteilnehmer zu diesem Kurs, und stellen Sie sich vor. Geben Sie eine kurze Übersicht über Ihren beruflichen Werdegang, um Ihre Kompetenz als Kursleiter zu unterstreichen. Bitten Sie die Kursteilnehmer, sich vorzustellen und ihrerseits eine Übersicht über Beruf, Produkterfahrung und Schulungserwartungen zu geben. Halten Sie die Erwartungen der Kursteilnehmer auf einer Tafel oder einem Flipchart fest, und greifen Sie diese Themen im Verlauf der Unterrichtseinheit auf.
Kursunterlagen Erläutern Sie den Zweck aller in diesem Kurs verwendeten Unterlagen. Teilen Sie den Kursteilnehmern mit, dass sie am Ende des Kurses Gelegenheit haben, mit Hilfe des Microsoft® Online Evaluation Systems Feedback zum Kurs und zu den Einrichtungen zu geben.
Voraussetzungen Teilen Sie den Kursteilnehmern mit, welche Voraussetzungen vor der Teilnahme an diesem Kurs erfüllt sein müssen. Dies ist eine Gelegenheit, um festzustellen, ob es Kursteilnehmer gibt, die möglicherweise nicht über den entsprechenden Hintergrund oder die Erfahrungen verfügen, die für die Teilnahme am Kurs erforderlich sind.
Kursbeschreibung Geben Sie eine Übersicht über die einzelnen Unterrichtseinheiten und Lernziele. Stellen Sie einen Bezug zwischen den Themen der Unterrichtseinheiten und den Erwartungen der Kursteilnehmer her.
Microsoft Certified Professional-Programm Informieren Sie die Kursteilnehmer über das Microsoft Certified Professional-Programm (MCP) und die verschiedenen Zertifizierungsmöglichkeiten.
Einrichtungen Erläutern Sie die Einrichtungen am Schulungsort.
(LQIKUXQJ
(LQIKUXQJ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHVLFKYRUZHFNHQ 6LH9HUWUDXHQLQ,KUH.RP SHWHQ]DOV.XUVOHLWHUXQG IRUGHUQ6LHGLH.XUVWHLOQHK PHUDXIVLFKYRU]XVWHOOHQ XQGLKUH(UZDUWXQJHQDQ GHQ.XUV]XGHILQLHUHQ
(LQVWLHJ
*XWHQ0RUJHQ:LOONRPPHQ ]X.XUV%$EIUDJHQ YRQ0LFURVRIW64/ 6HUYHUPLW+LOIHYRQ 7UDQVDFW64/ ,FKKHLH
1DPH
)LUPHQ]XJHK|ULJNHLW
7LWHO)XQNWLRQ
%HUXIOLFKHU9HUDQWZRUWXQJVEHUHLFK
(UIDKUXQJHQPLW'DWHQEDQNHQ
(UIDKUXQJHQPLW64/ 6HUYHU
(UZDUWXQJHQDQGHQ.XUV
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 6WHOOHQ6LHVLFKYRU *HEHQ6LHHLQHNXU]HhEHU VLFKWEHU,KUHQEHUXIOLFKHQ :HUGHJDQJXP,KUH.RP SHWHQ]DOV.XUVOHLWHUIU 64/6HUYHU]XXQWHU VWUHLFKHQ %LWWHQ6LHGLH.XUVWHLO QHKPHUVLFKDQKDQGGHU DXIJHIKUWHQ6WLFKSXQNWH YRU]XVWHOOHQ
0HWKRGLVFKHU+LQZHLV
1RWLHUHQ6LHZlKUHQGGHU 9RUVWHOOXQJGHU.XUVWHLO QHKPHUGHUHQ(UZDUWXQJHQ DQGHQ.XUVDXIHLQHU7DIHO RGHUHLQHP)OLSFKDUW
(LQIKUXQJ
.XUVXQWHUODJHQ ,QKDOWGLHVHU)ROLH
=HLJHQXQGEHVFKUHLEHQ6LH GLH.XUVXQWHUODJHQ
(LQVWLHJ
:LUKDEHQDOOHIUGHQ.XUV HUIRUGHUOLFKHQ8QWHUODJHQ IU6LH]XVDPPHQJHVWHOOW $XI,KUHQ7LVFKHQILQGHQ6LH GLHIROJHQGHQ8QWHUODJHQ
1DPHQVVFKLOG
$UEHLWVEXFKIU.XUVWHLOQHKPHU
.XUVWHLOQHKPHU&'
)HHGEDFNERJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** %HVFKUHLEHQ6LHGHQ,QKDOW GHV$UEHLWVEXFKHVXQGGHU .XUVWHLOQHKPHU&' %LWWHQ6LHGLH.XUVWHLOQHK PHULKUH1DPHQDXIEHLGH 6HLWHQGHV1DPHQVVFKLOGHV ]XVFKUHLEHQ :HLVHQ6LHGLH.XUVWHLOQHK PHUGDUDXIKLQGDVV6LHDP (QGHGHV.XUVHVHLQHQ )HHGEDFNERJHQDXVIOOHQ PVVHQ 7HLOHQ6LHGHQ.XUVWHLOQHK PHUQGLH$GUHVVHPLWDQ GLHVLH.RPPHQWDUHVHQGHQ N|QQHQ
0HWKRGLVFKHU+LQZHLV
)KUHQ6LHYRUZLHGLHDXI GHU.XUVWHLOQHKPHU&' EHUHLWJHVWHOOWH:HEVHLWH JH|IIQHWZLUG'RSSHONOLFNHQ 6LHDXIGHU.XUVOHLWHU&'LP 2UGQHU6WXGHQW&'DXI 'HIDXOWKWP
Das Kit enthält die folgenden Unterlagen:
Namensschild. Schreiben Sie Ihren Namen auf beide Seiten des Namensschildes.
Arbeitsbuch für Kursteilnehmer. Das Arbeitsbuch für Kursteilnehmer enthält die in diesem Kurs behandelten Themen sowie die Übungen der praktischen Übungseinheiten.
Kursteilnehmer-CD. Die Kursteilnehmer-CD enthält die Webseite mit Hyperlinks zu den diesen Kurs betreffenden Ressourcen, einschließlich weiterführender Literatur, der Antworten zur Lernzielkontrolle und zu den Übungseinheiten, der Dateien mit den Übungseinheiten, der Multimediapräsentationen und der Websites mit für den Kurs relevanten Inhalten. $QPHUNXQJ Um die Webseite zu öffnen, legen Sie die Kursteilnehmer-CD in das CD-ROM-Laufwerk ein, und doppelklicken Sie dann im Stammverzeichnis der CD auf Default.htm.
Feedbackbogen. Füllen Sie nach Beendigung des Kurses den Feedbackbogen aus, um Feedback zum Kursleiter, zum Kurs und zum Softwareprodukt abzugeben. Mit Hilfe Ihrer Kommentare können zukünftige Kurse weiter verbessert werden. Wenn Sie weitere Kommentare zu den Kursunterlagen abgeben möchten, können Sie eine entsprechende E-Mail an die folgende Adresse senden: [email protected]. Die Betreffzeile muss die Angabe Kurs 2316 (2071) enthalten. Wenn Sie weitere Kommentare zum Microsoft Certified ProfessionalProgramm abgeben oder sich über dieses Programm informieren möchten, können Sie eine E-Mail an die folgende Adresse senden: [email protected]
(LQIKUXQJ
9RUDXVVHW]XQJHQ ,QKDOWGLHVHU)ROLH
%HQHQQHQXQGEHVFKUHLEHQ 6LHGLH9RUDXVVHW]XQJHQIU GLHVHQ.XUV
(UIDKUXQJLP9HUZHQGHQHLQHV0LFURVRIW:LQGRZV %HWULHEVV\VWHPV
.HQQWQLVVHGHUJUXQGOHJHQGHQ.RQ]HSWHUHODWLRQDOHU 'DWHQEDQNHQ
.HQQWQLVGHU5ROOHGHV'DWHQEDQNDGPLQLVWUDWRUV
(LQVWLHJ
)UGLHVHQ.XUVPVVHQ6LH EHUGLHIROJHQGHQ .HQQWQLVVHYHUIJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Für diesen Kurs müssen die folgenden Voraussetzungen erfüllt werden:
Erfahrung im Verwenden eines Microsoft Windows®-Betriebssystems.
Kenntnisse der grundlegenden Konzepte relationaler Datenbanken, einschließlich folgender Kenntnisse: • Logischer und physischer Datenbankentwurf. • Konzepte der Datenintegrität. • Beziehungen zwischen Tabellen und Spalten (Primärschlüssel und Fremdschlüssel, 1:1, 1:n, n:n). • Speichern von Daten in Tabellen (Zeilen und Spalten). Kursteilnehmer, die diese Voraussetzungen nicht erfüllen, können die erforderlichen Kenntnisse und Fähigkeiten im folgenden Kurs erwerben: • Kurs 1609, Designing Data Services and Data Models
Kenntnis der Rolle des Datenbankadministrators.
(LQIKUXQJ
.XUVEHVFKUHLEXQJ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHhEHUVLFKW EHUGLHHLQ]HOQHQ8QWHU ULFKWVHLQKHLWHQXQG/HUQ ]LHOH
(LQVWLHJ
,QGLHVHP.XUVZHUGHQ IROJHQGH7KHPHQ EHKDQGHOW
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/ $EIUDJHWRROV
8QWHUULFKWVHLQKHLW$EUXIHQYRQ'DWHQ
8QWHUULFKWVHLQKHLW*UXSSLHUHQXQG=XVDPPHQIDVVHQ YRQ'DWHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** *HEHQ6LHHLQHNXU]H%H VFKUHLEXQJMHGHU8QWHU ULFKWVHLQKHLW *HKHQ6LHEHLGHU%H VFKUHLEXQJGHUHLQ]HOQHQ 8QWHUULFKWVHLQKHLWHQDXIDOOH %HUHLFKHHLQGLHGHQ]XYRU JHlXHUWHQ(UZDUWXQJHQ GHU.XUVWHLOQHKPHU HQWVSUHFKHQ
Unterrichtseinheit 1, „Einführung in Transact-SQL“, gibt eine kurze Übersicht über Transact-SQL als Programmiersprache und beschreibt verschiedene Methoden zum Ausführen von Transact-SQL. Es wird vorausgesetzt, dass die Kursteilnehmer ANSI-SQL (American National Standards Institute) und grundlegende Programmierkonzepte kennen. Dazu gehören Funktionen, Operatoren, Variablen und Anweisungen zur Ablaufsteuerung. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die Elemente von Transact-SQL zu beschreiben. Unterrichtseinheit 2, „Verwenden von Transact-SQL-Abfragetools“, beschreibt verschiedene in Microsoft SQL Server™ verfügbare Abfragetools und deren Verwendung zum Ausführen von Transact-SQL-Skripts. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die primären Transact-SQLAbfragetools in SQL Server zu beschreiben und Transact-SQL-Skripts auf unterschiedliche Arten auszuführen. Unterrichtseinheit 3, „Abrufen von Daten“, behandelt die SELECT-Anweisung ausführlich. Es werden viele Beispiele verwendet, um des Sortieren von Daten, das Löschen von Duplikaten und das Ändern des Resultsetformats vorzuführen. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die SELECTAnweisung zum Abrufen von Daten zu verwenden. Unterrichtseinheit 4, „Gruppieren und Zusammenfassen von Daten“, erläutert das Gruppieren von Daten mit Hilfe von Aggregatfunktionen. Außerdem wird erläutert, wie Zusammenfassungsberichte generiert werden und wie Werte in einem Resultset aufgelistet werden. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, Zusammenfassungsdaten für eine Tabelle zu generieren und zu gruppieren.
(LQIKUXQJ
.XUVEHVFKUHLEXQJ)RUWVHW]XQJ
8QWHUULFKWVHLQKHLW9HUNQSIHQYRQPHKUHUHQ7DEHOOHQ
8QWHUULFKWVHLQKHLW$UEHLWHQPLW8QWHUDEIUDJHQ
8QWHUULFKWVHLQKHLWbQGHUQYRQ'DWHQ
8QWHUULFKWVHLQKHLW$EIUDJHQYRQ9ROOWH[WLQGL]HV
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Unterrichtseinheit 5, „Verknüpfen von mehreren Tabellen“, vermittelt Informationen zum Abfragen mehrerer Tabellen mit Hilfe verschiedener Verknüpfungstypen, zum Kombinieren von Resultsets mit Hilfe des UNION-Operators und zum Erstellen von Tabellen mit Hilfe der SELECT INTO-Anweisung. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, Daten und mehrere Resultsets zu kombinieren. Unterrichtseinheit 6, „Arbeiten mit Unterabfragen“, stellt erweiterte Abfragetechniken vor, einschließlich geschachtelter und korrelierter Unterabfragen. Außerdem wird erläutert, wann und wie diese Techniken verwendet werden, um komplizierte Abfragen zu untergliedern und auszuführen. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, Abfragen zu schreiben, die Abfragen mit einem einzigen Wert, Abfragen mit mehreren Werten und korrelierte Abfragen verwenden, um Resultsets zu beschränken und um mehrere Verarbeitungsschritte zu einer SELECT-Anweisung zusammenzufassen. Unterrichtseinheit 7, „Ändern von Daten“, erläutert die Funktionsweise von Transaktionen. Außerdem wird erläutert, wie INSERT-, DELETE- und UPDATE-Anweisungen geschrieben werden, um Daten in Tabellen zu ändern. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, Daten in Tabellen auf verschiedene Weisen zu ändern. Unterrichtseinheit 8, „Abfragen von Volltextindizes“, beschreibt den Microsoft Search-Dienst. Außerdem wird beschrieben, wie auf Informationen zu Indizes für Textfelder zugegriffen wird und wie diese Volltextindizes abgefragt werden. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die Funktionen und Komponenten des Microsoft Search-Dienstes zu beschreiben, Informationen zu Volltextindizes zusammenzustellen und Volltextabfragen zu schreiben.
(LQIKUXQJ
.XUVEHVFKUHLEXQJ)RUWVHW]XQJ
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHU REMHNWHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Unterrichtseinheit 9, „Einführung zu Programmierobjekten“, erläutert das Erstellen von Programmierobjekten mit denen Benutzer Daten anzeigen und bearbeiten können, während die Komplexität der zugrunde liegenden Datenbankstruktur ausgeblendet wird. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, den Text eines Programmierobjektes anzuzeigen und die Konzepte und Vorteile des Verwendens von Sichten, gespeicherten Prozeduren, Triggern und benutzerdefinierten Funktionen zu beschreiben.
(LQIKUXQJ
$QKlQJH ,QKDOWGLHVHU)ROLH
%HVFKUHLEHQ6LHGLH$Q KlQJHGLHLQGLHVHP.XUV YHUZHQGHWZHUGHQ
$QKDQJ $)DOOVWXGLHGHUOLEUDU\'DWHQEDQN
(LQVWLHJ
$QKDQJ %'DWHQEDQNVFKHPDV
,QGHQ$QKlQJHQGLHVLFK DP(QGHGHV$UEHLWVEXFKHV EHILQGHQVLQGZHLWHUH ,QIRUPDWLRQHQHQWKDOWHQGLH LQGLHVHP.XUVYHUZHQGHW ZHUGHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG****************
$QKDQJ$)DOOVWXGLHGHUOLEUDU\'DWHQEDQN Dieser Anhang enthält eine Beschreibung der library-Beispieldatenbank, die in diesem Kurs verwendet wird.
$QKDQJ%'DWHQEDQNVFKHPDV Dieser Anhang enthält schematische Diagramme der Datenbanken, die in diesem Kurs verwendet werden.
(LQIKUXQJ
0LFURVRIW2IILFLDO&XUULFXOXP ,QKDOWGLHVHU)ROLH
%HVFKUHLEHQ6LHGDV 0LFURVRIW2IILFLDO &XUULFXOXP3URJUDPPXQG VWHOOHQ6LH,QIRUPDWLRQHQ]X GHQ&XUULFXOXP3IDGHQ EHUHLW
(LQVWLHJ
6SUHFKHQZLUNXU]EHUGDV 0LFURVRIW2IILFLDO &XUULFXOXP3URJUDPP
:LQGRZV %HWULHEVV\VWHPH
0LFURVRIW2IILFH
0LFURVRIW%DFN2IILFH 6PDOO%XVLQHVV6HUYHU
0LFURVRIW64/6HUYHU
0LFURVRIW([FKDQJH
0LFURVRIW%DFN2IILFH6HUYHU ,QIUDVWUXNWXUXQG/|VXQJHQ
0LFURVRIW)URQW3DJH
0LFURVRIW6\VWHPV 0DQDJHPHQW6HUYHU
.QRZOHGJH0DQDJHPHQW /|VXQJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Bei Microsoft Official Curriculum (MOC) handelt es sich um praxisorientierte, in einem Schulungsraum durchgeführte, webbasierte Schulungen. Microsoft entwickelt auf die Vermittlung von Fähigkeiten ausgerichtete Schulungen für Computerexperten, die mit Hilfe von Microsoft-Produkten, -Lösungen und -Technologien Lösungen entwickeln, unterstützen und implementieren. MOCKurse stehen für die folgenden Produkte und Lösungen zur Verfügung:
Windows-Betriebssysteme
Microsoft Office
Microsoft BackOffice® Small Business Server
Microsoft SQL Server
Microsoft Exchange
Microsoft BackOffice Server-Infrastruktur und -Lösungen
Microsoft FrontPage®
Microsoft Systems Management Server
Knowledge Management-Lösungen
MOC stellt einen Curriculumpfad für jedes Produkt und jede Lösung zur Verfügung. Weitere Informationen zu den Curriculumpfaden finden Sie auf der MOC-Webseite unter der folgenden Adresse: http://www.microsoft.com/germany/ms/training/ Auf der MOC-Webseite werden Informationen zu den MOC-Kursen bereitgestellt. Darüber hinaus finden Sie auf dieser Seite empfohlene Curriculumpfade für Benutzer, die in die IT-Industrie (Information Technology) einsteigen, die die Schulung zu Microsoft-Produkten und -Lösungen fortsetzen möchten oder die zurzeit Produkte unterstützen, die nicht von Microsoft stammen.
(LQIKUXQJ
0LFURVRIW&HUWLILHG3URIHVVLRQDO3URJUDPP ,QKDOWGLHVHU)ROLH
,QIRUPLHUHQ6LHGLH.XUV WHLOQHKPHUEHUGDV 0LFURVRIW&HUWLILHG 3URIHVVLRQDO3URJUDPP
(LQVWLHJ
'DV0LFURVRIW&HUWLILHG 3URIHVVLRQDO3URJUDPP YHUIJWEHUGLHIROJHQGHQ =HUWLIL]LHUXQJHQ
0LFURVRIW &HUWLILHG6\VWHPV(QJLQHHU0&6(
0LFURVRIW&HUWLILHG'DWDEDVH$GPLQLVWUDWRU0&'%$
0LFURVRIW&HUWLILHG6ROXWLRQ'HYHORSHU0&6'
0LFURVRIW&HUWLILHG3URIHVVLRQDO6LWH%XLOGLQJ 0&36LWH%XLOGLQJ
0LFURVRIW&HUWLILHG3URIHVVLRQDO0&3
0LFURVRIW&HUWLILHG7UDLQHU0&7
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Das Microsoft Certified Professional-Programm (MCP) ist die beste Möglichkeit, um Ihre Kompetenz als Experte von Microsoft-Produkten und -Technologien zu belegen. In der folgenden Tabelle werden die Zertifizierungen ausführlich erläutert. Zertifizierung
Beschreibung
Microsoft Certified Systems Engineer (MCSE)
MCSEs verfügen über die Qualifikation, Informationssysteme in einer Vielzahl von Computerumgebungen unter Microsoft Windows NT® Server und BackOffice effizient zu planen, zu implementieren, zu verwalten und zu unterstützen.
Microsoft Certified Database Administrator (MCDBA)
MCDBAs verfügen über die Qualifikation zum Erstellen physischer Datenbankentwürfe, Entwickeln logischer Datenmodelle, Erstellen physischer Datenbanken, Erstellen von Datendiensten mit Hilfe von Transact-SQL, Verwalten und Pflegen von Datenbanken, Konfigurieren und Verwalten der Sicherheit, Überwachen und Optimieren von Datenbanken, sowie Installieren und Konfigurieren von SQL Server.
Microsoft Certified Solution Developer (MCSD)
MCSDs verfügen über die Qualifikation, mit Hilfe von Microsoft-Produkten, wie z. B. SQL Server, Microsoft Visual Studio® und Komponentendienste, webbasierte, verteilte und für den Handel einsetzbare Anwendungen zu erstellen.
Microsoft Certified Professional + Site Building (MCP + Site Building)
MCPs mit einer Spezialisierung im Bereich Sitebuilding sind qualifiziert, Websites mit Microsoft-Technologien und -Produkten zu planen, zu erstellen, zu warten und zu verwalten.
(LQIKUXQJ
(Fortsetzung) Zertifizierung
Beschreibung
Microsoft Certified Professional (MCP)
MCPs verfügen über detaillierte Kenntnisse zu mindestens einem Produkt. Diese Kenntnisse müssen in einer beliebigen Prüfung (ausgenommen Netzwerkgrundlagen) nachgewiesen werden.
Microsoft Certified Trainer (MCT)
MCTs verfügen über spezielle didaktische und technische Fähigkeiten, die sie dazu qualifizieren, das Microsoft Official Curriculum (MOC) in Microsoft Certified Technical Education Centers (Microsoft CTECs) zu unterrichten.
=HUWLIL]LHUXQJVDQIRUGHUXQJHQ Die Zertifizierungsanforderungen unterscheiden sich je nach Zertifizierungsart und orientieren sich an den Produkten und Tätigkeiten, für die die jeweilige Zertifizierung gilt. Um den Status eines Microsoft Certified Professionals zu erlangen, müssen Sie strenge Zertifizierungsprüfungen absolvieren, die eine gültige und zuverlässige Messung der technischen Fertigkeiten und Sachkenntnisse zulassen. :HLWHUH,QIRUPDWLRQHQ Weitere Informationen finden Sie in der Website zu Microsoft Training und Zertifizierung unter der folgenden Adresse: http://www.microsoft.com/germany/ms/training/ Sie können auch eine E-Mail an [email protected] senden, falls Sie Fragen zur Zertifizierung haben.
9RUEHUHLWHQDXIHLQH0&33UIXQJ Das MOC (Microsoft Official Curriculum) hilft Ihnen bei der Vorbereitung auf die Microsoft Certified Professional-Prüfungen (MCP). Es besteht jedoch keine 1:1-Entsprechung zwischen den Inhalten der MOC-Kurse und den Inhalten der MCP-Prüfungen. Microsoft sieht das MOC nicht als einziges Vorbereitungstool für das Bestehen einer MCP-Prüfung an. Praktische Produktkenntnisse und -erfahrungen sind für das Bestehen einer MCP-Prüfung ebenfalls erforderlich. Als Unterstützung bei den Vorbereitungen auf die MCP-Prüfungen können Sie die Leitfäden zur Vorbereitung verwenden, die für jede Prüfung zur Verfügung stehen. Alle Leitfäden zur Prüfungsvorbereitung enthalten prüfungsspezifische Informationen, wie beispielsweise eine Liste der Themen, zu denen Sie geprüft werden. Diese Leitfäden sind in der Microsoft Certified Professional-Website unter der folgenden Adresse verfügbar: http://www.microsoft.com/germany/ms/training/
(LQIKUXQJ
(LQULFKWXQJHQ ,QKDOWGLHVHU)ROLH
,QIRUPLHUHQ6LHGLH.XUV WHLOQHKPHUEHUGLH|UWOLFKHQ (LQULFKWXQJHQXQGGLH]X EHDFKWHQGHQ5HJHOQDXI GHP6FKXOXQJVJHOlQGH
Kurszeiten
Öffnungszeiten
Telefone
Parkplätze
Nachrichten
Toiletten
Raucherzonen
Kantine
Recycling
(LQVWLHJ
%HYRUZLUPLWGHU6FKXOXQJ EHJLQQHQP|FKWHLFK6LH EHUGLH(LQULFKWXQJHQLP 6FKXOXQJVJHElXGH LQIRUPLHUHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** ,QIRUPLHUHQ6LHGLH.XUVWHLO QHKPHUEHUGLH.XUV]HLWHQ 0DKO]HLWHQgIIQXQJV]HLWHQ GHV*HElXGHVIUGLH%H DUEHLWXQJGHUhEXQJVHLQ KHLWHQ3DUNP|JOLFKNHLWHQ 7RLOHWWHQ5DXFKHU]RQHQ 7HOHIRQHXQG0|JOLFKNHLWHQ ]XUhEHUPLWWOXQJYRQ1DFK ULFKWHQ ,QIRUPLHUHQ6LHGLH.XUVWHLO QHKPHUJHJHEHQHQIDOOV DXFKEHUGDV5HF\FOLQJ SURJUDPP
(LQIKUXQJ
This page is intentionally left blank.
Unterrichtseinheit 1 : Einführung in Transact-SQL Inhalt Übersicht
1
Die Programmiersprache Transact-SQL
2
Typen von Transact-SQL-Anweisungen
3
Transact-SQL-Syntaxelemente
7
Übungseinheit A: Verwenden der SQL Server-Onlinedokumentation
31
Lernzielkontrolle
35
Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderer Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden. Die in den Beispielen genannten Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden und jede Ähnlichkeit mit bestehenden Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen ist rein zufällig, soweit nichts anderes angegeben ist. Die Benutzer sind verantwortlich für das Einhalten aller anwendbaren Urheberrechtsgesetze. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen, usw.) dies geschieht. Microsoft Corporation kann Inhaber von Patenten oder Patentanträgen, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten sein, die den Inhalt dieses Dokuments betreffen. Die Bereitstellung dieses Dokuments gewährt keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit der Microsoft Corporation vereinbart. 2001 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, BackOffice, MS-DOS, PowerPoint, Visual Studio, Windows, Windows Media und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Die in diesem Dokument aufgeführten Namen tatsächlicher Firmen und Produkte sind möglicherweise Marken der jeweiligen Eigentümer.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
LLL
+LQZHLVHIUGHQ.XUVOHLWHU 3UlVHQWDWLRQ 0LQXWHQ hEXQJVHLQKHLW 0LQXWHQ
Transact-SQL ist eine Datendefinitions-, Datenbearbeitungs- und Datensteuerungssprache. Diese Unterrichtseinheit gibt eine kurze Übersicht über Transact-SQL als Programmiersprache. Es werden darüber hinaus die verschiedenen Typen von Transact-SQL-Anweisungen und Syntaxelementen beschrieben. Am Ende dieser Unterrichtseinheit werden die Kursteilnehmer in der Lage sein, die folgenden Aufgaben auszuführen:
Unterscheiden zwischen Transact-SQL und ANSI-SQL.
Beschreiben der grundlegenden Typen von Transact-SQL-Anweisungen.
Beschreiben der Syntaxelemente von Transact-SQL.
8QWHUODJHQXQG9RUEHUHLWXQJ In diesem Abschnitt werden die erforderlichen Unterlagen und vorbereitenden Aufgaben erläutert, die nötig sind, um diese Unterrichtseinheit zu unterrichten.
(UIRUGHUOLFKH8QWHUODJHQ Um diese Unterrichtseinheit zu unterrichten, benötigen Sie folgende Unterlagen: • Die Microsoft® PowerPoint®-Datei 2316B_01.ppt
9RUEHUHLWHQGH$XIJDEHQ Zur Vorbereitung dieser Unterrichtseinheit gehen Sie folgendermaßen vor:
Lesen Sie alle Unterlagen für diese Unterrichtseinheit.
Arbeiten Sie die Übungseinheit durch.
Machen Sie sich mit dem Thema „Transact-SQL-Referenz“ in der Microsoft® SQL Server™-Onlinedokumentation vertraut.
6WUDWHJLHIUGLH8QWHUULFKWVHLQKHLW Verwenden Sie die folgende Strategie, um diese Unterrichtseinheit zu präsentieren:
Die Programmiersprache Transact-SQL Weisen Sie die Kursteilnehmer darauf hin, dass Transact-SQL die in SQL Server verwendete Programmiersprache ist. Da die Kursteilnehmer normalerweise mit den Prinzipien des Programmierens vertraut sein sollten, werden in dieser Unterrichtseinheit keine Grundlagen zum Programmieren und Schreiben von Anweisungen behandelt. Stattdessen stellt sie eine Übersicht bereit und zeigt, inwiefern sich Transact-SQL deutlich von der ISO-Standardsprache (International Standards Organization) ANSI SQL-92 unterscheidet.
LY
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
Typen von Transact-SQL-Anweisungen In diesem Abschnitt werden die Sprachelemente von Transact-SQL besprochen. Erläutern Sie kurz die grundlegenden Typen von SQL-Anweisungen, wie z. B. DDL-Anweisungen (Data Definition Language), DCL-Anweisungen (Data Control Language) und DML-Anweisungen (Data Manipulation Language).
Transact-SQL-Syntaxelemente Erläutern Sie die zusätzlichen Sprachelemente bei Bedarf ausführlicher, je nach Kenntnisstand der Kursteilnehmer. Erläutern Sie lokale und globale Variablen, die verschiedenen Operatoren und Funktionen, Sprachelemente zur Ablaufsteuerung sowie Kommentarzeichen. In der Unterrichtseinheit werden die wichtigsten allgemein verwendeten Schlüsselwörter oder Sätze vorgestellt; weisen Sie die Kursteilnehmer auf die umfangreiche SQL Server-Onlinedokumentation hin, in der sich detaillierte Informationen zu weiteren Schlüsselwörtern befinden.
$QSDVVXQJVLQIRUPDWLRQHQ Dieser Abschnitt beschreibt die Anforderungen zum Einrichten der Übungseinheiten für eine Unterrichtseinheit sowie die Konfigurationsänderungen, die während der Übungseinheiten an den Kursteilnehmercomputern vorgenommen werden. Diese Informationen sollen Ihnen beim Replizieren oder Anpassen der Microsoft Official Curriculum-Courseware (MOC) helfen. :LFKWLJ Die Übungseinheit in dieser Unterrichtseinheit hängt von der Schulungsraumkonfiguration ab, die im Abschnitt „Anpassungsinformationen“ am Ende des Dokuments Handbuch für das Einrichten von Schulungscomputern für den Kurs 2316B, Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL, angegeben ist.
(LQULFKWHQGHUhEXQJVHLQKHLW Es gibt keine Anforderungen zum Einrichten der Übungseinheiten, die die Replikation oder die Anpassung betreffen.
(UJHEQLVVHGHUhEXQJVHLQKHLW Auf den Kursteilnehmercomputern gibt es keine Konfigurationsänderungen, die die Replikation oder die Anpassung betreffen.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
hEHUVLFKW ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHhEHUVLFKW EHUGLH7KHPHQXQG/HUQ ]LHOHGLHVHU8QWHUULFKWV HLQKHLW
(LQVWLHJ
,QGLHVHU8QWHUULFKWVHLQKHLW OHUQHQ6LH7UDQVDFW64/ NHQQHQ
'LH3URJUDPPLHUVSUDFKH7UDQVDFW64/
7\SHQYRQ7UDQVDFW64/$QZHLVXQJHQ
7UDQVDFW64/6\QWD[HOHPHQWH
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Transact-SQL ist eine Datendefinitions-, Datenbearbeitungs- und Datensteuerungssprache. Diese Unterrichtseinheit stellt eine kurze Übersicht über Transact-SQL als Programmiersprache bereit. Es werden darüber hinaus die verschiedenen Typen von Transact-SQL-Anweisungen und Syntaxelementen beschrieben. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die folgenden Aufgaben auszuführen:
Unterscheiden zwischen Transact-SQL und ANSI-SQL.
Beschreiben der grundlegenden Typen von Transact-SQL-Anweisungen.
Beschreiben der Syntaxelemente von Transact-SQL.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
'LH3URJUDPPLHUVSUDFKH7UDQVDFW64/ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHGLH7DWVDFKH KHUDXVGDVV64/6HUYHU EHUHLQHHLJHQH3URJUDP PLHUVSUDFKHYHUIJW
(LQVWLHJ
%HL7UDQVDFW64/KDQGHOW HVVLFKXPHLQH9HUVLRQGHU 64/3URJUDPPLHUVSUDFKH GLHDXVVFKOLHOLFKLQ 64/6HUYHUYHUZHQGHWZLUG
,PSOHPHQWLHUXQJGHU(LQJDQJVVWXIH(QWU\/HYHO GHV $16,64/,626WDQGDUGV
.DQQ YRQMHGHPPLWGHU$16,64/(LQJDQJVVWXIH NRPSDWLEOHQ3URGXNWDXVJHIKUWZHUGHQ
(QWKlOW]XVlW]OLFKHHLQ]LJDUWLJH)XQNWLRQDOLWlW
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** ANSI (American National Standards Institute) und ISO (International Standards Organization) haben Standards für SQL definiert. Bei der Verwendung von Transact-SQL unterstützt Microsoft® SQL Server™ 2000 die Implementierung der Eingangsstufe (Entry Level) von SQL-92, dem SQL-Standard, der 1992 von ANSI und ISO veröffentlicht wurde. Die mit ANSI-SQL kompatiblen Sprachelemente von Transact-SQL können von jedem mit der ANSI-SQL-Eingangsstufe kompatiblen Produkt ausgeführt werden. Transact-SQL enthält außerdem mehrere Erweiterungen, die eine verbesserte Funktionalität bereitstellen.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
7\SHQYRQ7UDQVDFW64/$QZHLVXQJHQ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHGLHJUXQGOHJHQ GHQ7\SHQYRQ7UDQVDFW 64/$QZHLVXQJHQYRU
''/$QZHLVXQJHQ'DWD'HILQLWLRQ/DQJXDJH
(LQVWLHJ
'&/$QZHLVXQJHQ'DWD&RQWURO/DQJXDJH
'0/$QZHLVXQJHQ'DWD0DQLSXODWLRQ/DQJXDJH
%HLP6FKUHLEHQXQG$XV IKUHQYRQ7UDQVDFW64/ $QZHLVXQJHQYHUZHQGHQ 6LHHLQLJHGLHVHU7\SHQYRQ 7UDQVDFW64/ $QZHLVXQJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
:HLVHQ6LHGDUDXIKLQGDVV GHU6FKZHUSXQNWGLHVHV .XUVHVDXIGHU9HUZHQGXQJ YRQ'0/$QZHLVXQJHQ 'DWD0DQLSXODWLRQ /DQJXDJH OLHJW
Eine Abfrage ist eine Anforderung von in SQL Server gespeicherten Daten. Bei allen Abfragen wird dem Benutzer das Resultset einer SELECT-Anweisung angezeigt. Ein Resultset ist eine tabellarische, aus Spalten und Zeilen bestehende Anordnung der Daten aus der SELECT-Anweisung. Das Schreiben und Ausführen von Transact-SQL-Anweisungen stellt eine Möglichkeit dar, eine Abfrage an SQL Server auszugeben. Beim Schreiben und Ausführen von Transact-SQL-Anweisungen verwenden Sie folgende Elemente:
DDL-Anweisungen (Data Definition Language), mit denen Sie Objekte in der Datenbank erstellen können.
DCL-Anweisungen (Data Control Language), mit denen Sie ermitteln können, wer die Daten anzeigen und ändern kann.
DML-Anweisungen (Data Manipulation Language), mit denen Sie die Daten abfragen und ändern können.
$QPHUNXQJ In diesem Kurs wird schwerpunktmäßig das Verwenden von DML-Anweisungen zum Abfragen von Daten in SQL Server behandelt.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
''/$QZHLVXQJHQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHGHQ.XUVWHLO QHKPHUQHLQH(LQIKUXQJLQ ''/$QZHLVXQJHQ
(LQVWLHJ
''/$QZHLVXQJHQGHILQLH UHQHLQH'DWHQEDQNLQGHP 'DWHQEDQNHQ7DEHOOHQXQG EHQXW]HUGHILQLHUWH'DWHQ W\SHQHUVWHOOWZHUGHQ
'HILQLHUHQGHU'DWHQEDQNREMHNWH z
&5($7(REMHFWBQDPH
z
$/7(5REMHFWBQDPH
z
'523REMHFWBQDPH
(QWVSUHFKHQGH%HUHFKWLJXQJHQZHUGHQEHQ|WLJW
86(1RUWKZLQG 86(1RUWKZLQG &5($7(7$%/(FXVWRPHU &5($7(7$%/(FXVWRPHU FXVWBLGLQWFRPSDQ\YDUFKDU FXVWBLGLQWFRPSDQ\YDUFKDU FRQWDFWYDUFKDU SKRQHFKDU FRQWDFWYDUFKDU SKRQHFKDU *2 *2
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** :HLWHUH,QIRUPDWLRQHQ :HLWHUH,QIRUPDWLRQHQ]X ''/$QZHLVXQJHQILQGHQ 6LHLP.XUV$ 9HUZDOWHQHLQHU0LFURVRIW 64/6HUYHU 'DWHQEDQN
DDL-Anweisungen (Data Definition Language) definieren die Datenbank, indem Datenbanken, Tabellen und benutzerdefinierte Datentypen erstellt werden. Darüber hinaus können Sie mit DDL-Anweisungen Datenbankobjekte verwalten. Zu den DDL-Anweisungen zählen folgende:
CREATE object_name
ALTER object_name
DROP object_name
Standardmäßig können nur die Mitglieder der Rollen sysadmin, dbcreator, db_owner oder db_ddladmin DDL-Anweisungen ausführen. Im Allgemeinen wird empfohlen, dass keine anderen Konten zum Erstellen von Datenbankobjekten verwendet werden. Wenn verschiedene Benutzer eigene Objekte in einer Datenbank erstellen, muss jeder Objektbesitzer jedem Benutzer dieser Objekte die entsprechenden Berechtigungen erteilen. Wegen des enormen Verwaltungsaufwands sollte dies vermieden werden. Durch das Beschränken der Anweisungsberechtigungen auf diese Rollen können darüber hinaus auch Probleme mit dem Objektbesitz vermieden werden. Solche Probleme können auftreten, wenn ein Objektbesitzer aus einer Datenbank entfernt wurde oder wenn der Besitzer einer gespeicherten Prozedur oder Sicht nicht der Besitzer der zugrunde liegenden Tabellen ist. %HLVSLHO
Das folgende Skript erstellt in der Northwind-Datenbank eine Tabelle mit dem Namen customer. Es schließt die Spalten cust_id, company, contact und phone ein. 86(1RUWKZLQG &5($7(7$%/(FXVWRPHU FXVWBLGLQWFRPSDQ\YDUFKDU FRQWDFWYDUFKDU SKRQHFKDU *2
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
'&/$QZHLVXQJHQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHGHQ.XUVWHLO QHKPHUQHLQH(LQIKUXQJLQ '&/$QZHLVXQJHQ
(LQVWLHJ
'&/$QZHLVXQJHQVWHXHUQ GHQ=XJULIIDXI'DWHQEDQN REMHNWHXQGDXIGLH %HUHFKWLJXQJEHVWLPPWH $QZHLVXQJHQDXV]XIKUHQ
6HW]HQRGHUbQGHUQYRQ%HUHFKWLJXQJHQ z
*5$17
z
'(1
@ RGHU GRSSHOWH$QIKUXQJV]HLFKHQ JHVHW]WZHUGHQ
(LQVWLHJ
64/6HUYHUVWHOOWHLQH5HLKH VWDQGDUGPlLJHU%H QHQQXQJVUHJHOQIU2EMHNW EH]HLFKQHUEHUHLWVRZLHHLQH 0HWKRGH]XP9HUZHQGHQ YRQ7UHQQ]HLFKHQIU %H]HLFKQHUGLHQLFKWGHP 6WDQGDUGHQWVSUHFKHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
)KUHQ6LHYRUZLH 64/6HUYHU4XHU\$QDO\]HU GLH$QZHLVXQJVHOHPHQWH DXWRPDWLVFKIDUEFRGLHUWXP UHVHUYLHUWH:|UWHU=HLFKHQ IROJHQXVZDQ]X]HLJHQ
SQL Server stellt eine Reihe standardmäßiger Benennungsregeln für Objektbezeichner bereit sowie eine Methode zum Verwenden von Trennzeichen für Bezeichner, die nicht dem Standard entsprechen. Es wird empfohlen, dass Sie Objekte mit Hilfe der standardmäßigen Zeichen für Bezeichner benennen, falls dies möglich ist.
6WDQGDUGPlLJH%H]HLFKQHU Standardmäßige Bezeichner können zwischen einem und 128 Zeichen enthalten, darunter Buchstaben, Symbole (_, @, oder #) und Zahlen. Standardmäßige Bezeichner dürfen keine eingebetteten Leerzeichen enthalten. Zu den Regeln für das Verwenden von Bezeichnern zählen folgende:
Das erste Zeichen muss ein alphabetisches Zeichen sein (a-z oder A-Z).
Nach dem ersten Zeichen kann ein Bezeichner Buchstaben, Zahlen oder eines der Symbole @, $, # oder _ einschließen.
Bezeichnernamen, die mit einem Symbol beginnen, werden in besonderen Fällen verwendet: • Ein mit dem Symbol @ beginnender Bezeichner steht für eine lokale Variable oder einen lokalen Parameter. • Ein mit einem Nummernzeichen (#) beginnender Bezeichner steht für eine temporäre Tabelle oder Prozedur. • Ein mit einem doppelten Nummernzeichen (##) beginnender Bezeichner steht für ein globales temporäres Objekt. $QPHUNXQJ Namen für temporäre Objekte sollten einschließlich Nummernzeichen (#) oder doppeltem Nummernzeichen (##) eine Länge von 116 Zeichen nicht überschreiten, da SQL Server an temporäre Objekte ein internes numerisches Suffix vergibt.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
:HLWHUH,QIRUPDWLRQHQ 2EMHNWQDPHQN|QQHQHUVW VHLWGHUDNWXHOOHQ9HUVLRQ YRQ64/6HUYHU/HHU ]HLFKHQHQWKDOWHQ
%HJUHQ]WH%H]HLFKQHU Wenn ein Bezeichner alle Regeln für das Format von Bezeichnern erfüllt, kann er mit oder ohne Trennzeichen verwendet werden. Ein Bezeichner, der eine oder mehrere Regeln für das Format von Bezeichnern nicht erfüllt, muss immer begrenzt sein. Begrenzte Bezeichner können in den folgenden Situationen verwendet werden:
Namen enthalten eingebettete Leerzeichen.
Reservierte Wörter werden für Objektnamen oder Teile von Objektnamen verwendet.
Begrenzte Bezeichner müssen in Klammern oder doppelte Anführungszeichen gesetzt werden, wenn sie in Transact-SQL-Anweisungen verwendet werden.
Bezeichner in Klammern werden durch eckige Klammern ([ ]) begrenzt: 6(/(&7 )520>%ODQNV,Q7DEOH1DPH@
$QPHUNXQJ Trennzeichen in Klammern können unabhängig vom Status der SET QUOTED_IDENTIFIER-Option verwendet werden. :HLWHUH,QIRUPDWLRQHQ
'LH6WDQGDUGHLQVWHOOXQJLQ 64/6HUYHULVW21 $NWLYLHUHQ6LHMHGRFKGLHVH (LQVWHOOXQJXP*HQDXLJNHLW ]XJHZlKUOHLVWHQ
Bezeichner in Anführungszeichen werden durch doppelte Anführungszeichen ("") begrenzt: 6(/(&7 )520%ODQNVLQ7DEOH1DPH
Bezeichner in Anführungszeichen können nur verwendet werden, wenn die SET QUOTED_IDENTIFIER-Option auf ON festgelegt ist.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
%HQHQQXQJVULFKWOLQLHQIU%H]HLFKQHU ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHHPSIRKOHQH %HQHQQXQJVULFKWOLQLHQYRU
(LQVWLHJ
1DPHQYRQ'DWHQEDQN REMHNWHQVROOWHQP|JOLFKVW NXU]VHLQ
9HUZHQGHQ6LHNXU]H1DPHQ
9HUZHQGHQ6LHQDFK0|JOLFKNHLWDXVVDJHNUlIWLJH1DPHQ
9HUZHQGHQ6LHHLQHNODUHXQGHLQIDFKH%HQHQQXQJV NRQYHQWLRQ
9HUZHQGHQ6LHHLQHQ%H]HLFKQHUGHUGHQ2EMHNWW\S NHQQ]HLFKQHW
z
6LFKWHQ
z
*HVSHLFKHUWH3UR]HGXUHQ
9HUZHQGHQ6LHHLQGHXWLJH2EMHNW XQG%HQXW]HUQDPHQ z
VDOHV7DEHOOHXQGVDOHV5ROOH
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Beim Benennen von Datenbankobjekten sollten Sie Folgendes beachten:
Verwenden Sie kurze Namen.
Verwenden Sie nach Möglichkeit aussagekräftige Namen.
Verwenden Sie eine klare und einfache Benennungskonvention. Entscheiden Sie, was für Ihre Situation am sinnvollsten ist, und achten Sie auf Einheitlichkeit. Versuchen Sie, die Namenskonventionen nicht zu komplex zu gestalten, da sie sonst schwierig nachzuverfolgen und zu verstehen sind. Sie können z. B. die Vokale entfernen, wenn ein Objektname einem Schlüsselwort ähneln soll (wie eine gespeicherte Prozedur zur Sicherung mit dem Namen bckup).
Verwenden Sie einen Bezeichner, der den Objekttyp kennzeichnet (insbesondere bei Sichten und gespeicherten Prozeduren). Systemadministratoren verwechseln häufig Sichten mit Tabellen, was zu unerwarteten Problemen führen kann.
Verwenden Sie eindeutige Objekt- und Benutzernamen. Vermeiden Sie es z. B., eine sales-Tabelle und eine sales-Rolle in derselben Datenbank zu erstellen.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
'DWHQW\SHQ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHJUXQGOHJHQGH 7UDQVDFW64/'DWHQW\SHQ YRU
=DKOHQ
64/9DULDQWHQ
(LQVWLHJ
'DWXPVDQJDEHQ
,PDJHXQG7H[W
=HLFKHQ
7DEHOOHQ
%LQlUH'DWHQW\SHQ
&XUVRU
(LQGHXWLJH%H]HLFKQHU *OREDOO\8QLTXH ,GHQWLILHU *8,'
%HQXW]HUGHILQLHUW
'DWHQW\SHQVFKUlQNHQGHQ :HUWHW\SHLQGHULQHLQHU 'DWHQEDQNJHVSHLFKHUW ZHUGHQNDQQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
,QGHUOLQNHQ6SDOWHGHU )ROLHVLQGUHODWLYHLQIDFKH XQGKlXILJH'DWHQW\SHQXQG LQGHUUHFKWHQ6SDOWH NRPSOH[HUH'DWHQW\SHQ DXIJHIKUW
Datentypen schränken den Wertetyp ein, der in einer Datenbank gespeichert werden kann. Datentypen sind Attribute, die angeben, welche Art von Informationen in einer Spalte, einem Parameter oder einer Variablen gespeichert werden können. Die meisten Transact-SQL-Anweisungen verweisen nicht explizit auf Datentypen, aber die Ergebnisse der meisten Anweisungen werden durch die Interaktionen zwischen den Datentypen der Objekte beeinflusst, auf die in der Anweisung verwiesen wird. SQL Server stellt vom System bereitgestellte (grundlegende) Datentypen zur Verfügung, Sie können jedoch auch Datentypen erstellen. Zu den grundlegenden Datentypen gehören beispielsweise folgende:
=DKOHQ Dieser Datentyp stellt numerische Werte dar und schließt ganze Zahlen wie int, tinyint, smallint und bigint ein. Er schließt auch präzise Dezimalwerte wie numeric, decimal, money und smallmoney ein. Er schließt zudem Gleitkommawerte wie float und real ein.
'DWXPVDQJDEHQ Dieser Datentyp stellt Datumsangaben oder Zeiträume dar. Die beiden Datentypen für Datumsangaben sind datetime (mit einer Genauigkeit von 3,33 Millisekunden) und smalldatetime (mit einer Genauigkeit von 1-MinutenIntervallen).
=HLFKHQ Mit diesem Datentyp werden Zeichendaten oder Zeichenfolgen dargestellt. Er schließt Datentypen mit Zeichenfolgen fester Länge ein, wie z. B. char und nchar, sowie Datentypen mit Zeichenfolgen variabler Länge, wie z. B. varchar und nvarchar.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
:HLWHUH,QIRUPDWLRQHQ
'HUURZYHUVLRQ'DWHQW\S LVWGHU64/6HUYHU $OLDVIUGHQWLPHVWDPS 'DWHQW\S'HUURZYHUVLRQ 'DWHQW\SKDWGLHJOHLFKH )XQNWLRQZLHWLPHVWDPS 'LH'HILQLWLRQYRQ WLPHVWDPSZLUGLQHLQHU ]XNQIWLJHQ9HUVLRQYRQ 64/6HUYHUJHlQGHUWGDPLW VLHPLWGHU64/ 'HILQLWLRQYRQWLPHVWDPS EHUHLQVWLPPW
%LQlUH'DWHQW\SHQ Dieser Datentyp ist den Datentypen für Zeichen im Hinblick auf Speicherung und Struktur sehr ähnlich, der Inhalt der Daten wird allerdings als Folge von Bytewerten behandelt. Binäre Datentypen schließen binary und varbinary ein. Ein bit-Datentyp zeigt die einzelnen Bitwerte 0 oder 1 an. Ein rowversionDatentyp zeigt einen speziellen 8-Byte-Binärwert an, der in einer Datenbank eindeutig ist.
(LQGHXWLJH%H]HLFKQHU Dieser spezielle Datentyp ist vom Typ uniqueidentifier, der einen global eindeutigen Bezeichner (Globally Unique Identifier, GUID) darstellt. Es handelt sich dabei um einen 16-Byte-Hexadezimalwert, der immer eindeutig sein sollte.
64/9DULDQWHQ Dieser Datentyp kann Werte unterschiedlicher, von SQL Server unterstützter Datentypen darstellen, mit Ausnahme von text, ntext, image, timestamp und rowversion.
,PDJHXQG7H[W Bei diesen Datentypen handelt es sich um BLOB-Strukturen (Binary Large Object), die Datentypen fester und variabler Länge zum Speichern großer Nicht-Unicode- und Unicode-Zeichendaten und -Binärdaten darstellen, wie z. B. image, text und ntext.
7DEHOOHQ Der Datentyp Tabelle kann nur verwendet werden, um lokale Variablen vom Typ Tabelle zu definieren oder um Werte einer benutzerdefinierten Funktion zurückzugeben.
&XUVRU Dieser Datentyp wird zum Programmieren in gespeicherten Prozeduren und bei Low-Level-Clientschnittstellen verwendet. Der cursor-Datentyp wird niemals als Teil einer DDL-Anweisung verwendet.
%HQXW]HUGHILQLHUWH'DWHQW\SHQ Dieser Datentyp wird vom Datenbankadministrator erstellt und basiert auf Systemdatentypen. Verwenden Sie benutzerdefinierte Datentypen, wenn in mehreren Tabellen derselbe Datentyp in einer Spalte gespeichert werden muss und Sie sicherstellen müssen, dass die Spalten über exakt denselben Datentyp, dieselbe Länge und dieselbe Null-Zulässigkeit verfügen.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
9DULDEOHQ ,QKDOWGLHVHU)ROLH
'HILQLHUHQ6LHHLQH9DULDEOH XQGHUOlXWHUQ6LHZLHVLH YHUZHQGHWZLUG
%HQXW]HUGHILQLHUWPLWHLQHU'(&/$5(#$QZHLVXQJ
(LQVWLHJ
:HUWH]XZHLVXQJPLWHLQHU6(7 RGHU6(/(&7#$QZHLVXQJ
9DULDEOHQKDEHQHLQHQORNDOHQ*OWLJNHLWVEHUHLFK
0LW+LOIHGHU'(&/$5( $QZHLVXQJZHUGHQORNDOH 9DULDEOHQLQHLQHP%DWFK RGHUHLQHU3UR]HGXUGHNOD ULHUWXQGPLWHLQHU6(/(&7 $QZHLVXQJZHUGHQGHQ9D ULDEOHQ:HUWH]XJHZLHVHQ
86(1RUWKZLQG 86(1RUWKZLQG '(&/$5(#(PS,'YDUFKDU '(&/$5(#(PS,'YDUFKDU #YO1DPH #YO1DPH FKDU FKDU 6(7#YOQDPH 6(7#YOQDPH 'RGVZRUWK
'RGVZRUWK
6(/(&7#(PS,' 6(/(&7#(PS,' HPSOR\HHLG HPSOR\HHLG )520HPSOR\HHV )520HPSOR\HHV :+(5(/DVW1DPH :+(5(/DVW1DPH #YOQDPH #YOQDPH 6(/(&7#(PS,' 6(/(&7#(PS,' $6(PSOR\HH,' $6(PSOR\HH,' *2 *2
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Variablen sind Sprachelemente mit zugewiesenen Werten. Lokale Variablen können in Transact-SQL verwendet werden. Eine lokale Variable wird von einem Benutzer in einer DECLARE-Anweisung definiert. Ihr wird ein Anfangswert in einer SET-Anweisung oder einer SELECT-Anweisung zugewiesen, und sie wird dann in der Anweisung, dem Batch oder der Prozedur verwendet, in der bzw. dem sie deklariert wurde. Der Gültigkeitsbereich einer lokalen Variablen entspricht der Dauer des Batches, in dem die lokale Variable definiert wurde. Eine lokale Variable wird mit einem @-Symbol vor dem jeweiligen Namen angezeigt. $QPHUNXQJ Variablen mit zwei @-Symbolen vor dem Namen stellen einen Funktionstyp dar. Weitere Informationen dazu finden Sie auf der Registerkarte Inhalt unter dem Thema „Transact-SQL-Referenz“, „Funktionen“ in der SQL Server-Onlinedokumentation.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
6\QWD[
DECLARE {@local_variable data_type} [,...n] SET @local_variable_name = expression
%HLVSLHO
(UJHEQLV
In diesem Beispiel werden die lokalen Variablen @EmpID und @vlname erstellt. Anschließend wird der Variablen @vlname und dann der Variablen @EmpID ein Wert zugewiesen, indem die Northwind-Datenbank abgefragt und der Datensatz ausgewählt wird, der den Wert der lokalen Variablen @vlname enthält. 86(1RUWKZLQG '(&/$5(#(PS,'YDUFKDU #YO1DPHFKDU 6(7#YOQDPH 'RGVZRUWK 6(/(&7#(PS,' HPSOR\HHLG )520HPSOR\HHV :+(5(/DVW1DPH #YOQDPH 6(/(&7#(PS,'$6(PSOR\HH,' *2 (PSOR\HH,' URZV DIIHFWHG
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
6\VWHPIXQNWLRQHQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHhEHUVLFKW EHUGLHLQ64/6HUYHU YHUIJEDUHQ)XQNWLRQHQ
(LQVWLHJ
7UDQVDFW64/VWHOOW]DKO UHLFKH)XQNWLRQHQEHUHLWGLH 'DWHQ]XUFNJHEHQ
$JJUHJDWIXQNWLRQHQ
86(1RUWKZLQG 86(1RUWKZLQG 6(/(&7$9*XQLWSULFH $6$YJ3ULFH 6(/(&7$9*XQLWSULFH $6$YJ3ULFH )520SURGXFWV )520SURGXFWV *2 *2
6NDODUIXQNWLRQHQ
86(1RUWKZLQG 86(1RUWKZLQG 6(/(&7'%B1$0( $6 GDWDEDVH© 6(/(&7'%B1$0( $6 GDWDEDVH© *2 *2
5RZVHWIXQNWLRQHQ
6(/(&7 6(/(&7 )52023(148(5< )52023(148(5< 2UDFOH6YU 6(/(&7QDPHLG)520RZQHUWLWOHV 2UDFOH6YU 6(/(&7QDPHLG)520RZQHUWLWOHV
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Sie können Funktionen, einschließlich Systemfunktionen, überall dort verwenden, wo ein Ausdruck in einer Transact-SQL-Anweisung zulässig ist. Transact-SQL stellt zahlreiche Funktionen bereit, die Informationen zurückgeben. 0HWKRGLVFKHU+LQZHLV (VJLEWZHLWHUH)XQNWLRQV W\SHQ'LH.XUVWHLOQHKPHU VROOWHQLQGHU2QOLQH GRNXPHQWDWLRQXQWHU )XQNWLRQHQQDFKOHVHQ
Einige Funktionen besitzen Eingabeparameter und geben Werte zurück, die in Ausdrücken verwendet werden können. Andere Funktionen geben nur Werte zurück, und es sind keine Eingaben erforderlich. Die Transact-SQLProgrammiersprache stellt viele Funktionstypen bereit. Sie sollten sich mit den folgenden drei Funktionstypen vertraut machen: $QPHUNXQJ Weitere Informationen dazu finden Sie auf der Registerkarte Inhalt unter dem Thema „Transact-SQL-Referenz“, „Funktionen“ in der SQL Server-Onlinedokumentation. $JJUHJDWIXQNWLRQHQ Verarbeiten die Werte einer ausgewählten Spalte in einem Resultset, und geben einen einzelnen zusammengefassten Wert zurück.
%HLVSLHO
(UJHEQLV
In diesem Beispiel wird der Durchschnitt der unitprice-Spalte für alle Produkte in der products-Tabelle ermittelt. 86(1RUWKZLQG 6(/(&7$9*XQLWSULFH $6$YJ3ULFH )520SURGXFWV *2 $YJ3ULFH URZV DIIHFWHG
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
6NDODUIXQNWLRQHQ Geben einen einzelnen Wert zurück und verarbeiten keinen oder viele einzelne skalare Werte. Diese Funktionen können auf alle gültigen Ausdrücke angewendet werden. Skalarfunktionen können in die folgenden Kategorien aufgeteilt werden.
%HLVSLHO
(UJHEQLV
Funktionskategorie
Beschreibung
Konfiguration
Gibt Informationen zur aktuellen Konfiguration zurück.
Cursor
Gibt Informationen zu Cursorn zurück.
Datum und Zeit
Verarbeitet Datums- und Zeiteingabewerte und gibt einen Zeichenfolgenwert, einen numerischen Wert oder einen Datums- und Zeitwert zurück.
Mathematisch
Führt eine Berechnung auf der Grundlage von Eingabewerten durch, die als Parameter für die Funktion bereitgestellt werden, und gibt einen numerischen Wert zurück.
Metadaten
Gibt Informationen zur Datenbank und den Datenbankobjekten zurück.
Sicherheit
Gibt Informationen zu Benutzern und Rollen zurück.
Zeichenfolge
Verarbeitet den Eingabewert einer Zeichenfolge (char oder varchar) und gibt eine Zeichenfolge oder einen numerischen Wert zurück.
System
Führt Operationen aus und gibt Informationen zu Werten, Objekten und Einstellungen in SQL Server zurück.
Statistische Systemfunktion
Gibt statistische Informationen zum System zurück.
Text und Image
Verarbeitet einen Text- oder Imageeingabewert bzw. eine Text- oder Imagespalte und gibt Informationen zum Wert zurück.
Dieses Beispiel einer Metadatenfunktion gibt den Namen der momentan verwendeten Datenbank zurück. 86(1RUWKZLQG 6(/(&7'%B1$0( $6 GDWDEDVH *2 GDWDEDVH 1RUWKZLQG URZV DIIHFWHG
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
5RZVHWIXQNWLRQHQ Können wie Tabellenverweise in einer Transact-SQLAnweisung verwendet werden. %HLVSLHO
0HWKRGLVFKHU+LQZHLV
'LHVHV%HLVSLHONDQQQXUPLW =XJULIIDXIHLQHQ2UDFOH 6HUYHURUGQXQJVJHPl DXVJHIKUWZHUGHQ
In diesem Beispiel wird eine verteilte Abfrage durchgeführt, um Informationen aus der titles-Tabelle abzurufen. Ohne Zugriff auf eine Oracle-Datenbank wird dieses Beispiel nicht ordnungsgemäß ausgeführt. SQL Server generiert eine entsprechende Meldung. 6(/(&7 )52023(148(5<2UDFOH6YU 6(/(&7QDPHLG)520RZQHUWLWOHV *2
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
%HLVSLHOHIU6\VWHPIXQNWLRQHQ ,QKDOWGLHVHU)ROLH
)KUHQ6LHHLQLJHGHUDOOJH PHLQHQ9HUZHQGXQJVP|J OLFKNHLWHQGHU)XQNWLRQHQ YRU
(LQVWLHJ
6\VWHPIXQNWLRQHQZHUGHQ LP$OOJHPHLQHQ]XP.RQ YHUWLHUHQYRQ'DWXPV DQJDEHQDXVGHP)RUPDW HLQHV/DQGHVLQGDVHLQHV DQGHUHQ/DQGHVYHUZHQGHW
Beispiel 1 6(/(&7 $16, &219(57YDUFKDU *(7'$7( $6 6(/(&7 $16, &219(57YDUFKDU *(7'$7( $6 6W\OH 6W\OH 81,21 81,21 6(/(&7 -DSDQHVH &219(57YDUFKDU *(7'$7( 6(/(&7 -DSDQHVH &219(57YDUFKDU *(7'$7( 81,21 81,21 6(/(&7 (XURSHDQ &219(57YDUFKDU *(7'$7( 6(/(&7 (XURSHDQ &219(57YDUFKDU *(7'$7( *2 *2
Ergebnis Style Style ANSI: ANSI: Japanese: Japanese:
1998.11.20 1998.11.20 1998/11/20 1998/11/20
European: European:
20 20Nov Nov1998 199816:44:12:857 16:44:12:857
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
:HLVHQ6LHDXIGLH)RUPDW RSWLRQHQLP7KHPD Ä&219(57³LQGHU 64/6HUYHU2QOLQH GRNXPHQWDWLRQKLQ
%HLVSLHO
(UJHEQLV
Systemfunktionen werden im Allgemeinen zum Konvertieren von Datumsangaben aus dem Format eines Landes in das eines anderen Landes verwendet. $QPHUNXQJ Verwenden Sie die CONVERT-Funktion mit der Formatoption, um Datumsformate zu ändern und das Datumsformat zu ermitteln, das zurückgegeben wird.
Dieses Beispiel zeigt, wie Datumsangaben in unterschiedliche Formate konvertiert werden können. 6(/(&7 $16, &219(57YDUFKDU *(7'$7( $66W\OH 81,21 6(/(&7 -DSDQHVH &219(57YDUFKDU *(7'$7( 81,21 6(/(&7 (XURSHDQ &219(57YDUFKDU *(7'$7( *2 6W\OH (XURSHDQ -DSDQHVH $16,
1RY
%HLVSLHO
(UJHEQLV
%HLVSLHO
(UJHEQLV
%HLVSLHO
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
In diesem Beispiel wird die DATEFORMAT-Option der SET-Anweisung verwendet, um Datumsangaben für die Dauer einer Verbindung zu formatieren. Diese Einstellung wird nur bei der Interpretation von Zeichenfolgen verwendet, wenn die Zeichenfolgen in Datumswerte konvertiert werden. Sie hat keine Auswirkung auf die Anzeige von Datumswerten. 6(7'$7()250$7GP\ *2 '(&/$5(#YGDWHGDWHWLPH 6(7#YGDWH 6(/(&7#YGDWH *2 URZV DIIHFWHG
In diesem Beispiel werden der aktuelle Benutzername und die Anwendung zurückgegeben, die der Benutzer für die aktuelle Sitzung oder Verbindung verwendet. Der Benutzer ist in diesem Beispiel ein Mitglied der sysadminRolle. 86(OLEUDU\ 6(/(&7XVHUBQDPH DSSBQDPH *2 GER
0664/4XHU\$QDO\]HU URZV DIIHFWHG
In diesem Beispiel wird ermittelt, ob in der firstname-Spalte der memberTabelle der library-Datenbank NULL-Werte zugelassen sind. Das Ergebnis Null (FALSE) bedeutet, dass keine NULL-Werte zugelassen sind, und das Ergebnis Eins (TRUE) bedeutet, dass NULL-Werte zugelassen sind. Beachten Sie, dass die OBJECT_ID-Funktion in die COLUMNPROPERTY-Funktion eingebettet ist. Dadurch können Sie den Wert für object id der member-Tabelle abfragen.
(UJHEQLV
86(OLEUDU\ 6(/(&7&2/8013523(57<2%-(&7B,' PHPEHU ILUVWQDPH
$OORZV1XOO *2 URZV DIIHFWHG
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
2SHUDWRUHQ ,QKDOWGLHVHU)ROLH
=HLJHQ6LHZLH2SHUDWRUHQ ]XPbQGHUQYRQ5HVXOWVHWV YHUZHQGHWZHUGHQN|QQHQ
(LQVWLHJ
0LW2SHUDWRUHQN|QQHQ6LH %HUHFKQXQJHQGXUFKIKUHQ RGHU:HUWHYHUJOHLFKHQ
7\SHQYRQ2SHUDWRUHQ z
$ULWKPHWLVFK
z
9HUJOHLFK
z
9HUNHWWXQJYRQ=HLFKHQIROJHQ
z
/RJLVFK
5DQJIROJHQHEHQHQYRQ2SHUDWRUHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Bei Operatoren handelt es sich um Symbole, die mathematische Berechnungen, Zeichenfolgenverkettungen und Vergleiche zwischen Spalten, Konstanten und Variablen durchführen. Sie können kombiniert und in Suchbedingungen verwendet werden. Beim Kombinieren von Operatoren basiert die Reihenfolge, in der sie verarbeitet werden, auf einer vordefinierten Rangfolge. 7HLOV\QWD[
{constant | column_name | function | (subquery)} [{arithmetic_operator | string_operator | AND | OR | NOT} {constant | column_name | function | (subquery)}…]
7\SHQYRQ2SHUDWRUHQ SQL Server unterstützt vier Typen von Operatoren: arithmetische Operatoren, Vergleichsoperatoren, Operatoren für die Verkettung von Zeichenfolgen und logische Operatoren. 0HWKRGLVFKHU+LQZHLV 7UDQVDFW64/XQWHUVWW]W DXFKELWZHLVH2SHUDWRUHQ 6LHZHUGHQKLHUQLFKW EHKDQGHOWGDVLHQXUVHKU VHOWHQYHUZHQGHWZHUGHQ
$ULWKPHWLVFK Arithmetische Operatoren führen Berechnungen mit numerischen Spalten oder Konstanten durch. Transact-SQL unterstützt multiplikative Operatoren, einschließlich Multiplikation (*), Division (/) und Modulo (%) - der ganzzahlige Rest nach einer ganzzahligen Division - sowie die Addition (+) und Subtraktion (-) additiver Operatoren.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
9HUJOHLFK Vergleichsoperatoren vergleichen zwei Ausdrücke. Vergleiche können zwischen Variablen, Spalten und Ausdrücken eines ähnlichen Typs stattfinden. Zu den Vergleichsoperatoren zählen die in der folgenden Tabelle aufgeführten Operatoren. Operator
Bedeutung
=
Gleich
>
Größer als
=
Größer als oder gleich
2UGHU'HWDLOV@ :+(5(8QLW3ULFH :+(5(8QLW3ULFH 4XDQWLW\ !
4XDQWLW\ ! *2 *2
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Ausdrücke sind eine Kombination aus Symbolen und Operatoren, die zu einem einzelnen Datenwert ausgewertet werden. Es kann sich dabei um einfache Ausdrücke handeln - wie bei einer Konstante, einer Variablen oder einem Skalarwert - oder um komplexe Ausdrücke, die erstellt werden, indem ein einfacher Ausdruck bzw. mehrere einfache Ausdrücke mit Operatoren verbunden werden. Der Datentyp des Ergebnisses hängt von den Elementen im Ausdruck ab. Implizite Datentypkonvertierungen werden häufig für Elemente im Ausdruck während der Auswertung durchgeführt. %HLVSLHO
(UJHEQLV
Im folgenden Beispiel wird der Warenbestellwert berechnet, indem der Preis pro Einheit mit der bestellten Menge multipliziert wird. Anschließend werden die Ergebnisse gefiltert, sodass nur die Zeilen zurückgegeben werden, die Bestellungen mit Produkten enthalten, deren Wert größer als $10.000 ist. 86(1RUWKZLQG 6(/(&72UGHU,'3URGXFW,' 8QLW3ULFH 4XDQWLW\ DV([WHQGHG$PRXQW )520>2UGHU'HWDLOV@ :+(5(8QLW3ULFH 4XDQWLW\ ! *2 2UGHU,' 3URGXFW,' ([WHQGHG$PRXQW URZV DIIHFWHG
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
6SUDFKHOHPHQWH]XU$EODXIVWHXHUXQJ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHGLH6SUDFK HOHPHQWHYRQ7UDQVDFW64/ YRUGLHGLH9HUDUEHLWXQJ YRQ$QZHLVXQJHQVWHXHUQ
Beispiel Beispiel 22
(LQVWLHJ
7UDQVDFW64/XQWHUVWW]W 6SUDFKHOHPHQWHGLHGHQ $EODXIGHU/RJLNLQ $QZHLVXQJHQVWHXHUQ
$QZHLVXQJVHEHQH z
%(*,1«(1'%O|FNH
z
,)«(/6(%O|FNH
z
:+,/(.RQVWUXNWH
=HLOHQHEHQH z
&$6()XQNWLRQ
'(&/$5(#QWLQ\LQW '(&/$5(#QWLQ\LQW 6(7#Q 6(7#Q ,)#Q%(7:((1DQG ,)#Q%(7:((1DQG %(*,1 %(*,1 :+,/(#Q! :+,/(#Q! %(*,1 %(*,1 6(/(&7#Q$6 1XPEHU
6(/(&7#Q$6 1XPEHU
&$6( &$6( :+(1#Q :+(1#Q 7+(1 (9(1
7+(1 (9(1
(/6( 2''
(/6( 2''
(1'$6 7\SH
(1'$6 7\SH
6(7#Q 6(7#Q #Q #Q (1' (1' (1' (1' (/6( (/6( 35,17 .HLQH$QDO\VH© 35,17 .HLQH$QDO\VH© *2 *2
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Transact-SQL enthält mehrere Sprachelemente, durch die der Ablauf der Logik in einer Anweisung gesteuert wird. Darüber hinaus enthält es die CASEFunktion, die es ermöglicht, eine bedingte Logik in einer einzelnen Zeile und innerhalb einer SELECT- oder UPDATE-Anweisung gleichzeitig zu verwenden.
$QZHLVXQJVHEHQH Mit den folgenden Sprachelementen können Sie den Ablauf der Logik innerhalb eines Skripts steuern: %(*,1(1'%O|FNH Diese Elemente schließen eine Reihe von Transact-SQL-Anweisungen ein, sodass sie als Einheit behandelt werden. ,)(/6(%O|FNH Diese Elemente geben an, dass SQL Server die erste Alternative ausführen soll, wenn eine bestimmte Bedingung erfüllt ist. Andernfalls soll SQL Server die zweite Alternative ausführen. :+,/(.RQVWUXNWH Durch diese Elemente wird eine Anweisung wiederholt ausgeführt, solange die angegebene Bedingung erfüllt ist. Mit den Anweisungen BREAK und CONTINUE wird die Ausführung der Anweisungen innerhalb einer WHILE-Schleife gesteuert. 7LSS Rücken Sie für eine bessere Lesbarkeit die Transact-SQL-Anweisungen innerhalb eines Blockes zur Ablaufsteuerung ein.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
%HLVSLHO
In diesem Beispiel wird ermittelt, ob für einen Kunden noch Bestellungen offen sind, bevor dieser Kunde aus der Kundenliste gelöscht wird. 86(1RUWKZLQG ,)(;,6766(/(&7 )520RUGHUV :+(5(FXVWRPHU,' IUDQN 35,17
.XQGHNDQQQLFKWJHO|VFKWZHUGHQ
(/6( %(*,1 '(/(7(FXVWRPHUV:+(5(FXVWRPHU,' IUDQN 35,17
.XQGHJHO|VFKW
(1' *2
=HLOHQHEHQH Eine CASE-Funktion listet Prädikate auf, weist jedem Prädikat einen Wert zu und testet dann jedes Prädikat. Wenn der Ausdruck in der WHEN-Klausel den Wert TRUE zurückgibt, gibt die CASE-Funktion den Ausdruck in der THENKlausel zurück. Wenn der Ausdruck den Wert FALSE zurückgibt und es wurde eine ELSE-Klausel angegeben, gibt SQL Server den Wert in der ELSE-Klausel zurück. Eine CASE-Funktion kann in jedem Ausdruck verwendet werden. 6\QWD[
CASE expression {WHEN expression THEN result} [,…n] [ELSE result] END
%HLVSLHO
Im folgenden Beispiel wird eine lokale Variable deklariert, danach überprüft, ob sie die Werte 4, 5 oder 6 hat, und, falls ja, über eine WHILE-Schleife ermittelt, ob es sich beim aktuellen Wert um eine gerade oder ungerade Zahl handelt.
0HWKRGLVFKHU+LQZHLV
:HLVHQ6LHGDUDXIKLQGDVV GXUFKGHQLQ%HLVSLHO YHUZHQGHWHQ(LQ]XJGHV %ORFNHVGLH/HVEDUNHLW YHUEHVVHUWZLUG
'(&/$5( #QWLQ\LQW 6(7 #Q ,)#Q%(7:((1DQG %(*,1 :+,/(#Q! %(*,1 6(/(&7#Q$6 1XPEHU &$6( :+(1#Q 7+(1 2'' (/6( (9(1 (1'$6 7\SH 6(7#Q #Q (1' (1' (/6( 35,17 .HLQH$QDO\VH *2
(UJHEQLV
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/ 1XPEHU
7\SH
URZV DIIHFWHG 1XPEHU
(9(1 7\SH
URZV DIIHFWHG 1XPEHU
2'' 7\SH
URZV DIIHFWHG 1XPEHU
(9(1 7\SH
URZV DIIHFWHG 1XPEHU
2'' 7\SH
URZV DIIHFWHG
(9(1
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
5HVHUYLHUWH6FKOVVHOZ|UWHU ,QKDOWGLHVHU)ROLH
0DFKHQ6LHGLH.XUVWHLO QHKPHUPLWGHP.RQ]HSW UHVHUYLHUWHU6FKOVVHOZ|UWHU YHUWUDXW
(LQVWLHJ
64/6HUYHUUHVHUYLHUW EHVWLPPWH6FKOVVHOZ|UWHU IUGLH9HUZHQGXQJGXUFK GDV6\VWHPYHUPHLGHQ6LH HVGLHVH6FKOVVHOZ|UWHU IUGLH1DPHQYRQ %H]HLFKQHUQ]XYHUZHQGHQ
%H]HLFKQHUQDPHQGLHHLQHVSH]LHOOH%HGHXWXQJKDEHQ z
7UDQVDFW64/6FKOVVHOZ|UWHU
z
$16,64/6FKOVVHOZ|UWHU
z
2'%&UHVHUYLHUWH6FKOVVHOZ|UWHU
9HUZHQGHQ6LHNHLQHUHVHUYLHUWHQ6FKOVVHOZ|UWHUIU %H]HLFKQHUQDPHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
=HLJHQ6LHGLHHUZHLWHUH /LVWHYRQ6FKOVVHOZ|UWHUQ DQGLHLQGHU64/6HUYHU 2QOLQHGRNXPHQWDWLRQ]X ILQGHQLVW
SQL Server reserviert bestimmte Schlüsselwörter für die ausschließliche Verwendung durch das System. Beispielsweise wird bei Verwendung der Schlüsselwörter DUMP oder BACKUP in einer osql- oder SQL Query Analyzer-Sitzung von SQL Server eine Sicherungskopie des gesamten Inhalts oder eines Teil einer Datenbank erstellt bzw. eine Sicherungskopie des Protokolls erstellt. Sie können an keinem Speicherort reservierte Schlüsselwörter in einer Transact-SQL-Anweisung einschließen, es sei denn, der Speicherort wird durch SQL Server definiert. Sie sollten es vermeiden, einem Objekt den Namen eines reservierten Schlüsselwortes zu geben. Wenn ein Objektname mit einem Schlüsselwort übereinstimmt, müssen Sie jedes Mal, wenn Sie auf das Objekt verweisen, das Objekt in begrenzende Bezeichner, wie z. B. Anführungszeichen oder Klammern [ ], einschließen. Die Systemadministrator- und Datenbankadministrator-Rollen oder der Datenbankersteller sind normalerweise dafür verantwortlich, Transact-SQL-Anweisungen und Datenbanknamen auf reservierte Schlüsselwörter hin zu überprüfen. $FKWXQJ Es ist möglich, syntaktisch richtige Transact-SQL-Anweisungen zu erstellen, die möglicherweise erfolgreich analysiert und kompiliert werden, die jedoch während der Ausführung einen Laufzeitfehler zurückgeben. Verwenden Sie optimalerweise keine reservierten Schlüsselwörter.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
hEXQJVHLQKHLW$9HUZHQGHQGHU64/6HUYHU 2QOLQHGRNXPHQWDWLRQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQH(LQIKUXQJ LQGLHhEXQJVHLQKHLW
(LQVWLHJ
,QGLHVHUhEXQJVHLQKHLWYHU ZHQGHQ6LHGLH64/6HUYHU 2QOLQHGRNXPHQWDWLRQXP ,QIRUPDWLRQHQ]X 64/6HUYHUDE]XUXIHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** (UOlXWHUQ6LHGLH/HUQ]LHOH GHUhEXQJVHLQKHLW
/HUQ]LHOH Am Ende dieser Übungseinheit werden Sie in der Lage sein, die folgenden Aufgaben auszuführen: • Anzeigen des Inhaltsverzeichnisses in der Microsoft SQL Server-Onlinedokumentation, Verwenden des Indexes, Suchen nach Informationen, sowie Speichern des Pfades der Informationen auf der Registerkarte Favoriten.
9RUDXVVHW]XQJHQ Keine
(LQULFKWHQGHUhEXQJVHLQKHLW Nicht erforderlich.
:HLWHUH,QIRUPDWLRQHQ Wenn Sie Hilfe bei der Ausführung von Dateien benötigen, suchen Sie in der Hilfe zu SQL Query Analyzer nach „Ausführen einer Abfrage“. Daneben sind die folgenden Informationsquellen verfügbar:
Das Northwind-Datenbankschema.
Die SQL Server-Onlinedokumentation.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
6]HQDULR Der Aufbau des Schulungsraumes soll die Organisation des weltweit agierenden Handelsunternehmens Northwind Traders widerspiegeln. Das Unternehmen hat den fiktiven Domänennamen nwtraders.msft. Der primäre DNS-Server für nwtraders.msft ist der Kursleitercomputer, der die Internetprotokolladresse (IP-Adresse) 192.168.x.200 besitzt (wobei x die zugewiesene Schulungsraumnummer ist). Der Name des Kursleitercomputers ist London. Die folgende Tabelle stellt den Benutzernamen, den Computernamen und die IP-Adresse für jeden Kursteilnehmercomputer in der fiktiven Domäne nwtraders.msft bereit. Suchen Sie den Benutzernamen Ihres Computers, und notieren Sie ihn. Benutzername
Computername
IP-Adresse
SQLAdmin1
Vancouver
192.168.x.1
SQLAdmin2
Denver
192.168.x.2
SQLAdmin3
Perth
192.168.x.3
SQLAdmin4
Brisbane
192.168.x.4
SQLAdmin5
Lisbon
192.168.x.5
SQLAdmin6
Bonn
192.168.x.6
SQLAdmin7
Lima
192.168.x.7
SQLAdmin8
Santiago
192.168.x.8
SQLAdmin9
Bangalore
192.168.x.9
SQLAdmin10
Singapore
192.168.x.10
SQLAdmin11
Casablanca
192.168.x.11
SQLAdmin12
Tunis
192.168.x.12
SQLAdmin13
Acapulco
192.168.x.13
SQLAdmin14
Miami
192.168.x.14
SQLAdmin15
Auckland
192.168.x.15
SQLAdmin16
Suva
192.168.x.16
SQLAdmin17
Stockholm
192.168.x.17
SQLAdmin18
Moscow
192.168.x.18
SQLAdmin19
Caracas
192.168.x.19
SQLAdmin20
Montevideo
192.168.x.20
SQLAdmin21
Manila
192.168.x.21
SQLAdmin22
Tokyo
192.168.x.22
SQLAdmin23
Khartoum
192.168.x.23
SQLAdmin24
Nairobi
192.168.x.24
9HUDQVFKODJWH=HLWIUGLHhEXQJVHLQKHLW0LQXWHQ
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
hEXQJ 9HUZHQGHQGHU64/6HUYHU2QOLQHGRNXPHQWDWLRQ In dieser Übung werden Sie in der SQL Server-Onlinedokumentation nach Informationen zu SQL Server suchen.
Ç So zeigen Sie das Inhaltsverzeichnis von „Erste Schritte“ in der SQL Server-Onlinedokumentation an
Mit diesem Verfahren zeigen Sie das Inhaltsverzeichnis der SQL ServerOnlinedokumentation an und machen sich mit den in der Dokumentation verwendeten Konventionen vertraut. 1. Melden Sie sich an der Schulungsdomäne nwtraders mit Hilfe der Informationen in der folgenden Tabelle an. Option
Eingabe
Benutzername
SQLAdminx (wobei x die Ihrem Computernamen zugewiesene Nummer ist, wie in der Schulungsraumdomäne nwtraders.msft festgelegt)
Kennwort
password
2. Klicken Sie auf der Taskleiste auf die Schaltfläche Start, zeigen Sie auf Programme, anschließend auf Microsoft SQL Server, und klicken Sie dann auf Onlinedokumentation. $QPHUNXQJ Sie können auf die Themen zur SQL Server-Installation in der SQL Server-Onlinedokumentation direkt über die SQL Server 2000-CD zugreifen. Legen Sie die SQL Server 2000-CD in das CD-ROM-Laufwerk ein, und klicken sie im Dialogfeld Microsoft SQL Server auf Hilfe zu Setup/Aktualisierung durchsuchen.
3. Überprüfen Sie in der Konsolenstruktur die Organisation der SQL ServerOnlinedokumentation. 4. Klicken Sie auf der Registerkarte Inhalt in der Liste Aktive Untermenge auf Gesamte Sammlung, und überprüfen Sie anschließend den Inhalt von Erste Schritte. 5. Erweitern Sie in der Konsolenstruktur Erste Schritte mit der SQL ServerOnlinedokumentation, und klicken Sie dann auf Typografische Vereinbarungen. Überprüfen Sie die Informationen im Detailbereich. 6. Erweitern Sie in der Konsolenstruktur Verwenden des HTML-HilfeViewers, erweitern Sie Verwenden der SQL Server-Onlinedokumentation, und klicken Sie dann auf Finden eines Themas. Überprüfen Sie die Informationen im Detailbereich. 7. Erweitern Sie in der Konsolenstruktur Finden eines Themas, und klicken Sie dann auf Verwenden der Registerkarte "Suchen". Überprüfen Sie die Informationen im Detailbereich.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
Ç So rufen Sie mit dem Index der SQL Server-Onlinedokumentation Informationen zur „Northwind“-Beispieldatenbank ab
Mit diesem Verfahren zeigen Sie mit dem Index der SQL Server-Onlinedokumentation auf einfache Weise Informationen zur Northwind-Beispieldatenbank an. 1. Klicken Sie auf die Registerkarte Index, und geben Sie dann Northwind ein. 2. Doppelklicken Sie auf Northwind-Beispieldatenbank. 3. Doppelklicken Sie im Dialogfeld Themen gefunden auf NorthwindBeispieldatenbank. Überprüfen Sie die Informationen im Detailbereich. 4. Klicken Sie auf die Registerkarte Favoriten, und klicken Sie dann auf Hinzufügen. 5. Klicken Sie auf die Registerkarte Inhalt, erweitern Sie dann in der Konsolenstruktur Northwind-Beispieldatenbank, und beachten Sie die verfügbaren Themen.
Ç So suchen Sie in der SQL Server-Onlinedokumentation nach einem Wort oder einem Satz
Mit diesem Verfahren suchen Sie in der SQL Server-Onlinedokumentation nach Informationen zur Architektur von SQL Server. 1. Klicken Sie auf die Registerkarte Suchen, aktivieren Sie das Kontrollkästchen Ähnliche Wörter suchen; deaktivieren Sie das Kontrollkästchen Nur Titel suchen. 2. Geben Sie sql NEAR Architektur auf der Registerkarte Suchen ein, und klicken Sie dann auf Themen auflisten. Achten Sie auf die Anzahl gefundener Themen. 3. Deaktivieren Sie auf der Registerkarte Suchen das Kontrollkästchen Ähnliche Wörter suchen; aktivieren Sie das Kontrollkästchen Nur Titel suchen, und klicken Sie dann auf Themen auflisten. Es werden nur zwei Themen gefunden. 4. Doppelklicken Sie auf Grundlegendes zur SQL Server-Architektur. 5. Klicken Sie auf den Detailbereich, und drücken Sie dann STRG+F. 6. Geben Sie in das Feld Suchen nach die Zeichenfolge oltp ein, und klicken Sie auf Weitersuchen. $QPHUNXQJ Die Suche findet das erste Vorkommen von oltp. Möglicherweise müssen Sie das Dialogfeld Suchen nach verschieben, um die Auswahl anzuzeigen.
7. Schließen Sie die SQL Server-Onlinedokumentation.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
/HUQ]LHONRQWUROOH ,QKDOWGLHVHU)ROLH
9HUWLHIHQ6LHGLH/HUQ]LHOH GLHVHU8QWHUULFKWVHLQKHLW LQGHP6LHGLH.HUQSXQNWH ZLHGHUKROHQ
(LQVWLHJ
'LH)UDJHQ]XU/HUQ]LHO NRQWUROOHEH]LHKHQVLFKDXI HLQLJHGHU6FKOVVHONRQ ]HSWHGLH,QKDOWGLHVHU 8QWHUULFKWVHLQKHLWVLQG
'LH3URJUDPPLHUVSUDFKH7UDQVDFW64/
7\SHQYRQ7UDQVDFW64/$QZHLVXQJHQ
7UDQVDFW64/6\QWD[HOHPHQWH
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** *HKHQ6LHDQKDQGGLHVHU )UDJHQGLH7KHPHQGHU 8QWHUULFKWVHLQKHLWGXUFK .OlUHQ6LHDQGHUHRIIHQH )UDJHQGHU.XUVWHLOQHKPHU EHYRU6LHIRUWIDKUHQ
1. Beschreiben Sie die grundlegenden Typen von Transact-SQL-Anweisungen und deren Verwendungsmöglichkeiten. DDL-Anweisungen (Data Definition Language), mit denen Sie Objekte in der Datenbank erstellen können. DCL-Anweisungen (Data Control Language), mit denen Sie ermitteln können, wer die Daten anzeigen und ändern kann. DML-Anweisungen (Data Manipulation Language), mit denen Sie die Daten abfragen und ändern können.
2. Inwiefern steht Transact-SQL mit der ANSI SQL-92-Spezifikation im Zusammenhang? Transact-SQL implementiert die Spezifikation der ANSI SQL-92Eingangsstufe und stellt mit speziellen SQL Server-Erweiterungen zusätzliche Funktionalität bereit.
8QWHUULFKWVHLQKHLW(LQIKUXQJLQ7UDQVDFW64/
This page is intentionally left blank.
Unterrichtseinheit 2: Verwenden von TransactSQL-Abfragetools Inhalt Übersicht
1
SQL Query Analyzer
2
Verwenden des Objektkatalogs in SQL Query Analyzer
3
Verwenden von Vorlagen in SQL Query Analyzer
5
Verwenden des Dienstprogramms „osql“
6
Ausführen von Transact-SQLAnweisungen
9
Empfohlene Methoden
15
Übungseinheit A: Erstellen und Ausführen von Transact-SQL-Skripts
16
Lernzielkontrolle
22
Die in diesen Unterlagen enthaltenen Angaben und Daten, einschließlich URLs und anderer Verweise auf Internetwebsites, können ohne vorherige Ankündigung geändert werden. Die in den Beispielen genannten Firmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden und jede Ähnlichkeit mit bestehenden Firmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten oder Ereignissen ist rein zufällig, soweit nichts anderes angegeben ist. Die Benutzer sind verantwortlich für das Einhalten aller anwendbaren Urheberrechtsgesetze. Unabhängig von der Anwendbarkeit der entsprechenden Urheberrechtsgesetze darf ohne ausdrückliche schriftliche Erlaubnis der Microsoft Corporation kein Teil dieses Dokuments für irgendwelche Zwecke vervielfältigt oder in einem Datenempfangssystem gespeichert oder darin eingelesen werden, unabhängig davon, auf welche Art und Weise oder mit welchen Mitteln (elektronisch, mechanisch, durch Fotokopieren, Aufzeichnen, usw.) dies geschieht. Microsoft Corporation kann Inhaber von Patenten oder Patentanträgen, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten sein, die den Inhalt dieses Dokuments betreffen. Die Bereitstellung dieses Dokuments gewährt keinerlei Lizenzrechte an diesen Patenten, Marken, Urheberrechten oder anderen gewerblichen Schutzrechten, es sei denn, dies wurde ausdrücklich durch einen schriftlichen Lizenzvertrag mit der Microsoft Corporation vereinbart. 2001 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, BackOffice, MS-DOS, PowerPoint, Visual Studio, Windows, Windows Media und Windows NT sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Die in diesem Dokument aufgeführten Namen tatsächlicher Firmen und Produkte sind möglicherweise Marken der jeweiligen Eigentümer.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
LLL
+LQZHLVHIUGHQ.XUVOHLWHU 3UlVHQWDWLRQ 0LQXWHQ hEXQJVHLQKHLW 0LQXWHQ
Microsoft® SQL Server™ 2000 stellt eine Reihe von Abfragetools bereit, mit deren Hilfe Sie Transact-SQL-Skripts ausführen können. Diese Unterrichtseinheit beschreibt, wie SQL Query Analyzer und das Befehlszeilendienstprogramm osql verwendet werden und auf welche Arten Transact-SQLAnweisungen ausgeführt werden können. Am Ende dieser Unterrichtseinheit werden die Kursteilnehmer in der Lage sein, die folgenden Aufgaben auszuführen:
Beschreiben der Grundfunktionen von SQL Query Analyzer.
Beschreiben, wie der Objektkatalog in SQL Query Analyzer verwendet wird.
Beschreiben, wie die Vorlagen in SQL Query Analyzer verwendet werden.
Beschreiben, wie das Befehlszeilendienstprogramm osql verwendet wird.
Ausführen von Transact-SQL-Anweisungen auf verschiedene Arten.
8QWHUODJHQXQG9RUEHUHLWXQJ In diesem Abschnitt werden die erforderlichen Unterlagen und vorbereitenden Aufgaben erläutert, die nötig sind, um diese Unterrichtseinheit zu unterrichten.
(UIRUGHUOLFKH8QWHUODJHQ Um diese Unterrichtseinheit zu unterrichten, benötigen Sie folgende Unterlagen:
Die Microsoft PowerPoint®-Datei 2316B_02.ppt
Die Beispieldatei C:\Moc\2316B\Demo\Ex_02.sql, die alle Beispielskripts der Unterrichtseinheit enthält, soweit in der Unterrichtseinheit nichts anderes angegeben ist.
9RUEHUHLWHQGH$XIJDEHQ Zur Vorbereitung dieser Unterrichtseinheit gehen Sie folgendermaßen vor:
Lesen Sie alle Unterlagen für diese Unterrichtseinheit.
Arbeiten Sie die Übungseinheit durch.
LY
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
6WUDWHJLHIUGLH8QWHUULFKWVHLQKHLW Verwenden Sie die folgende Strategie, um diese Unterrichtseinheit zu präsentieren:
SQL Query Analyzer Geben Sie eine Einführung in SQL Query Analyzer. Führen Sie die Grundfunktionen von SQL Query Analyzer vor. Heben Sie hervor, dass die Kursteilnehmer eine Abfrage ganz oder teilweise ausführen, Ergebnisse in einem Raster anzeigen und einen Ausführungsplan erstellen können. Verweisen Sie darauf, dass SQL Query Analyzer die Syntax automatisch farbig kennzeichnet und dass die Kursteilnehmer mit mehreren Abfragefenstern arbeiten und Teilskripts ausführen können.
Verwenden des Objektkatalogs in SQL Query Analyzer Heben Sie hervor, dass die Kursteilnehmer mit Hilfe des Objektkatalogs in SQL Query Analyzer Objekte suchen, Skripts für Objekte erstellen und viele Eingabe- und Syntaxfehler vermeiden können.
Verwenden von Vorlagen in SQL Query Analyzer Beschreiben Sie den Zweck und die Verwendung der Vorlagen, die SQL Query Analyzer bereitstellt. Führen Sie kurz vor, wie der Zugriff auf die Vorlagen erfolgt, und zeigen Sie die Arbeitsweise der grafischen Benutzeroberfläche. Wiederholen Sie die Definitionen der Vorlagenparameter.
Verwenden des Dienstprogramms osql Beschreiben Sie, wann und wie das Befehlszeilendienstprogramm osql verwendet wird. Sollten Kursteilnehmer nach dem Dienstprogramm isql fragen, weisen Sie darauf hin, dass es nicht in diesem Kurs behandelt wird, da es DB-Library für den Datenaustausch mit dem Server verwendet und Unicode-Datentypen nicht unterstützt.
Ausführen von Transact-SQL-Anweisungen Machen Sie die Kursteilnehmer mit den verschiedenen Arten des Ausführens von Transact-SQL-Anweisungen vertraut. Dazu zählen das dynamische Erstellen von Anweisungen, das Übergeben von Batches und das Ausführen von Skripts. Führen Sie diese Verfahren nach Möglichkeit mit Hilfe von SQL Query Analyzer vor.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
Y
$QSDVVXQJVLQIRUPDWLRQHQ Dieser Abschnitt beschreibt die Anforderungen zum Einrichten der Übungseinheiten für eine Unterrichtseinheit sowie die Konfigurationsänderungen, die während der Übungseinheiten an den Kursteilnehmercomputern vorgenommen werden. Diese Informationen sollen Ihnen beim Replizieren oder Anpassen der Microsoft Official Curriculum-Courseware (MOC) helfen. :LFKWLJ Die Übungseinheit in dieser Unterrichtseinheit hängt von der Schulungsraumkonfiguration ab, die im Abschnitt „Anpassungsinformationen“ am Ende des Dokuments Handbuch für das Einrichten von Schulungscomputern für den Kurs 2316B, Abfragen von Microsoft SQL Server 2000 mit Hilfe von Transact-SQL, angegeben ist.
(LQULFKWHQGHUhEXQJVHLQKHLW Es gibt keine Anforderungen zum Einrichten der Übungseinheit, die die Replikation oder die Anpassung betreffen.
(UJHEQLVVHGHUhEXQJVHLQKHLW Auf den Kursteilnehmercomputern gibt es keine Konfigurationsänderungen, die die Replikation oder die Anpassung betreffen.
YL
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
This page is intentionally left blank.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
hEHUVLFKW ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHhEHUVLFKW EHUGLH7KHPHQXQG/HUQ ]LHOHGLHVHU8QWHUULFKWV HLQKHLW
(LQVWLHJ
,QGLHVHU8QWHUULFKWVHLQKHLW OHUQHQ6LHHLQLJH$EIUDJH WRROVNHQQHQGLH 64/6HUYHU]XP$XVIKUHQ YRQ7UDQVDFW64/6NULSWV EHUHLWVWHOOW
64/4XHU\$QDO\]HU
9HUZHQGHQGHV2EMHNWNDWDORJVLQ64/4XHU\ $QDO\]HU
9HUZHQGHQYRQ9RUODJHQLQ64/4XHU\ $QDO\]HU
9HUZHQGHQGHV'LHQVWSURJUDPPV µRVTO§
$XVIKUHQYRQ 7UDQVDFW64/$QZHLVXQJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Microsoft® SQL Server™ 2000 stellt eine Reihe von Abfragetools bereit, mit deren Hilfe Sie Transact-SQL-Skripts ausführen können. Diese Unterrichtseinheit beschreibt, wie SQL Query Analyzer und das Befehlszeilendienstprogramm osql verwendet werden und auf welche Arten Transact-SQLAnweisungen ausgeführt werden können. Am Ende dieser Unterrichtseinheit werden Sie in der Lage sein, die folgenden Aufgaben auszuführen:
Beschreiben der Grundfunktionen von SQL Query Analyzer.
Beschreiben, wie der Objektkatalog in SQL Query Analyzer verwendet wird.
Beschreiben, wie die Vorlagen in SQL Query Analyzer verwendet werden.
Beschreiben, wie das Befehlszeilendienstprogramm osql verwendet wird.
Ausführen von Transact-SQL-Anweisungen auf verschiedene Arten.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
64/4XHU\$QDO\]HU ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQH(LQIKUXQJ LQ64/4XHU\$QDO\]HU
(LQVWLHJ
0LW64/4XHU\$QDO\]HULQ 64/6HUYHUN|QQHQ $EIUDJHDQZHLVXQJHQXQG (UJHEQLVVHJUDILVFKDQJH ]HLJWZHUGHQ
(GLWRUIUGLHIUHLH7H[WHLQJDEH
)DUELJH.HQQ]HLFKQXQJ YRQ7UDQVDFW64/6\QWD[
0HKUHUH $EIUDJHIHQVWHU PLW5DVWHU RGHU7H[WDXVJDEH
$XVIKUXQJYRQ7HLOVNULSWV
$EIUDJHDXVIKUXQJVLQIRUPDWLRQHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
)KUHQ6LH64/4XHU\ $QDO\]HUYRU=HLJHQ6LH GHQ.XUVWHLOQHKPHUQGLH *UXQGHOHPHQWHGHV64/ 4XHU\$QDO\]HU)HQVWHUV GLHGUHL$UWHQGHU$EIUDJH DXVIKUXQJGLHIDUELJH .HQQ]HLFKQXQJGHU6\QWD[ XQGGDVgIIQHQXQG 6SHLFKHUQHLQHV6NULSWV
Mit SQL Query Analyzer in SQL Server können Abfrageanweisungen und Ergebnisse grafisch angezeigt werden. Darüber hinaus können Sie SQL Query Analyzer zum Schreiben, Ändern und Speichern von Transact-SQL-Skripts verwenden. SQL Query Analyzer stellt darüber hinaus Tools bereit, mit denen ermittelt werden kann, wie SQL Server eine Transact-SQL-Anweisung interpretiert und bearbeitet. SQL Query Analyzer schließt ein:
Einen Editor für die freie Texteingabe. Der Editor verfügt über erweiterte Textbearbeitungsfunktionen, wie z. B. Blockeinrückungen, blockweises Auskommentieren und Entfernen von Kommentaren und Umwandlung in Großbuchstaben oder Kleinbuchstaben.
Farbige Kennzeichnung. Wenn Sie eine Abfrage erstellen, markiert SQL Query Analyzer Schlüsselwörter, Zeichenfolgen und andere Sprachelemente mit von Ihnen festgelegten Farbeinstellungen.
Mehrere Abfragefenster mit Raster- oder Textausgabe. Jedes Abfragefenster besitzt eine eigene Verbindung zu einem SQL Server. Das Ergebnis kann in einem Textfenster oder in einem Raster angezeigt werden.
Ausführung von Teilskripts. Mit Hilfe dieser Funktion können Sie Teile eines Skripts ausführen. Wenn Sie Teile eines Skripts auswählen, führt SQL Server nur diese Teile aus.
Abfrageausführungsinformationen. Die Abfrageausführungsinformationen schließen Clientstatistiken, Server-Ablaufverfolgungsinformationen und -Ausführungsplandaten ein. Diese Informationen können zur Optimierung und Problembehebung der Skripts verwendet werden.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQGHV2EMHNWNDWDORJVLQ64/4XHU\$QDO\]HU ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQH(LQIKUXQJ LQGHQ2EMHNWNDWDORJLQ64/ 4XHU\$QDO\]HU
'HU2EMHNWNDWDORJHUP|JOLFKWGDV1DYLJLHUHQ LQGHU %DXPDQVLFKWGHU2EMHNWHLQHLQHU'DWHQEDQN
0LW+LOIHGHV2EMHNWNDWDORJVN|QQHQ6LH)ROJHQGHVWXQ
(LQVWLHJ
0LWGHP2EMHNWNDWDORJLQ 64/4XHU\$QDO\]HUN|Q QHQ6LHLQGHU%DXPDQVLFKW GHU2EMHNWHLQHLQHU'DWHQ EDQNQDYLJLHUHQXQGHLQHQ 'ULOOGRZQDXIHLQEHVWLPP WHV2EMHNWDXVIKUHQ
z
(UVWHOOHQYRQ6NULSWVIU2EMHNWH
z
$XVIKUHQJHVSHLFKHUWHU3UR]HGXUHQ
z
gIIQHQYRQ7DEHOOHQ
z
bQGHUQYRQ2EMHNWHQLQGHU'DWHQEDQN
z
9HUZHQGHQYRQ7UDQVDFW64/9RUODJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Mit dem Objektkatalog in SQL Query Analyzer können Sie in der Baumansicht der Objekte in einer Datenbank navigieren und einen Drilldown auf ein bestimmtes Objekt ausführen. Der Objektkatalog erstellt auch Skripts für Objekte, führt gespeicherte Prozeduren aus und erlaubt den Zugriff auf Tabellen und Sichten. Mit Hilfe des Objektkatalogs können Sie Folgendes tun:
Erstellen von Skripts für Objekte. Welche Operationen der Objektkatalog unterstützt, hängt vom Objekttyp ab. Beispielsweise können Tabellenobjekte Skripts generieren, die SELECTAnweisungen, DDL-Anweisungen (Data Definition Language) wie z. B. CREATE oder DML-Anweisungen (Data Manipulation Language) wie z. B. INSERT enthalten.
Ausführen gespeicherter Prozeduren. Wenn Sie eine gespeicherte Prozedur mit Parametern ausführen, fordert der Objektkatalog Sie zur Eingabe von Werten auf.
Öffnen von Tabellen. Der Objektkatalog zeigt Abfrageergebnisse separat an. Sie können Zeilen bearbeiten, einfügen oder ändern.
Ändern von Objekten in der Datenbank. Sie können Objekte in einer Datenbank anzeigen und bearbeiten. Der Objektkatalog zeigt eine ALTER-Anweisung für das ausgewählte Objekt im Editorbereich an. Wenn das ausgewählte Objekt beispielsweise eine gespeicherte Prozedur ist, stellt der Objektkatalog eine ALTER PROCEDURE-Anweisung bereit. Sie können diese ALTER-Anweisung verwenden, um die Änderungen anzugeben, und sie dann ausführen.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
Verwenden von Transact-SQL-Vorlagen. Diese Vorlagen enthalten Transact-SQL-Skripts, mit deren Hilfe Sie Objekte in der Datenbank erstellen können. Sie können die Vorlagen für folgende Aufgaben verwenden: • Erstellen von Datenbanken, Tabellen, Sichten, Indizes, gespeicherten Prozeduren, Triggern, Statistiken und Funktionen. • Verwalten von erweiterten Eigenschaften, Verbindungsservern, Anmeldekonten, Rollen und Benutzern. • Deklarieren und Verwenden von Cursorn. • Anpassen von Skripts.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQYRQ9RUODJHQLQ64/4XHU\$QDO\]HU ,QKDOWGLHVHU)ROLH
%HVFKUHLEHQ6LHZLH9RU ODJHQLQ64/4XHU\ $QDO\]HUYHUZHQGHWZHUGHQ
(LQVWLHJ
9RUODJHQ z
64/4XHU\$QDO\]HU VFKOLHW9RUODJHQHLQGLH 6LHDOV$XVJDQJVSXQNWEHLP (UVWHOOHQYRQ2EMHNWHQLQ HLQHU'DWHQEDQNYHUZHQGHQ N|QQHQ
z
6LQG$XVJDQJVSXQNWHEHLP(UVWHOOHQYRQ2EMHNWHQLQ HLQHU'DWHQEDQN (QWKDOWHQ3DUDPHWHUGLHGDV$QSDVVHQYRQ6NULSWV XQWHUVWW]HQ
)RUPDWIU GLH'HILQLWLRQHQ GHU 9RUODJHQSDUDPHWHU 3DUDPHWHUQDPH'DWHQW\S:HUW!
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
%HVFKUHLEHQ6LHGHQ=ZHFN XQGGLH9HUZHQGXQJGHU 9RUODJHQGLH64/4XHU\ $QDO\]HUEHUHLWVWHOOW )KUHQ6LHNXU]YRUZLHGHU =XJULIIDXIGLH9RUODJHQ HUIROJWXQG]HLJHQ6LHGLH $UEHLWVZHLVHGHUJUDILVFKHQ %HQXW]HUREHUIOlFKH 9HUZHLVHQ6LHGLH.XUVWHLO QHKPHUIUZHLWHUH,QIRUPD WLRQHQDXIGLH64/6HUYHU 2QOLQHGRNXPHQWDWLRQ
SQL Query Analyzer schließt Vorlagen ein, die Sie als Ausgangspunkt beim Erstellen von Objekten in einer Datenbank verwenden können. SQL Server stellt zahlreiche Vorlagen im Verzeichnis Templates\SQL Query Analyzer bereit. Dazu zählen u. a. die Vorlagen zum Erstellen von Datenbanken, Tabellen, Sichten, Indizes, gespeicherten Prozeduren, Triggern, Statistiken und Funktionen. Weitere Vorlagen in diesem Verzeichnis unterstützen Sie beim Verwalten von erweiterten Eigenschaften, Verbindungsservern, Anmeldekonten, Rollen und Benutzern sowie beim Deklarieren und Verwenden von Cursorn. Die von SQL Query Analyzer bereitgestellten Vorlagenskripts enthalten Parameter, die das Anpassen von Skripts unterstützen. Die Definitionen der Vorlagenparameter verwenden das folgende Format: 3DUDPHWHUQDPH'DWHQW\S:HUW!
Die folgende Tabelle beschreibt das Format und die Definition der Vorlagenparameter: Format
Definition des Vorlagenparameters
Name des Skriptparameters.
Datentyp des Parameters.
Wert, der jedes Auftreten des Parameters im Skript ersetzen soll.
Sie fügen mit Hilfe eines Dialogfeldes die Werte in das Skript ein. Wenn Sie beispielsweise eine Funktion aus dem Objektkatalog abrufen, enthält die Funktion, die in den Editorbereich geschrieben wird, Parameterdefinitionen für alle Argumente der Funktion. Im Dialogfeld Vorlageparameter ersetzen geben Sie dann die Argumentwerte an.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQGHV'LHQVWSURJUDPPVµRVTO§ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQH(LQIKUXQJ LQGDV'LHQVWSURJUDPP RVTO
6WDUWHQGHV %HIHKOV]HLOHQGLHQVWSURJUDPPVµRVTO§
(LQVWLHJ
9HUZHQGHQGHVLQWHUDNWLYHQ0RGXV
9HUZHQGHQGHV6NULSWDXVIKUXQJVPRGXV
9HUZHQGHQYRQHUZHLWHUWHQ RVTO6NULSWEHIHKOHQ
'DV'LHQVWSURJUDPPRVTO LVWHLQ%HIHKOV]HLOHQGLHQVW SURJUDPP]XP$EIUDJHQ YRQ64/6HUYHU
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** :HLWHUH,QIRUPDWLRQHQ
'DV'LHQVWSURJUDPPLVTO ZLUGLQGLHVHP.XUVQLFKW EHKDQGHOWGDHV'%/LEUDU\ IUGHQ'DWHQDXVWDXVFKPLW GHP6HUYHUYHUZHQGHWXQG 8QLFRGH'DWHQW\SHQQLFKW XQWHUVWW]W
Das Dienstprogramm osql ist ein Befehlszeilendienstprogramm für die interaktive Ad-hoc-Ausführung von Transact-SQL-Anweisungen und -Skripts. Benutzer, die das Befehlszeilendienstprogramm osql verwenden möchten, müssen mit Transact-SQL vertraut sein und wissen, wie Skripts an der Eingabeaufforderung ausgeführt werden. Das Befehlszeilendienstprogramm osql verwendet SQL Server ODBC (Open Database Connectivity), um mit dem Server Daten auszutauschen, und unterliegt den Einschränkungen und dem Verhalten der ODBC-API (Application Programming Interface, Schnittstelle für Anwendungsprogrammierung).
6WDUWHQGHV%HIHKOV]HLOHQGLHQVWSURJUDPPVµRVTO§ Sie starten das Befehlszeilendienstprogramm osql direkt vom Betriebssystem aus mit den unten aufgeführten Optionen (Groß-/Kleinschreibung beachten). Sie können osql in einer Batchdatei oder an der Eingabeaufforderung aufrufen. Bei einer Batchdatei handelt es sich um eine Gruppe von Befehlszeilenkommandos, die als Gruppe ausgeführt werden.
9HUZHQGHQGHVLQWHUDNWLYHQ0RGXV Das Befehlszeilendienstprogramm osql akzeptiert Transact-SQL-Anweisungen und sendet diese interaktiv an SQL Server. Das Ergebnis wird formatiert und auf dem Bildschirm angezeigt. Verwenden Sie die GO-Anweisung, um Transact-SQL-Anweisungen im Eingabepuffer auszuführen. Verwenden Sie die QUIT- oder EXIT-Anweisung, um das Befehlszeilendienstprogramm osql zu beenden.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQGHV6NULSWDXVIKUXQJVPRGXV Benutzer übergeben einen osql-Batch, indem sie eine Transact-SQL-Anweisung angeben, die ausgeführt werden soll, oder indem sie auf eine Textdatei verweisen, die die auszuführenden Transact-SQL-Anweisungen enthalten. Die Ausgabe wird in der Regel in eine Textdatei geleitet, kann aber auch im Fenster mit der Eingabeaufforderung angezeigt werden. 7HLOV\QWD[
osql [-S Server] [-E] [-U Benutzername] [-P Kennwort] [-i Eingabedatei] [-o Ausgabedatei] [-?] $QPHUNXQJ Bei den Parametern in osql-Anweisungen wird zwischen Großund Kleinschreibung unterschieden.
0HWKRGLVFKHU+LQZHLV
:HLVHQ6LHGDUDXIKLQGDVV $UJXPHQWHPLWHLQHP *HGDQNHQVWULFK RGHU HLQHP6FKUlJVWULFK EHJLQQHQN|QQHQ 9HUZHLVHQ6LHGLH.XUVWHLO QHKPHUIUZHLWHUH,QIRUPD WLRQHQDXIGLH64/6HUYHU 2QOLQHGRNXPHQWDWLRQ6XFK EHJULIIÄRVTO'LHQVW SURJUDPP ³
Denken Sie daran, dass Argumente mit einem Gedankenstrich (-) oder einem Schrägstrich (/) beginnen können. Die folgende Tabelle beschreibt die am häufigsten verwendeten Argumente. Argument
Beschreibung
-S Server
Gibt die SQL Server-Installation an, zu der eine Verbindung hergestellt wird. Server ist der Name des Servercomputers im Netzwerk. Diese Option ist erforderlich, wenn Sie osql von einem Remotecomputer aus über ein Netzwerk ausführen möchten.
-E
Verwendet eine vertraute Verbindung, anstatt ein Kennwort anzufordern.
-U Benutzername
Der Benutzername. Bei Benutzernamen wird zwischen Groß- und Kleinschreibung unterschieden. Wird weder die Option -U noch -P verwendet, verwendet SQL Server das aktuell angemeldete Benutzerkonto und fordert nicht zur Eingabe eines Kennwortes auf.
-P Kennwort
Ein vom Benutzer angegebenes Kennwort. Wenn die Option -P nicht verwendet wird, fordert osql zur Eingabe eines Kennwortes auf. Wenn die Option -P ohne Kennwort am Ende der Befehlszeile steht, verwendet osql das Standardkennwort (NULL). Bei Kennwörtern wird zwischen Groß- und Kleinschreibung unterschieden. Wird weder die Option -U noch -P verwendet, verwendet SQL Server das aktuell angemeldete Benutzerkonto und fordert nicht zur Eingabe eines Kennwortes auf.
-i Eingabedatei
Identifiziert die Datei, die einen Batch mit Transact-SQL-Anweisungen oder gespeicherten Prozeduren enthält. Anstelle von -i kann das Kleiner als-Zeichen () verwendet werden. Wenn die Eingabedatei das Unicode-Format hat, wird die Ausgabedatei im Unicode-Format gespeichert, wenn -o eingestellt ist. Wenn die Eingabedatei nicht das Unicode-Format hat, wird die Ausgabedatei im OEM-Format gespeichert.
-?
Zeigt die Syntaxzusammenfassung der osql-Optionen an.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQYRQHUZHLWHUWHQRVTO6NULSWEHIHKOHQ Das Befehlszeilendienstprogramm osql kann auch Befehle verarbeiten, die nicht aus Transact-SQL-Anweisungen bestehen. Das Befehlszeilendienstprogramm osql erkennt diese Befehle allerdings nur, wenn sie am Zeilenfang oder unmittelbar hinter der osql-Eingabeaufforderung stehen. Weitere Anweisungen auf derselben Zeile führen zu einem Fehler. Die folgende Tabelle beschreibt diese zusätzlichen Anweisungen. Befehl
Beschreibung
GO
Führt alle Befehle aus, die nach dem letzten GO-Befehl eingegeben wurden.
RESET
Löscht alle Anweisungen, die Sie eingegeben haben.
ED
Ruft den Editor auf.
!! Befehl
Führt einen Betriebssystembefehl aus.
QUIT oder EXIT( )
Beendet osql.
STRG+C
Beendet eine Abfrage, ohne osql zu beenden.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
$XVIKUHQYRQ7UDQVDFW64/$QZHLVXQJHQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHhEHUVLFKW EHUGLH$UWHQGHU$XV IKUXQJYRQ7UDQVDFW64/ $QZHLVXQJHQ
(LQVWLHJ
7UDQVDFW64/$QZHLVXQJHQ N|QQHQDXIYHUVFKLHGHQH $UWHQDXVJHIKUWZHUGHQ
'\QDPLVFKHV(UVWHOOHQYRQ$QZHLVXQJHQ
9HUZHQGHQYRQ%DWFKHV
9HUZHQGHQYRQ6NULSWV
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Transact-SQL-Anweisungen können auf verschiedene Arten ausgeführt werden:
Dynamisches Erstellen von Anweisungen zur Laufzeit.
Verwenden von Batches, um gemeinsam auszuführende Anweisungen zu gruppieren.
Verwenden von Skripts, um Batches in einer Datei zur späteren Verwendung zu speichern.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
'\QDPLVFKHV(UVWHOOHQYRQ$QZHLVXQJHQ ,QKDOWGLHVHU)ROLH
(UOlXWHUQ6LHGHQ.XUVWHLO QHKPHUQGLHG\QDPLVFKH $XVIKUXQJYRQ$QZHL VXQJHQ
9HUZHQGXQJYRQ(;(&87($QZHLVXQJPLW=HLFKHQ IROJHQOLWHUDOHQ XQG9DULDEOHQ
(LQVWLHJ
9HUZHQGXQJZHQQGHU:HUWGHU9DULDEOHQ]XU$XV IKUXQJV]HLWGHU$QZHLVXQJ]XJHZLHVHQZHUGHQVROO
$QZHLVXQJHQN|QQHQG\QD PLVFKHUVWHOOWZHUGHQ VRGDVVVLHJOHLFK]HLWLJPLW GHU$XVIKUXQJHLQHV 6NULSWVHUVWHOOWZHUGHQ
Beispiel Beispiel 11 86(OLEUDU\ 86(OLEUDU\ '(&/$5(#GEQDPHYDUFKDU #WEOQDPHYDUFKDU '(&/$5(#GEQDPHYDUFKDU #WEOQDPHYDUFKDU 6(7#GEQDPH 6(7#GEQDPH 1RUWKZLQG
1RUWKZLQG
6(7#WEOQDPH 6(7#WEOQDPH SURGXFWV
SURGXFWV
(;(&87( (;(&87( 86( #GEQDPH 6(/(&7 )520ª#WEOQDPH 86( #GEQDPH 6(/(&7 )520ª#WEOQDPH *2 *2
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Anweisungen können dynamisch erstellt werden, sodass sie gleichzeitig mit der Ausführung eines Skripts erstellt werden. Zum dynamischen Erstellen einer Anweisung wird die EXECUTE-Anweisung mit einer Reihe von Zeichenfolgenliteralen und Variablen verwendet, die zur Ausführungszeit aufgelöst werden. Dynamisch erstellte Anweisungen sind hilfreich, wenn der Wert der Variable bei der Ausführung der Anweisung zugewiesen werden soll. Sie können z. B. eine dynamische Anweisung erstellen, die eine bestimmte Aktion bei einer Reihe von Datenbankobjekten durchführt. 6\QWD[
EXECUTE ({@str_var | 'tsql_string'} + [{@str_var | 'tsql_string'}...]}) Bei der EXECUTE-Anweisung sollten die folgenden Aspekte beachtet werden:
Die EXECUTE-Anweisung führt aus Zeichenfolgen bestehende Anweisungen in einem Transact-SQL-Batch aus. Da es sich hierbei um Zeichenfolgenliterale handelt, müssen Sie darauf achten, dass sich an den entsprechenden Stellen Leerzeichen befinden, damit die Zeichenfolgen richtig verkettet werden.
Die EXECUTE-Anweisung kann ein Zeichenfolgenliteral, eine lokale Variable oder eine Verkettung von beidem enthalten.
Alle Elemente in der EXECUTE-Zeichenfolge müssen aus Zeichendaten bestehen; alle numerischen Daten müssen konvertiert werden, bevor Sie die EXECUTE-Anweisung verwenden können.
Funktionen können nicht verwendet werden, um die in der EXECUTEAnweisung auszuführende Zeichenfolge zu erstellen.
Alle gültigen Transact-SQL-Anweisungen können dynamisch erstellt werden, dies gilt auch für Funktionen.
%HLVSLHO
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
EXECUTE-Anweisungen können verschachtelt werden.
Variablen und temporäre Tabellen, die dynamisch erstellt werden, bestehen nur für die Ausführungsdauer der Anweisung.
In diesem Beispiel wird gezeigt, wie mit einer dynamisch ausgeführten Anweisung ein anderer als der aktuelle Datenbankkontext angegeben werden kann und wie dann alle Spalten und Zeilen aus einer bestimmten Tabelle ausgewählt werden können. In diesem Beispiel bleibt der Wechsel des Datenbankkontextes zur Northwind-Datenbank nur für die Dauer der Abfrage bestehen. Der aktuelle Datenbankkontext bleibt unverändert. Durch Verwendung einer gespeicherten Prozedur könnte der Benutzer die Datenbank- und Tabelleninformationen als Parameter an die Anweisung übergeben und dann eine bestimmte Tabelle in einer Datenbank abfragen.
(UJHEQLV
86(OLEUDU\ '(&/$5(#GEQDPHYDUFKDU #WDEOHQDPHYDUFKDU 6(7#GEQDPH 1RUWKZLQG 6(7#WDEOHQDPH 3URGXFWV (;(&87( 86( #GEQDPH 6(/(&73URGXFW1DPH)520 #WDEOHQDPH *2 3URGXFW1DPH &KDL &KDQJ $QLVHHG6\UXS
%HLVSLHO
(UJHEQLV
In diesem Beispiel wird gezeigt, wie mit einer dynamisch ausgeführten Anweisung eine Datenbankoption für die Dauer der Anweisung geändert werden kann. Die folgende Anweisung gibt die Anzahl der betroffenen Zeilen nicht zurück. 86(1RUWKZLQG (;(&87( 6(712&281721 6(/(&7/DVW1DPH5HSRUWV7R)520 (PSOR\HHV:+(5(5HSRUWV7R,618// *2 /DVW1DPH 5HSRUWV7R )XOOHU
18//
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQYRQ%DWFKHV ,QKDOWGLHVHU)ROLH
(UOlXWHUQ6LHGHQ.XUVWHLO QHKPHUQGLH9HUZHQGXQJ YRQ%DWFKHV
(LQVWLHJ
%HLHLQHP%DWFKKDQGHOWHV VLFKXPHLQH*UXSSHYRQ 7UDQVDFW64/$QZHLVXQ JHQGLHJHPHLQVDPEHU JHEHQXQGDOV*UXSSH DXVJHIKUWZHUGHQ
(LQHRGHUPHKUHUH 7UDQVDFW64/$QZHLVXQJHQZHUGHQ ]XVDPPHQEHUJHEHQ
'HILQLHUHQHLQHV%DWFKHVPLW+LOIHGHU*2$QZHLVXQJ
%DWFKYHUDUEHLWXQJEHL64/ 6HUYHU
$QZHLVXQJHQGLHQLFKWLPVHOEHQ%DWFKYHUZHQGHW ZHUGHQN|QQHQ z
&5($7(352&('85(
z
&5($7(9,(:
z
&5($7(75,**(5 &5($7(58/( $6
z
&5($7('()$8/7
z
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Eine oder mehrere Anweisungen können auch in einem Batch übergeben werden.
(LQHRGHUPHKUHUH7UDQVDFW64/$QZHLVXQJHQZHUGHQ]XVDPPHQ EHUJHEHQ Bei einem Batch handelt es sich um eine Gruppe von Transact-SQL-Anweisungen, die gemeinsam übergeben und als Gruppe ausgeführt werden. Batches können interaktiv oder als Teil eines Skripts ausgeführt werden. Ein Skript kann mehrere Batches mit Transact-SQL-Anweisungen enthalten.
'HILQLHUHQHLQHV%DWFKHVPLW+LOIHGHU*2$QZHLVXQJ Verwenden Sie eine GO-Anweisung, um das Ende eines Batches anzugeben. GO ist keine allgemein gültige Transact-SQL-Anweisung, sondern ein Befehl, der nur von SQL Query Analyzer und dem Dienstprogramm osql akzeptiert wird. Auf ODBC- oder OLE DB-APIs basierende Anwendungen erzeugen einen Syntaxfehler, wenn sie versuchen, eine GO-Anweisung auszuführen.
%DWFKYHUDUEHLWXQJEHL64/6HUYHU Die Anweisungen werden von SQL Server in einem Batch gemeinsam optimiert, kompiliert und ausgeführt. Die Anweisungen müssen jedoch nicht als wiederherstellbare Arbeitseinheit ausgeführt werden. Der Gültigkeitsbereich von benutzerdefinierten Variablen ist auf einen Batch beschränkt, nach einer GO-Anweisung kann daher nicht auf eine dieser Variablen verwiesen werden. $QPHUNXQJ Wenn ein Syntaxfehler in einem Batch vorhanden ist, wird keine der Anweisungen in diesem Batch ausgeführt. Die Ausführung beginnt mit dem folgenden Batch.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
$QZHLVXQJHQGLHQLFKWLPVHOEHQ%DWFKYHUZHQGHWZHUGHQN|QQHQ 0HWKRGLVFKHU+LQZHLV %HVFKUHLEHQ6LHGLH%HL VSLHOHXQGYHUJOHLFKHQ6LH VLHPLWHLQDQGHU
Bestimmte Objekterstellungsanweisungen müssen jeweils in einem eigenen Batch innerhalb eines Skripts ausgeführt werden. Das liegt an der Art, wie die Objekterstellungsanweisungen definiert werden. Diese Objekterstellungsanweisungen besitzen eine bestimmte Struktur - einen Objektdefinitionsheader, gefolgt vom Schlüsselwort AS mit mindestens einer Definitionsanweisung. Außerdem muss jede Erstellungsanweisung mit einem GO-Befehl abgeschlossen werden, wenn ein Skript mehr als eine Erstellungsanweisung enthält. Sie müssen die folgenden Anweisungen in separaten Batches ausführen:
%HLVSLHO
%HLVSLHO
CREATE PROCEDURE
CREATE VIEW
CREATE TRIGGER
CREATE RULE AS
CREATE DEFAULT
Die Anweisungen in diesem Beispiel würden fehlschlagen, wenn sie als Teil eines einzigen Batches ausgeführt werden, da die Abfrage Anweisungen kombiniert, die in einem Batch nicht kombiniert werden dürfen. Sie müssen eine GOAnweisung vor jeder CREATE VIEW-Anweisung einfügen, damit diese korrekt ausgeführt werden. &5($7('$7$%$6( &5($7(7$%/( &5($7(9,(: &5($7(9,(: *2
In diesem Beispiel sind die in Beispiel 1 verwendeten Anweisungen so zu Batches gruppiert, dass sie korrekt ausgeführt werden. &5($7('$7$%$6( &5($7(7$%/( *2 &5($7(9,(: *2 &5($7(9,(: *2
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
9HUZHQGHQYRQ6NULSWV ,QKDOWGLHVHU)ROLH
(UOlXWHUQ6LHGLH9HUZHQ GXQJYRQ6NULSWV]XP$XV IKUHQYRQ7UDQVDFW64/ $QZHLVXQJHQ
(LQVWLHJ
,QGHQPHLVWHQ)lOOHQZHU GHQ6NULSWV]XP$XVIKUHQ YRQ7UDQVDFW64/$QZHL VXQJHQYHUZHQGHW
(LQ6NULSW LVWHLQHRGHUPHKUHUH 7UDQVDFW64/$QZHLVXQJ GLHDOV 'DWHLPLWGHU'DWHLQDPHQHUZHLWHUXQJ64/ JHVSHLFKHUWZLUG
6NULSWV z
(QWKDOWHQJHVSHLFKHUWH $QZHLVXQJHQ
z
.|QQHQPLW MHGHP EHOLHELJHQ7H[W(GLWRUHUVWHOOWZHUGHQ
z
z
.|QQHQ'DWHQEDQNREMHNWH RGHU $XVIKUXQJVDQZHLVXQJHQ ZLHGHUKROW DXVIKUHQ :HUGHQ LQ64/4XHU\$QDO\]HURGHU PLWGHP'LHQVW SURJUDPP RVTO DXVJHIKUW
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** In den meisten Fällen werden Skripts zum Ausführen von Transact-SQL-Anweisungen verwendet. Ein Skript besteht aus einer oder mehreren Transact-SQL-Anweisungen, die als Datei gespeichert werden. Sie können Skripts in SQL Query Analyzer oder mit einem beliebigen TextEditor, wie z. B. Notepad, erstellen und speichern. Speichern Sie die Skriptdatei mit der Dateinamenerweiterung SQL. Gespeicherte Skripts sind sehr hilfreich, wenn Sie Datenbanken oder Datenobjekte neu erstellen möchten oder wenn Sie eine Gruppe von Anweisungen wiederholt verwenden müssen. Sie können die Skriptdatei in SQL Query Analyzer, aber auch mit dem Dienstprogramm osql (oder einem anderen Abfragetool) öffnen und ausführen.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
(PSIRKOHQH0HWKRGHQ ,QKDOWGLHVHU)ROLH
(UOlXWHUQ6LHGLHHPSIRKOH QHQ0HWKRGHQ]XU9HUZHQ GXQJGHU7UDQVDFW64/ $EIUDJHWRROV
9HUZHQGHQ6LH64/4XHU\$QDO\]HU 9HUZHQGHQ6LH64/4XHU\$QDO\]HU IUJUDILVFKHV IUJUDILVFKHV XQGLQWHUDNWLYHV$UEHLWHQ XQGLQWHUDNWLYHV$UEHLWHQ
(LQVWLHJ
9HUZHQGHQ6LHGHQ 9HUZHQGHQ6LHGHQ 2EMHNWNDWDORJ]XP6XFKHQXQG(UVWHOOHQ 2EMHNWNDWDORJ]XP6XFKHQXQG(UVWHOOHQ YRQ2EMHNWHQ YRQ2EMHNWHQ
'LHHPSIRKOHQHQ0HWKRGHQ HUOHLFKWHUQ,KQHQGLH9HU ZHQGXQJGHU7UDQVDFW64/ $EIUDJHWRROV
9HUZHQGHQ 9HUZHQGHQ 6LH9RUODJHQ 6LH9RUODJHQ DOV DOV $XVJDQJVSXQNW $XVJDQJVSXQNW EHLP(UVWHOOHQ EHLP(UVWHOOHQ YRQ2EMHNWHQ YRQ2EMHNWHQ 9HUZHQGHQ6LHGDV 9HUZHQGHQ6LHGDV %HIHKOV]HLOHQGLHQVWSURJUDPPµRVTO§ %HIHKOV]HLOHQGLHQVWSURJUDPPµRVTO§ IU IU %DWFKGDWHLHQ %DWFKGDWHLHQ XQG=HLWSODQXQJHQ XQG=HLWSODQXQJHQ 6SHLFKHUQ6LHKlXILJYHUZHQGHWH 6SHLFKHUQ6LHKlXILJYHUZHQGHWH 7UDQVDFW64/6NULSWVLQ'DWHLHQ 7UDQVDFW64/6NULSWVLQ'DWHLHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Die folgenden empfohlenen Methoden erleichtern Ihnen die Verwendung der Transact-SQL-Abfragetools:
Verwenden Sie SQL Query Analyzer, wenn Sie grafisch und interaktiv arbeiten möchten. Sie können mehrere Verbindungen zu SQL Server verwenden, und Sie können zwischen Fenstern ausschneiden und einfügen. Hierbei profitieren Sie von der farbigen Syntaxkennzeichnung und den Skriptfunktionen des Objektkatalogs.
Verwenden Sie den Objektkatalog, um Tabellen- und Spaltennamen zu suchen, um Skripts für diese zu erstellen und um fehlerfreie Skripts zum Ändern von Objekten und Daten zu erstellen.
Verwenden Sie Vorlagen in SQL Query Analyzer als Ausgangspunkt beim Erstellen von Objekten in einer Datenbank.
Verwenden Sie das Befehlszeilendienstprogramm osql für Batchdateien und zur Ausführung von häufig wiederkehrenden Aufgaben. Zusätzliche Skriptfunktionen des Befehlszeilendienstprogramms osql können Automatisierungs- und Wartungsaufgaben erleichtern.
Speichern Sie häufig verwendete Transact-SQL-Skripts in Dateien. Diese Dateien bilden auf effiziente Weise eine Bibliothek wiederverwendbarer Skripts, die zur Konsistenz beitragen und künftig verwendet werden können.
Zusätzliche Informationen zu den folgenden Themen erhalten Sie in der SQL Server-Onlinedokumentation. Thema
Suchbegriff
Verwenden von SQL Query Analyzer
“Übersicht über SQL Query Analyzer”
Verwenden des Dienstprogramms osql
“osql (Dienstprogramm)”
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
hEXQJVHLQKHLW$(UVWHOOHQXQG$XVIKUHQYRQ7UDQVDFW 64/6NULSWV ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQH(LQIKUXQJ LQGLHhEXQJVHLQKHLW
(LQVWLHJ
,QGLHVHU8QWHUULFKWVHLQKHLW HUVWHOOHQ6LHHLQ7UDQVDFW 64/6NULSWVSHLFKHUQHV XQGIKUHQHVGDQQLQ 64/4XHU\$QDO\]HUXQG PLW+LOIHGHV'LHQVW SURJUDPPVRVTODXV
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** (UOlXWHUQ6LHGLH/HUQ]LHOH GHUhEXQJVHLQKHLW
/HUQ]LHOH Am Ende dieser Übungseinheit werden Sie in der Lage sein, die folgenden Aufgaben auszuführen:
Schreiben grundlegender SELECT-Anweisungen, die sortierte und eingeschränkte Resultsets zurückgeben.
Ändern und Ausführen eines Skripts mit Hilfe des Dienstprogramms osql.
9RUDXVVHW]XQJHQ Um diese Übungseinheit zu bearbeiten, benötigen Sie Folgendes:
Die Skriptdateien für diese Übungseinheit, die sich in C:\Moc\2316B\Labfiles\L02 befinden.
Die Antwortdateien für diese Übungseinheit, die sich in C:\Moc\2316B\Labfiles\L02\Answers befinden.
:HLWHUH,QIRUPDWLRQHQ Wenn Sie Hilfe bei der Ausführung von Dateien benötigen, suchen Sie in der Hilfe zu SQL Query Analyzer nach „Ausführen einer Abfrage“. Daneben sind die folgenden Informationsquellen verfügbar:
Das Northwind-Datenbankschema.
Die Microsoft SQL Server-Onlinedokumentation.
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
6]HQDULR Der Aufbau des Schulungsraumes soll die Organisation des weltweit agierenden Handelsunternehmens Northwind Traders widerspiegeln. Das Unternehmen hat den fiktiven Domänennamen nwtraders.msft. Der primäre DNS-Server für nwtraders.msft ist der Kursleitercomputer, der die Internetprotokolladresse (IP-Adresse) 192.168.x.200 besitzt (wobei x die zugewiesene Schulungsraumnummer ist). Der Name des Kursleitercomputers ist London. Die folgende Tabelle stellt den Benutzernamen, den Computernamen und die IP-Adresse für jeden Kursteilnehmercomputer in der fiktiven Domäne nwtraders.msft bereit. Suchen Sie den Benutzernamen Ihres Computers, und notieren Sie ihn. Benutzername
Computername
IP-Adresse
SQLAdmin1
Vancouver
192.168.x.1
SQLAdmin2
Denver
192.168.x.2
SQLAdmin3
Perth
192.168.x.3
SQLAdmin4
Brisbane
192.168.x.4
SQLAdmin5
Lisbon
192.168.x.5
SQLAdmin6
Bonn
192.168.x.6
SQLAdmin7
Lima
192.168.x.7
SQLAdmin8
Santiago
192.168.x.8
SQLAdmin9
Bangalore
192.168.x.9
SQLAdmin10
Singapore
192.168.x.10
SQLAdmin11
Casablanca
192.168.x.11
SQLAdmin12
Tunis
192.168.x.12
SQLAdmin13
Acapulco
192.168.x.13
SQLAdmin14
Miami
192.168.x.14
SQLAdmin15
Auckland
192.168.x.15
SQLAdmin16
Suva
192.168.x.16
SQLAdmin17
Stockholm
192.168.x.17
SQLAdmin18
Moscow
192.168.x.18
SQLAdmin19
Caracas
192.168.x.19
SQLAdmin20
Montevideo
192.168.x.20
SQLAdmin21
Manila
192.168.x.21
SQLAdmin22
Tokyo
192.168.x.22
SQLAdmin23
Khartoum
192.168.x.23
SQLAdmin24
Nairobi
192.168.x.24
9HUDQVFKODJWH=HLWIUGLHhEXQJVHLQKHLW0LQXWHQ
8QWHUULFKWVHLQKHLW9HUZHQGHQYRQ7UDQVDFW64/$EIUDJHWRROV
hEXQJ 6FKUHLEHQJUXQGOHJHQGHU6(/(&7$QZHLVXQJHQ In dieser Übung erstellen Sie verschiedene Anweisungen, die Zeilen aus der products-Tabelle in der Northwind-Datenbank zurückgeben. C:\Moc\2316B\Labfiles\L02\Answers enthält die vollständigen Skripts für diese Übung.
Ç So schreiben Sie eine SELECT-Anweisung, die sortierte Daten zurückgibt
Bei diesem Verfahren schreiben Sie eine Anweisung, die alle Zeilen und Spalten aus der products-Tabelle zurückgibt und die Ergebnisse in aufsteigender Reihenfolge nach der productname-Spalte sortiert. Answer_Ordered.sql ist das vollständige Skript für dieses Verfahren. 1. Melden Sie sich an der Schulungsraumdomäne nwtraders mit Hilfe der Informationen in der folgenden Tabelle an. Option
Eingabe
Benutzername
SQLAdminx (wobei x die Ihrem Computernamen zugewiesene Nummer ist, wie in der Schulungsraumdomäne nwtraders.msft festgelegt)
Kennwort
password
2. Öffnen Sie SQL Query Analyzer, und melden Sie sich, falls erforderlich, am (lokalen) Server mit Microsoft Windows®-Authentifizierung an. Sie haben die Berechtigung, sich anzumelden und SQL Server zu verwalten, da Sie als SQLAdminx angemeldet sind - einem Mitglied der lokalen Gruppe Administratoren von Windows 2000. Alle Mitglieder dieser Gruppe werden automatisch der sysadmin-Rolle von SQL Server zugeordnet. 3. Klicken Sie in der Liste DB auf Northwind. 4. Geben Sie eine SELECT-Anweisung ein, die alle Zeilen und Spalten aus der products-Tabelle zurückgibt und die Ergebnisse in aufsteigender Reihenfolge nach der productname-Spalte sortiert, und führen Sie sie aus. Sie können die gespeicherte Systemprozedur sp_help in der productsTabelle ausführen, um die korrekten Spaltennamen abzufragen. 6(/(&7 )520SURGXFWV25'(5%.(#REMQDPH @ QDPH
Der Parameter ist der Name des Objekts in der aktuellen Datenbank, dessen Definitionstext von SQL Server angezeigt wird. Die gespeicherte Systemprozedur sp_helptext druckt den Text, der zum Erstellen eines Objekts verwendet wird, in mehreren Zeilen aus, wobei jede Zeile 255 Zeichen der Transact-SQL-Definition enthält. Die Definition ist nur im Text in der syscomments-Tabelle der aktuellen Datenbank enthalten.
%HLVSLHO
(UJHEQLV
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
In diesem Beispiel wird der Text zurückgegeben, der die dbo.OverdueViewSicht definiert. 86(OLEUDU\ (;(&VSBKHOSWH[W GER2YHUGXH9LHZ *2 7H[W 2YHUGXH9LHZ)UDJW2QORDQ9LHZDOV9HUNQSIXQJEHU 7DEHOOHQ DE /LVWHWGLH0LWJOLHGHU7LWHOXQG$XVOHLKLQIRUPDWLRQHQHLQHV ]XU=HLWDXVJHOLHKHQHQXQGEHUIlOOLJHQ([HPSODUHVDXI
&5($7(9,(:GER2YHUGXH9LHZ $6 6(/(&7 )5202QORDQ9LHZ :+(5(2QORDQ9LHZGXHBGDWH*(7'$7(
7LSS Verwenden Sie EXEC sp_helptext, um die Definitionen neu erstellter Programmierobjekte zu überprüfen.
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
(LQIKUXQJ]X6LFKWHQ ,QKDOWGLHVHU)ROLH
6WHOOHQ6LHGDV.RQ]HSWYRQ 6LFKWHQYRUXQGJHEHQ6LH HLQ%HLVSLHO
title title WLWOHBQR WLWOHBQR
(LQVWLHJ
%HLHLQHU6LFKWKDQGHOWHV VLFKXPHLQHDOWHUQDWLYH 0HWKRGH]XP$Q]HLJHQGHU 'DWHQDXVHLQHURGHU PHKUHUHQ7DEHOOHQ
WLWOH WLWOH /DVWRIWKH0RKLFDQV /DVWRIWKH0RKLFDQV 7KH9LOODJH:DWFK7RZHU 7KH9LOODJH:DWFK7RZHU 3RHPV 3RHPV
TitleView TitleView WLWOH WLWOH /DVWRIWKH0RKLFDQV /DVWRIWKH0RKLFDQV 7KH9LOODJH:DWFK7RZHU 7KH9LOODJH:DWFK7RZHU 3RHPV 3RHPV
DXWKRU DXWKRU -DPHV)HQLPRUH -DPHV)HQLPRUH&RRSHU &RRSHU .DWH'RXJODV:LJJLQ .DWH'RXJODV:LJJLQ :LOIUHG2ZHQ :LOIUHG2ZHQ
V\QRSVLV V\QRSVLV aaa aaa aaa aaa aaa aaa
86(OLEUDU\ 86(OLEUDU\ *2 *2 &5($7(9,(:GER7LWOH9LHZ &5($7(9,(:GER7LWOH9LHZ $6 $6 6(/(&7WLWOHDXWKRU 6(/(&7WLWOHDXWKRU )520WLWOH )520WLWOH *2 *2
DXWKRU DXWKRU -DPHV)HQLPRUH -DPHV)HQLPRUH&RRSHU &RRSHU .DWH'RXJODV:LJJLQ .DWH'RXJODV:LJJLQ :LOIUHG2ZHQ :LOIUHG2ZHQ
Sicht Sichtdes desBenutzers Benutzers
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** 0HWKRGLVFKHU+LQZHLV
9HUJHJHQZlUWLJHQ6LHGHQ .XUVWHLOQHKPHUQGDVVGDV 6FKUHLEHQYRQ$GKRF$E IUDJHQLQDQGHUHQ8QWHU ULFKWVHLQKHLWHQGLHVHV .XUVHVEHKDQGHOWZLUG :HLVHQ6LHGDUDXIKLQGDVV LQGLHVHU8QWHUULFKWVHLQKHLW GDV6SHLFKHUQYRQ$EIUDJHQ DOV2EMHNWH6LFKWHQJH VSHLFKHUWH3UR]HGXUHQXQG 7ULJJHU LQGHU'DWHQEDQN EHVFKULHEHQZLUG
Bei einer Sicht handelt es sich um eine alternative Methode zum Anzeigen der Daten aus einer oder mehreren Tabellen. Eine Sicht ist mit einer virtuellen Tabelle oder einer gespeicherten Abfrage vergleichbar. Die Daten, auf die über eine Sicht zugegriffen wird, sind nicht als wirkliche Objekte in der Datenbank gespeichert. Was in der Datenbank gespeichert wird, ist eine SELECT-Anweisung. Das Resultset der SELECTAnweisung bildet die virtuelle Tabelle, die von der Sicht zurückgegeben wird. Sie können diese virtuelle Tabelle verwenden, indem Sie in Transact-SQLAnweisungen auf den Namen der Sicht wie auf einen Tabellennamen verweisen. Sie können eine Sicht zu folgenden Zwecken verwenden:
Einschränken des Benutzerzugriffs auf bestimmte Zeilen einer Tabelle Sie können zum Beispiel festlegen, dass ein Mitarbeiter nur die Zeilen einer Arbeitsprotokolltabelle sieht, in denen seine Arbeitsdaten aufgezeichnet werden.
Einschränken des Benutzerzugriffs auf bestimmte Spalten Sie können zum Beispiel festlegen, dass Mitarbeiter ohne Festanstellung zwar die Spalten für Name, Büro, Rufnummer und Abteilung sehen, jedoch keine Spalten mit Gehältern oder persönlichen Informationen.
Verknüpfen von Spalten aus mehreren Tabellen zu einer einzigen Tabelle
Aggregieren von Informationen statt Bereitstellen von Detailinformationen Sie können zum Beispiel die Summe einer Spalte oder den höchsten bzw. niedrigsten Wert aus einer Spalte anzeigen.
%HLVSLHO
$EIUDJH (UJHEQLV
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
In diesem Beispiel wird die TitleView-Sicht in der library-Datenbank erstellt. Die Sicht zeigt zwei Spalten der title-Tabelle an. 86(OLEUDU\ *2 &5($7(9,(:GER7LWOH9LHZ $6 6(/(&7WLWOHDXWKRU )520WLWOH *2 6(/(&7 IURP7LWOH9LHZ *2 WLWOH /DVWRIWKH0RKLFDQV 7KH9LOODJH:DWFK7RZHU 6HOI+HOS&RQGXFW 3HUVHYHUDQFH URZV DIIHFWHG
author -DPHV)HQLPRUH&RRSHU .DWH'RXJODV:LJJLQ 6DPXHO6PLOHV
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
9RUWHLOHYRQ6LFKWHQ ,QKDOWGLHVHU)ROLH
(UOlXWHUQ6LHZDUXP %HQXW]HU6LFKWHQHUVWHOOHQ RGHUYHUZHQGHQ
z
(LQVWLHJ
6LFKWHQELHWHQPHKUHUH 9RUWHLOH
.RQ]HQWULHUHQGHU'DWHQIU%HQXW]HU
z
.RQ]HQWULHUHQ DXIDXVVFKOLHOLFKZLFKWLJHRGHU JHHLJQHWH'DWHQ =XJDQJ ]X YHUWUDXOLFKHQ 'DWHQ HLQVFKUlQNHQ
9HUEHUJHQGHU'DWHQEDQNNRPSOH[LWlW z z
9HUEHUJHQNRPSOH[HU'DWHQEDQNHQWZUIH 9HUHLQIDFKHQ YRQ$EIUDJHQHLQVFKOLHOLFK YHUWHLOWHU $EIUDJHQIU KHWHURJHQH 'DWHQ
9HUHLQIDFKHQGHU9HUZDOWXQJYRQ%HQXW]HUEHUHFKWLJXQJHQ
2UJDQLVLHUHQYRQ'DWHQIUGHQ([SRUWLQDQGHUH $QZHQGXQJHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Sichten bieten unter anderem die folgenden Vorteile: Sie konzentrieren Daten für Benutzer, verbergen die Komplexität von Daten, vereinfachen die Verwaltung von Berechtigungen und organisieren Daten für den Export in andere Anwendungen.
.RQ]HQWULHUHQGHU'DWHQIU%HQXW]HU Sichten schaffen eine kontrollierte Umgebung, die den Zugriff auf bestimmte Daten ermöglicht und andere Daten verbirgt. Es ist möglich, nicht benötigte, vertrauliche oder ungeeignete Daten aus einer Sicht auszuschließen. Benutzer können die Anzeige von Daten in einer Sicht ähnlich wie in einer Tabelle bearbeiten. Darüber hinaus können sie (mit den entsprechenden Berechtigungen und einigen Einschränkungen) die von einer Sicht erzeugten Daten ändern.
9HUEHUJHQGHU'DWHQEDQNNRPSOH[LWlW Sichten verbergen die Komplexität des Datenbankentwurfs vor dem Benutzer. Dies bietet Entwicklern die Möglichkeit, den Entwurf zu ändern, ohne dass sich dies auf den Benutzerdialog mit der Datenbank auswirkt. Darüber hinaus kann eine benutzerfreundlichere Anzeige der Daten erstellt werden, indem Namen verwendet werden, die einfacher zu verstehen sind als die in Datenbanken häufig verwendeten unverständlichen Namen. Komplexe Abfragen, einschließlich verteilter Abfragen für heterogene Daten, können ebenfalls durch Sichten verborgen werden. Der Benutzer fragt die Sicht ab, statt die Abfrage zu schreiben oder ein Skript auszuführen.
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
9HUHLQIDFKHQGHU9HUZDOWXQJYRQ%HQXW]HU EHUHFKWLJXQJHQ Statt Benutzern die Berechtigung zum Abfragen bestimmter Spalten in Basistabellen zu erteilen, können Datenbankbesitzer Benutzern die Berechtigung erteilen, Daten nur über Sichten abzufragen. Auf diese Weise werden auch Änderungen am Entwurf der zugrunde liegenden Basistabellen geschützt. Benutzer können die Sicht ohne Unterbrechung weiter abfragen.
2UJDQLVLHUHQYRQ'DWHQIUGHQ([SRUWLQDQGHUH $QZHQGXQJHQ Sie können eine Sicht auf der Basis einer komplexen Abfrage erstellen, die mehrere Tabellen miteinander verknüpft, und die Daten dann zur weiteren Analyse in eine andere Anwendung exportieren.
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
(UVWHOOHQYRQ6LFKWHQ ,QKDOWGLHVHU)ROLH
*HEHQ6LHHLQHQhEHUEOLFN EHUGLH7KHPHQGLHVHV $EVFKQLWWV
'HILQLHUHQYRQ6LFKWHQ
(LQVWLHJ
(LQVFKUlQNXQJHQEHLP(UVWHOOHQYRQ6LFKWHQ
%HLVSLHO$Q]HLJHQYRQ,QIRUPDWLRQHQDXVPHKUHUHQ 7DEHOOHQ
,QGLHVHP$EVFKQLWWZLUG EHVFKULHEHQZLH6LFKWHQ HUVWHOOWZHUGHQ
****************NUR FÜR DIE VERWENDUNG DURCH DEN KURSLEITER ZULÄSSIG**************** Dieser Abschnitt beschreibt, wie Sichten erstellt werden, und erläutert Einschränkungen, die beim Erstellen von Sichten zu beachten sind. Er stellt darüber hinaus ein Beispiel für eine Anzeige von Informationen aus mehreren verknüpften Tabellen an einem zentralen Ort bereit.
8QWHUULFKWVHLQKHLW(LQIKUXQJ]X3URJUDPPLHUREMHNWHQ
'HILQLHUHQYRQ6LFKWHQ ,QKDOWGLHVHU)ROLH
%HVFKUHLEHQ6LHZLH 6LFKWHQGHILQLHUWZHUGHQ
(LQVWLHJ
%HLP(UVWHOOHQHLQHU6LFKW EHUSUIW64/6HUYHUGLH ([LVWHQ]GHU2EMHNWHDXI GLHLQGHU6LFKWYHUZLHVHQ ZLUG
Beispiel Beispiel 1: 1: Erstellen Erstellen einer einer Sicht Sicht
86(OLEUDU\ 86(OLEUDU\ *2 *2 &5($7(9,(:GER8QSDLG)LQHV9LHZ0HPEHU7RWDO8QSDLG)LQHV &5($7(9,(:GER8QSDLG)LQHV9LHZ0HPEHU7RWDO8QSDLG)LQHV $6 $6 6(/(&7PHPEHUBQRVXPILQHBDVVHVVHGILQHBSDLG 6(/(&7PHPEHUBQRVXPILQHBDVVHVVHGILQHBSDLG )520ORDQKLVW )520ORDQKLVW *5283%