Hi, ich bin Denise und aktuell Studentin der Mathematik an der Uni Mainz.
Im Rahmen meines Praktikums bei der Mainzer Datenfabrik habe ich mich mit SQL-Datenbanken und SSMS beschäftigt und konnte so einen guten Einblick in den Umgang mit den Funktionen von SSMS bekommen und Eigenschaften von SQL-Datenbanken und Tabellen kennenlernen.
Am Ende meines Praktikums habe ich ein Skript erstellt, das nach dem Starten drei Tabellen erstellt und im Anschluss verschiedene Spalten der Tabellen ausgeben kann. Hierzu erkläre ich kurz, wie ich dabei vorgegangen bin.
Zunächst erstelle ich eine neue Datenbank (Test).
Mit DROP TABLE IF EXISTS lösche ich meine Tabellen, falls sie vorhanden sind, damit ich jedes Mal ohne Probleme mein Skript neu ausführen kann.
Mit CREATE TABLE definiere ich drei Tabellen (KundInnen, Artikel und Umsaetze).
Die Spalten der KundInnen- sowie Artikel-Tabellen enthalten jeweils eine automatisch fortlaufende ID als Integer und mit IDENTITY(1,1) erstellt man fortlaufende Einträge ab 1, zu denen immer 1 hinzuaddiert wird. Bei der Tabelle Umsaetze werden zunächst nur die Spalten-Namen und Datentypen vorgegeben. Dieser Vorgang wird mit den folgenden Codes ausgeführt:
Mit der Anweisung INSERT INTO füge ich der KundInnen- sowie der Artikel-Tabelle zufällige Namen in Form einer Zeichenfolge und in der Artikel-Tabelle eine zusätzliche Spalte mit zufälligen Preisangaben hinzu.
Da ich in der CREATE TABLE Anweisung beider Tabellen bereits die ID vorgebe, muss ich diese Spalte hier nicht mehr berücksichtigen und gebe mit GO 50 vor, dass 50 zufällige Einträge generiert werden sollen, da ich jeweils 50 Einträge in meinen Tabellen haben möchte.
Die folgenden Codes definieren die zufälligen Einträge:
Zum Definieren der Umsatz-Tabelle benutze ich eine Schleife, da zwei meiner Spalten aus den Tabellen KundInnen und Artikel aufgerufen werden sollen.
Die Spalten sehen dann wie folgt aus:
- Bewegung, mit zufälligem Datum als bigint
- ArtikelID aus der Artikel-Tabelle
- KundInnenID aus der KundInnen-Tabelle
- Stueckzahl mit zufälligen ganzen Zahlen zwischen 0 und 100
Mit der DECLARE-Anweisung deklariere ich verschiedene Variablen , denen ich im Anschluss Werte zuweisen kann, die ich für meine WHILE-Schleife benötige:
Für die Schleife setze ich einen Counter, damit ich vorgeben kann, dass sie nach 50 Wiederholungen abbricht und starte die Schleife mit BEGIN:
Mit der INSERT INTO-Anweisung gebe ich nun vor, welche Spalten gefüllt werden sollen und weise mit SELECT und SET den deklarierten Variablen verschieden Werte zu. Diese sieht wie folgt aus:
Zu dem Counter wird bis 50 immer 1 hinzu addiert und mit END nach 50 Wiederholungen abgebrochen.
Nachdem nun alle drei Tabellen definiert sind hat man die Möglichkeit verschiedene Werte der Tabellen ausgeben zu lassen.
Dieses Beispiel zeigt eine Tabelle, die in den Spalten das Buchungsdatum, den Namen des Artikels, den Einzelpreis, den Namen der KundInnen sowie den jeweiligen Umsatz enthält und nach den Top 10-Einträgen der Umsatz-Spalte sortiert ist.
Diese Tabelle ist bei den beschriebenen Vorgängen entstanden: