Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Lernen Sie das Datenbankdesign mit SQL Server Management Studio (SSMS) – Teil 2

Es ist der zweite Teil der Serie, die sich auf die Verwendung von SQL Server Management Studio konzentriert. Sie lernen die Kernkonzepte und Probleme des Datenbankdesigns kennen und erhalten eine exemplarische Vorgehensweise zum Entwerfen einer einfachen SQL-Datenbank mit SSMS (SQL Server Management Studio).

Voraussetzungen

  1. SQL Server 2016/2017/2019 Express/Developer Edition ist installiert.
  2. Die neueste Version von SSMS (SQL Server Management Studio) ist installiert.
  3. Die Leser verfügen über Grundkenntnisse der SQL-Datenbanken und der oben genannten Tools.
  4. Die grundlegenden Konzepte des Datenbankdesigns sind klar.
  5. Die Leser sind mit dem in Teil 1 besprochenen Student-Instructor-Entwurfsszenario vertraut.

Weitere Informationen finden Sie unter Datenbankdesign mit SQL Server Management Studio SSMS lernen, Teil 1 für weitere Informationen zu den oben genannten Anforderungen.

Entwicklung einer Schüler-Lehrer-Datenbank mit SSMS

Wir beginnen mit der Erstellung unserer einfachen SQL-Datenbank mit Hilfe von SSMS. Es ist jedoch besser, eine Zusammenfassung der geplanten Datenbank zu haben, bevor wir mit dem Design beginnen.

Zusammenfassung der Schüler-Lehrer-Datenbank

Wir haben über eine einfache Datenbank gesprochen, die aus den folgenden drei Tabellen besteht:

  1. Schüler . Diese Tabelle enthält Datensätze von Studenten.
  2. Lehrer . In dieser Tabelle werden Informationen zu allen Dozenten gespeichert.
  3. Schüler-Lehrer . Dieser teilt uns mit, welcher Lehrer welchem ​​Schüler zugeordnet ist.

Wichtig: einem Lehrer kann mehr als ein Schüler zugewiesen werden, und einem Schüler kann mehr als ein Lehrer (für verschiedene Fächer) zugewiesen werden.

Mit anderen Worten, viele Schüler können viele Lehrer haben.

Ersetzen der Schüler-Lehrer-Tabelle durch die Kurstabelle

Lassen Sie uns die Student-Instructor-Datenbank etwas verfeinern – wir benennen die Student-Instructor-Tabelle in Course-Tabelle um.

Auf diese Weise ist es einfacher zu verstehen, dass jeder Kurs mehrere Teilnehmer haben kann und jeder Kursleiter mehrere Teilnehmer für denselben Kurs haben kann.

Für diese Tabellen planen wir folgende Spalten:

  1. Student:StudentID, Name.
  2. Kursleiter:Kursleiter-ID, Name.
  3. Kurs:Kurs-ID, Name, Studenten-ID, Dozenten-ID.

Starten Sie SSMS (SQL Server Management Studio)

Geben Sie SSMS ein im Windows-Suchfeld und klicken Sie in der Ergebnisliste darauf, um die Software zu starten:

Beachten Sie, dass Sie die Version sehen, die Sie installiert haben. In unserem Fall ist es SSMS (SQL Server Management Studio) Version 18.0.

Mit der SQL Server-Datenbank-Engine verbinden

Im Objekt-Explorer Klicken Sie im Fenster auf Verbinden , und wählen Sie dann Datenbankmodul aus :

Wählen Sie den Servernamen (den Namen des SQL-Servers, den Sie auf Ihrem Computer installiert haben). Stellen Sie basierend auf Ihren Standardeinstellungen eine Verbindung mit der Datenbank-Engine her. In unserem Fall verwenden wir den Windows-Authentifizierungsmodus:

Erstellen Sie eine neue StudentInstructor-SQL-Datenbank

Sobald die Verbindung hergestellt ist, klicken Sie mit der rechten Maustaste auf die Datenbanken -Knoten im Objekt-Explorer , und klicken Sie auf Neue Datenbank… wie unten gezeigt:

Geben Sie den Namen der Datenbank StudentInstructor ein . Klicken Sie auf OK, Belassen Sie die Standardeinstellungen, es sei denn, Sie müssen sie ändern:

Die Datenbank sollte jetzt erstellt werden.

Erweitern Sie dieselben Datenbanken Knoten, um es zu finden:

Schülertisch erstellen

Jetzt müssen wir die Tabellen in der StudentInstructor-Datenbank erstellen.

Erweitern Sie StudentInstructor Datenbankknoten:Klicken Sie darauf und klicken Sie dann mit der rechten Maustaste auf Tabellen.

Gehen Sie zu Neu -> Tabelle… wie folgt:

Wir werden der Tabelle eine Spalte nach der anderen hinzufügen. Wir beginnen mit StudentId .

Geben Sie die StudentId ein Spaltenname und wählen Sie int aus Datentyp, da er numerisch sein wird (nur mit Zahlen):

Primärschlüssel festlegen

DieStudenten-ID Spalte wird auch der Primärschlüssel der Tabelle sein. Es hilft uns, einen Schüler (Zeile/Datensatz) eindeutig zu identifizieren.

Klicken Sie mit der rechten Maustaste auf den Pfeil, der auf die StudentId zeigt Spalte und klicken Sie auf Primärschlüssel festlegen :

Identität zum Primärschlüssel hinzufügen (StudentId)

Eine für eine Spalte festgelegte Identität erhöht automatisch ihren Wert, wenn neue Datensätze eingefügt werden. Es ist wie eine fortlaufende Nummer, die sich mit jedem neuen Rekord erhöht.

Wenn wir die Primärschlüsselspalte nicht als Identitätsspalte einrichten, fügen wir die ID für jeden neuen Datensatz manuell hinzu. Dies ist eine gute Idee, es einzurichten.

Beispielsweise hat der erste in die Student-Tabelle eingefügte Datensatz die automatische ID 1 und der nächste die StudentId 2 usw. Dies ist der Fall, wenn wir die Identität einrichten.

Scrollen Sie in den Spalteneigenschaften nach unten Fenster einmal die StudentId Die Primärschlüsselspalte ist ausgewählt, bis Sie die Identitätsspezifikation finden Eigentum.

Legen Sie die Identitätsspezifikation wie folgt fest (beginnend mit ist Identität) :

Identitätsspezifikation :Ja
(ist Identität) :Ja
Identitätsinkrement :1
Identitäts-Seed :1

Fügen Sie der Schülertabelle eine Namensspalte hinzu

Fügen Sie als Nächstes eine weitere Spalte hinzu – Name an den Tisch. Verwenden Sie varchar(45) Datentyp und deaktivieren Sie Nullwerte zulassen wie folgt:

Denken Sie daran, dass VARCHAR(45) repräsentiert die Zeichendaten (Typ) bis zu 45 Zeichen, die in der Spalte (Name) gespeichert werden sollen. Wenn wir Allow Nulls deaktivieren , müssen wir diesen Wert in die Spalte eingeben, um einen Schüler zu speichern aufnehmen.

Tabelle speichern (Schüler)

Der wichtigste Schritt ist das Speichern Ihrer Änderungen. In unserem Fall speichern wir die neu erstellte Tabelle, indem wir einfach auf Speichern klicken Disk-Symbol in der Symbolleiste oder mit der Tastenkombination STRG+S .

Geben Sie den Namen der Tabelle ein – Student – beim Speichern:

Schülertabelle anzeigen (Objekt-Explorer)

Sobald die Tabelle erfolgreich gespeichert wurde, erweitern Sie die Tabellen -Knoten des StudentInstructor Datenbank, um die neu erstellte Tabelle zu finden:

Erstellen Sie eine Dozententabelle mit den Spalten InstrutorId und Name

Klicken Sie in ähnlicher Weise mit der rechten Maustaste auf die Tabellen Knoten wieder. Erstellen Sie dieses Mal eine neue Tabelle mit dem Namen Instructor .

Fügen Sie dann eine neue Spalte namens InstructorId hinzu von int Datentyp und legen Sie ihn wie unten gezeigt als Primärschlüssel fest:

Der nächste Schritt ist das Hinzufügen von Identität in die Spalte InstructorId :

Fügen Sie danach den Namen hinzu Spalte von VARCHAR(45) Datentyp an den Lehrer Tabelle, und lassen Sie für diese Spalte keine Nullen zu, genau wie für den Namen Spalte Schüler Tabelle:

Speichern und Anzeigen einer Lehrertabelle (Objekt-Explorer)

Speichern Sie die Tabelle, indem Sie STRG+S drücken Verknüpfung oder Klicken auf das Speichern-Symbol. Benennen Sie die Tabelle als Lehrer .

Klicken Sie mit der rechten Maustaste auf die Tabellen Knoten unter StudentInstructor Datenbank und klicken Sie auf Aktualisieren um jetzt beide Tabellen zu sehen:

Erstellen Sie die Kurstabelle mit CourseId-Primärschlüsselspalte mit Identität

Wir müssen der Datenbank eine weitere Tabelle hinzufügen – den Kurs Tabelle, die IDs aus den Tabellen „Student“ und „Instructor“ enthält. Es wird eine Viele-zu-Viele-Beziehung geben (viele Schüler können gemäß unseren Anforderungen vielen Lehrern zugewiesen werden).

Erstellen Sie einen neuen Tisch Kurs mit der CourseId Primärschlüssel:

Fügen Sie der Spalte Identity auf die gleiche Weise wie für StudentId hinzu und InstructorId Spalten.

Fügen Sie die Spalten Name, StudentId und CourseId hinzu

Fügen Sie als Nächstes einen Namen hinzu Spalte vom Typ VARCHAR(45) zum Kurs Tabelle gefolgt vom Hinzufügen von StudentId und Kurs-ID Spalten von int Datentyp:

Vergessen Sie nicht, Nullwerte zulassen zu deaktivieren um sicherzustellen, dass ein Datensatz nicht gespeichert wird, ohne diese Spaltenwerte einzugeben.

Auf diese Weise stellen wir sicher, dass a Kurs muss einen Schüler haben und einen Kursleiter bevor es in der Datenbank gespeichert werden kann. Darüber hinaus der Student und Lehrer müssen in ihren ursprünglichen Tabellen vorhanden sein.

Speichern und Schnellprüfung

Speichern Sie die Tabelle und nennen Sie sie Course:

Zum Schluss Aktualisieren alle Tabellen und zeigen Sie die neu erstellte Tabelle zusammen mit anderen im Objekt-Explorer an :

Alle Tabellen zum Datenbankdiagramm hinzufügen

Jetzt müssen wir eine Beziehung zwischen den Tabellen erstellen, sodass sowohl Student und Lehrer Tabellen wurden mit dem Kurs verbunden Tabelle durch ihre Primärschlüssel.

Beispiel:StudentID im Schüler Tabelle ist mit StudentId verbunden im Kurs Tisch. Ebenso InstructorId im Lehrer Tabelle ist mit InstructorId verbunden im Kurs Tabelle.

Wir können es mit dem Datenbankdiagramm erreichen.

Rufen Sie den StudentInstructor auf Datenbank im Objekt-Explorer und klicken Sie mit der rechten Maustaste auf Datenbankdiagramme -> Neues Datenbankdiagramm :

Klicken Sie auf Ja :

Verwenden Sie die STRG-Taste drücken, um alle vorhandenen Tabellen auszuwählen und sie dem Datenbankdiagramm hinzuzufügen :

Sehen Sie sich das Datenbankdiagramm an und ordnen Sie die Tabellen neu an (klicken Sie auf die Tabelle und verschieben Sie sie), um den Kurs zu erstellen Tischständer in der Mitte, zwischen dem Schüler und Lehrer Tabellen:

Verknüpfen Sie die Schülertabelle mit der Kurstabelle

Wir müssen eine Beziehung zwischen Student herstellen und Kurs indem Sie StudentId verbinden im Schüler Tabelle mit der StudentId Spalte im Kurs Tabelle.

Ziehen Sie den StudentId-Schlüssel und ziehen Sie es in die Spalte StudentId in der Kurstabelle . Klicken Sie auf OK :

Es wird eine Fremdschlüsselbeziehung erstellt zwischen den Course- und Student-Tabellen – es stellt sicher, dass nur die in der Student-Tabelle gespeicherten Studenten in der Course-Tabelle gespeichert werden:

Verknüpfen Sie die Dozententabelle mit der Kurstabelle

