Anleitung: SQL Basics im SQL Server Management Studio (SSMS)
Diese WIKI Seite beinhaltet Videos! Bitte auf die Videos klicken, um sie zu starten (größere Videos müssen heruntergeladen werden).
Am Server anmelden
Am Terminalserver 192.168.0.119 ist die Anwendung
"Microsoft SQL Server Management Studio 18" installiert (falls sie nicht am Desktop auffindbar ist, bitte in der Suche danach suchen).
Das Programm starten.
Es folgt die Aufforderung sich anzumelden. Bitte folgendes eintragen:
.
Hier ist folgendes wichtig:
- Bitte immer bei Authentifizierung "SQL Server-Authentifizierung" verwenden, damit ihr euch mit dem pps_ro User anmelden könnt (dieser hat alle Leserechte, aber keine Schreibrechte, so kann nichts passieren).
- Bitte holt euch das Passwort des pps_ro Users bei der IT (Tina) und speichert es euch in euren Keepass.
Bei Servername kann der sprechende Name eines Servers, oder dessen IP-Adresse, eingetragen werden.
Die wichtigsten Servernamen lauten:
flex07 = produktiver GPS Server
qablade88 = Test-GPS Server
flex10 = Datawarehouse-Server, historisierte GPS Daten
mirror01 = Spiegelserver des Produktivsystems (hier werden große Abfragen gestartet, um das Produktivsystem zu entlasten)
service = produktiver IIS Server ("Radius-Server" bzw. WIS- und Webservice-Server)
testservice = Test-IIS Server ("Test-Radius Server" bzw. TESTWIS- und Test-Webservice-Server)
Die Verbidung zu den verschiedenen Servern wird im Video (01:27) nochmal kurz erklärt:
.
Übersicht über die Elemente des SSMS
Wurde eine Verbindung zum Server hergestellt, finden sich einige verschiedene Kategorien an Informationen aufgelistet. Hier die wichtigsten erklärt:
Im Video wird auf die wichtigsten Kategorien nochmal genau eingegangen:
.
Struktur der GPS Datenbank
Aufbau der Datenbank
Eine Datenbank (hier am Beispiel des flex07 → GPS Datenbank) besteht aus folgenden Elementen:
Tabellen und deren Inhalte
Klappt man den Ordner "Tabellen" auf, werden hunderte von verschiedenen Tabellen angezeigt, manche haben sprechende Namen, die auf die Inhalte verweisen.
Andere Tabellen muss man kennen um deren Inhalte zu wissen.
Hier die wichtigsten Tabellen aufgelistet
dbo.TADRE0 |
Alle Adressdaten von Personen und Firmen, Infos vom 1. Tab in den Stammdaten |
dbo.TPHON0 |
Alle Telefonnummern, E-Mailadressen zu den Personen/Firmen inkl. Zusatzinfos |
dbo.TADMZ0 |
Personenzusatz, z.B. Geburts- und Eintrittsdaten, Verrechnungsdaten etc. |
dbo.TADFZ0 |
Firmenzusatz, Verrechnungsdaten, Registriernummern, Kostenstellen etc. |
dbo.TKONT0 |
Kontakttabelle - Firmen und Personenverknüpfungen inkl. Funktionen etc. |
dbo.TPRO1H01 |
Produkt bzw. Artikeltabelle |
dbo.TANG0H01 / dbo.TAngDetail |
GB1 Angebotskopf und Angebotsdetails |
dbo.TTAngebotskopf / dbo.TTAngebotdetail |
GB2 Angebotskopf und Angebotsdetails |
dbo.TABLE0 |
Angebots-Ablehnungsgründe |
dbo.TUSER0 |
GPS-User Tabelle |
etc...
SQL Suche
Natürlich kann in jedem Falle die SQL-Suche verwendet werden, entweder um Tabellen, Spalten oder Inhalte zu finden, oder um schnell zu der gewünschten Tabelle zu hüpfen:
Im Video (05:15) wird die Suchfunktion noch einmal genau durchgespielt:
.
Simple SQL Statements, um Tabellen zu filtern/sortieren
Eine Tabelle wird geöffnet, indem man sie mit der rechten Maustaste anklickt und wählt "Erste 1000 Zeilen auswählen":
Nun öffnet sich im oberen Bereich eine Eingabemaske mit dem SQL Statement der Abfrage, und unten die Ergebnisse der Abfrage.
Gibt man nun gewisse Parameter ein, ändern sich bei Klick auf "Ausführen" die Ergebnisse unten.
möchte man mehr als nur 1000 Zeilen sehen, einfach ganz oben den Ausdruck "TOP (1000)" löschen und nochmal → Ausführen!
.
Folgende Ausdrücke in den SQL Statements können hilfreich sein:
1. Nach eindeutigen Werten suchen:
Fügt man am SQL Statement
WHERE [Spalte] =
'[Suchparameter z.B. Name]' ein, erhält man ein eindeutiges Ergebnis:
2. Nach enthaltenen Schlagwörtern suchen:
Möchte man Ergebnisse sehen, welche ein Schlagwort enthalten, benützt man LIKE statt dem "=" und fügt Prozentzeichen zum Suchparameter hinzu:
3. Nach mehreren Parametern suchen:
Das Wort "AND" kann am Ende des vorherigen Statements hinzugefügt werden, um noch tiefer zu filtern, Hier z.B. möchten wir NUR Personen filtern, die Mayer oder ähnlich heißen:
4. Ergebnisse sortieren:
Möchten wir nun noch die Ergebnisse sortieren, geben wir den Befehl "order by" [Parameter nach dem wir sortieren] und dann entweder "asc" (aufsteigend) oder "desc" (absteigend) dazu:
.
Im Video (05:59) zeigt Stefan nochmal im Schnelldurchlauf wie die Befehle funktionieren:
.
Änderungshistorie
Ein praktisches Tool ist die Änderungshistorie, welche am flex07 für viele Tabellen bereits existiert. Die Historie befindet sich immer in den Tabellen mit Namen
..._Historie_Col.
Möchte man die genaue Historie zu einem geänderten Datensatz benötigt man die Historie_Col Tabelle und die
RowID in der Ursprungstabelle.
Beispiel: Ich möchte wissen, wer zuletzt eine bestimmte E-Mailadresse geändert hat.
Ich gehe in die TPHON0 Tabelle und suche mir die ID der E-Mailadresse:
Die fortlaufende Nummer in dieser Tabelle lautet also 29304.
Ich öffne die dazugehörige Tabelle TPHON0_Historie_Col und suche nach dieser Row-ID, und sortiere diese nach Datum absteigend:
Hier kann ich also erkennen, dass zuletzt in das Bemerkungsfeld eingetragen wurde und zuvor den Eyepin-Newsletter Einstellungen gearbeitet wurde.
Der alte Wert steht in der Spalte "DeletedValue", der neue Wert in "InsertedValue".
Der User, der die Änderung eingetragen hat, steht in der Spalte HistorieUserID.
Den User kann man, wenn man das wissen möchte, in der Tabelle TUSER0 herausfinden:
Im folgenden Video (04:45) wird die Änderungshistorie nochmal dargestellt: