Tabellen mit dem SQL Server Management Studio Table Designer erzeugen
Das SQL Server Management Studio liefert mit dem Table Designer ein Tool zum simplen Anlegen von Datenbank-Tabellen für den Microsoft-Datenbankserver.
Anmerkung der Redaktion: Dies ist der erste Beitrag einer zweiteiligen Artikelserie, der die Verwendung des SQL Server Management Studio Table Designers für das Anlegen von Datenbank-Tabellen und deren Eigenschaften beschreibt. Dieser Teil behandelt das Anlegen der Tabelle und ihrer Spalten. Im zweiten Teil wird es um das Setzen von Constraints gehen.
Tabellen in SQL Server zu erzeugen erscheint vielen Menschen als undankbare Aufgabe, gerade Datenbankneulingen graust es davor. Neben den Spalten, die die Tabelle aufspannen, ist auch die Definition der einzusetzenden Datentypen für diese Spalten erforderlich.
Zusätzlich verlangen Schemata, Dateigruppen und Sortierreihenfolgen ihren Tribut. Der SQL Server Management Studio Table Designer, eine einfach gehaltene Benutzeroberfläche für die Definition der Bestandteile einer Tabelle, vereinfacht diese Aufgabe enorm, wie Sie in den folgenden Absätzen sehen werden.
Tabellen hinzufügen
Sie erreichen den SQL Server Management Studio (SSMS) Table Designer, indem Sie sich im Studio mit einer SQL Server-Instanz verbinden, den Knoten Databases im Objektexplorer aufklappen und danach den Knoten der Datenbank öffnen, der Sie eine Tabelle hinzufügen möchten.
Die Abbildungen in diesem Artikel zeigen das für die Datenbank AdventureWorks2012 in einer lokalen Instanz von SQL Server 2012, dem Vorgänger des aktuellen SQL Server 2014, gelten aber auch für die aktuelle Version.
Nach dem Aufklappen der Zieldatenbank klicken Sie mit der rechten Maustaste auf den Knoten Tables und wählen Sie aus dem Kontextmenü den Eintrag New Table. Dieser Klick ruft nun den Tabellendesigner auf (siehe Abbildung 1).
Abbildung 1: Gestarteter Tabellendesigner im SSMS
Den Tabellendesigner, aufgeteilt in zwei Arbeitsbereiche, finden Sie mittig zwischen Objektexplorer und Eigenschaftenfenster. Im oberen Arbeitsbereich definieren Sie Ihre initialen Spalten.
Mehr zum Thema SQL Server:
Sechs tägliche Aufgaben für jeden SQL Server Datenbankadministrator (DBA).
Fünf Alternativen zu Microsoft Azure SQL Server.
Hilfreiche Tools von Drittanbietern für Microsoft SQL Server.
SQL Server Probleme und Engpässe beheben: Die besten Drittanbieter-Tools.
Darunter erhalten Sie die Möglichkeit, für jede Spalte deren Eigenschaften zu konfigurieren. Dafür werden im unteren Arbeitsbereich jeweils die Eigenschaften der im oberen Bereich ausgewählten Spalte angeboten. Da in Abbildung 1 noch keine Spalten definiert sind, ist auch im unteren Arbeitsbereich noch kein Eintrag zu sehen.
Bei der Verwendung des Tabellendesigners werden Sie in aller Regel das Eigenschaftenfenster verwenden wollen, das Sie in Abbildung 1 am rechten Bildschirmrand erkennen können. Im Eigenschaftenfenster können Sie die Eigenschaften der Tabelle als solcher konfigurieren.
So können Sie hier beispielsweise den Namen der Tabelle ändern, ihr eine Beschreibung hinzufügen, die Tabelle einem Schema hinzufügen oder eine Dateigruppe auswählen. Abbildung 2 bietet einen genaueren Blick auf das Eigenschaftenfenster für eine neue Tabelle, für in der Abbildung bereits die Eigenschaften Name und Schema festgelegt worden sind.
Abbildung 2: Modifizieren der Tabelleneigenschaften
Mindestens den Tabellennamen werden Sie in jeder Tabelle nach Ihren Vorstellungen festlegen wollen. Als Vorgabe vergibt SQL Server hier Namen wie Table_1, der im Beispiel auf SpecialtyProducts geändert wurde. Zusätzlich hat die Eigenschaft Schema statt der Vorgabe dbo den Wert Production erhalten.
Alle anderen Eigenschaften sind im Beispiel unberührt geblieben, Sie können jedoch jede Eigenschaft verändern, die nicht ausgegraut dargestellt wird. So können Sie beispielsweise eine andere Dateigruppe als die Vorgabe PRIMARY festlegen (soweit verfügbar), oder Sie können den Wert für Lock Escalation ändern, um die übergeordnete Ebene für die Konsolidierung multipler Locks zu definieren.
Diese Eigenschaft ist ein gutes Beispiel für die Notwendigkeit, sich mit der Bedeutung der einzelnen Eigenschaften vertraut zu machen – nehmen Sie sich die Zeit dafür. Fragen Sie sich, welche Bedeutung einer Eigenschaft zukommt, oder welche Funktion ihr zugrunde liegt, so konsultieren Sie zur Klärung die SQL Server Books Online.
Spalten hinzufügen
Richten wir unseren Blick nun auf das Fenster des SQL Server Management Studio Table Designers und beginnen wir damit, es zum Hinzufügen neuer Spalten zu nutzen. Beginnen wir mit der Spalte StoreID, deren Werte vom Typ int sein sollen. Um die Spalte zu erzeugen, tippen sie den Spaltennamen in die erste Spalte der ersten Zeile im oberen Arbeitsbereich, wie in Abbildung 3 zu sehen. Wählen Sie als Datentyp int und deaktivieren Sie das Kästchen Allow Nulls, das standardmäßig aktiviert ist.
Abbildung 3: Hinzufügen der Spalte StoreID zur Tabelle SpecialtyProducts
Fügen Sie dem oberen Grid eine Spalte hinzu, so erscheinen im unteren Arbeitsbereich die Eigenschaften dieser Spalte. Die aus dem oberen Arbeitsbereich schon bekannten Eigenschaften Name, Allow Nulls und Date Type finden Sie dort der Vollständigkeit halber natürlich ebenso wieder.
In welchem Arbeitsbereich Sie diese Eigenschaften ändern, obliegt alleine Ihrer Wahl. Modifizieren können Sie ebenso alle Eigenschaftenwerte, deren Darstellung nicht ausgegraut ist. So könnten Sie beispielsweise eine Spalte als Identitätsspalte definieren, indem Sie die Eigenschaftengruppe Identity Specification ausklappen und deren Eigenschaft Is Identity auf Yes festlegen.
Welche Eigenschaften Sie jeweils verändern können ist abhängig vom Wertetyp der Spalte. Schauen wir uns einige weitere Beispiele an, um dies näher zu betrachten. Fügen wir eine weitere Spalte mit dem Namen ProductID hinzu, die ebenso wie StoreID den Datentyp int aufnimmt und keine Nullwerte zulässt. Weiter erzeugen wir eine Spalte mit dem Namen AltID, die Werte vom Datentyp char(7) aufnehmen und Nullwerte zulassen soll (vgl. Abbildung 4).
Abbildung 4: Hinzufügen der Spalte AltID zur Tabelle SpecialtyProducts
Vergleichen Sie Abbildung 4 mit der vorherigen Abbildung 3, so wird Ihnen auffallen, dass sie sich darin unterscheiden, welche Eigenschaften ausgegraut erscheinen. Beispielsweise können Sie für die Eigenschaft Is Identity für Spalten mit dem Zeichenketten-Typ char nicht einsetzen, hingegen stehen Ihnen dafür die Eigenschaften Length, Collation und Is Sparse zur Verfügung.
Fügen wir im Weiteren Spalten mit den Bezeichnern ProcudtName und DateAdded hinzu. Für die Spalte ProductName sehen wir den Datentyp nvarchar(50) vor, während wir den Datentyp für DateAdded auf datetime festlegen.
Keine dieser Spalten erlaubt Nullwerte. Für den Datentyp DateAdded ergänzen wir nun noch einen Standardwert, den wir mithilfe der Funktion getdate() definieren. Abbildung 5 zeigt Ihnen den Table-Designer nach Auswahl der Spalte DateAdded.
Abbildung 5: Hinzufügen der Spalte DateAdded zur Tabelle SpecialtyProducts
Beachten Sie in Abbildung 5 den Wert für die Eigenschaft Default Value or Binding, der mit getdate() belegt ist. Mit dieser Festlegung haben wir einen DEFAULT-Constraint, also einen Standardwert auf die Spalte gelegt. Weil in diesem Fall der Standardwert die getdate()-Funktion ist, wird bei jedem Hinzufügen eines neuen Datensatzes der Wert der DateAdded-Spalte mit dem dann aktuellen Zeitstempel versehen (es sei denn, der Spalte würde explizit ein anderer Wert zugewiesen).
Wie Sie sehen, ist das Hinzufügen von Spalten zu einer Tabelle mithilfe des Table-Designers ein sehr unkomplizierter Vorgang. Sie vergeben mindestens Spaltenname und Datentyp, und SQL Server erledigt für Sie den Rest. Sie können jedoch auch eine Vielzahl weiterer Eigenschaften zur Konfiguration der Spalten Ihrer Datenbanktabelle konfigurieren, deren Umfang und Art jeweils vom Datentyp der Spalte abhängig sind.
Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!