Ebenso müssen Sie den Lehrer verknüpfen Tabelle mit dem Kurs Tabelle, sodass die InstructorId Primärschlüsselspalte des Lehrers Tabelle würde an InstructorId übergeben im Kurs Tabelle.

Auf diese Weise stellen wir sicher, dass die InstructorId Primärschlüssel existiert als Fremdschlüssel im Kurs Tisch. Das bedeutet, dass wir die Daten aller Lehrkräfte speichern können Reihe aus dem Kurs Tabelle nur, wenn dieser Kursleiter im ursprünglichen Kursleiter vorhanden ist Tisch. Auf diese Weise bewahren wir die Datenbankkonsistenz und -integrität gemäß der Standardpraxis.

Datenbankdiagramm speichern

Speichern Sie abschließend das Datenbankdiagramm, indem Sie auf Speichern klicken Symbol in der Symbolleiste:

Daten zur Schülertabelle hinzufügen

Es ist an der Zeit, einige Daten zu den erstellten Tabellen hinzuzufügen, beginnend mit der Student-Tabelle. Wir werden die Datensätze von drei Schülern zur Tabelle hinzufügen.

Klicken Sie mit der rechten Maustaste auf den Schüler Tabelle und klicken Sie auf Top 200 Zeilen bearbeiten (Keine Sorge, Sie werden keine 200 Zeilen bearbeiten):

Geben Sie die folgenden Namen ein und klicken Sie auf Enter um diese Datensätze zu speichern:

Schließen Sie dann das Fenster – klicken Sie auf das Kreuz oben rechts oder drücken Sie STRG+F4.

Bitte beachten Sie, dass den Datensätzen automatisch die StudentIds 1,2 und 3 zugeordnet werden. Wir werden sie später im Kurs verwenden Tabelle.

Daten zur Dozententabelle hinzufügen

Jetzt müssen wir zwei Dozenten namens Martin hinzufügen und Asad . Fügen Sie daher die folgenden Daten zum Instructor hinzu Tabelle:

Behalten Sie auch diese IDs 1 und 2 im Hinterkopf. Sie können dieses Fenster vorerst schließen.

Daten zur Kurstabelle hinzufügen

Wir haben Schüler auf der einen Seite und Lehrer auf der anderen Seite. Aber wir können nur diejenigen Studenten hinzufügen, die sich bereits in der Student-Tabelle befinden, und das gleiche gilt für Dozenten.

Lassen Sie uns alle drei Studenten in die Datenbanken einschreiben Kurs und weisen Sie diesem Kurs einen Kursleiter zu auch:

Sehen Sie sich den Inhalt der Kurstabelle an

Um die Daten anzuzeigen, klicken Sie mit der rechten Maustaste auf den Kurs Tabelle -> Top-1000-Zeilen auswählen:

Herzliche Glückwünsche! Sie haben erfolgreich gelernt, eine einfache Datenbank mit SSMS (SQL Server Management Studio) zu entwerfen. Daneben haben wir trainiert, neue Datensätze einzufügen und die eingefügten Daten anzuzeigen.

Dinge zu tun

Nachdem Sie nun eine Datenbank mit SSMS entwerfen können, versuchen Sie Folgendes, um Ihre Fähigkeiten weiter zu verbessern:

  1. Versuchen Sie, den Inhalt der Schüler- und Lehrertabellen anzuzeigen.
  2. Versuchen Sie, einen anderen Kurs namens Business Intelligence hinzuzufügen und alle drei Studenten in diesem Kurs einschreiben und den Dozenten Asad zuweisen (InstructorId:2)
  3. Denken Sie daran, dass Sie das eigentliche Datenbankdesign aus dem Artikel durch die folgenden Dinge verbessern können:
    • Umbenennung des Kurses Tabelle als Klasse Tabelle;
    • Entfernen des Namens Spalte aus der Klasse Tabelle;
    • Ersetzen der CourseId mit der ClassId Spalte;
    • Erstellen eines separaten Kurses Tabelle mit den Spalten CourseId und Name, genau wie für die Tabellen Student und Instructor;
    • Hinzufügen einer neuen CourseId -Spalte mit der Klassentabelle und Verknüpfung von CourseId des Kurses Tabelle mit der CourseId Spalte in der Klasse Tabelle, genau wie Student und Instructor.