Freigeben über


Arbeiten mit Tabellen

von Saad Ladki

Voraussetzungen

In dieser exemplarischen Vorgehensweise wird die folgende Umgebung vorausgesetzt:

  1. Der IIS-Datenbank-Manager ist auf Ihrem Webserver installiert (<Link zum Download von DB-Manager>).
  2. Ein Datenbankserver (der sich auf demselben physischen Computer wie Ihr Webserver befindet)

Vorbereitungen

Wir verwenden ein Szenario für diese exemplarische Vorgehensweise und gehen davon aus, dass wir eine Zugriffssteuerungsliste für Ressourcen auf unserer fiktiven Website www.fabrikam.com erstellen möchten. Dazu erstellen wir 2 Tabellen:

Die erste Tabelle, „FabrikamUsers“, enthält die Benutzer-ID, den Benutzernamen und die E-Mail-Adresse für jeden Benutzer.
Die zweite Tabelle, „AccessControls“, enthält einen Verweis auf eine Benutzer-ID, eine Ressourcen-URL und ob der Benutzer Zugriff auf die Ressource hat oder nicht. Screenshot of Fabrikam Users table and Access Controls table. The Fabrikam Users table contains the text user I D, username, and email address. The AccessControls table has the text A C I D, user I D, Resource U R L, and Is User Allowed.

Erstellen einer neuen Tabelle

So erstellen Sie eine neue Tabelle

  1. Öffnen Sie das Dialogfeld Internetinformationsdienste-Manager.

  2. Wechseln Sie zum Datenbank-Manager, und erweitern Sie ihren Datenbankverbindungsknoten (Weitere Informationen zum Erstellen von Verbindungen mit einer Datenbank finden Sie unter Grundlagen des IIS-Datenbank-Managers).

  3. Klicken Sie auf den Knoten „Tabellen“ mit der rechten Maustaste, und wählen Sie „Neue Tabelle“ aus. Screenshot of Tables node. Tables option is selected and New Table is highlighted.

    Im Editorbereich wird eine neue Registerkarte angezeigt. Nehmen Sie sich einen Moment Zeit, um sich mit den Schaltflächen auf der Symbolleiste vertraut zu machen:

    1. Neue Spalte: Ermöglicht das Hinzufügen einer neuen Spalte zur Tabellendefinition.
    2. Spalte löschen: Ermöglicht das Entfernen einer vorhandenen Spalte für die Tabellendefinition.
    3. Index/Schlüssel: Ermöglicht ihnen die Definition eines Index- oder Primärschlüssels in der Tabelle.
    4. Beziehungen: Ermöglicht es Ihnen, eine Fremdschlüsselbeziehung in der Tabelle zu definieren.
    5. Speichern: Ermöglicht das Speichern von Änderungen an der Tabelle.

    Screenshot of editor toolbar. The buttons for New Column, Delete Column, Indexes and Keys, Relationships, and Save are highlighted.

  4. Klicken Sie in der Symbolleiste auf „Neue Spalte“. Es wird eine neue Spalte erstellt, und es wird ein Bereich „Spalteneigenschaften“ angezeigt.

  5. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie 'UserId' für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „int“ fest.
    4. Lassen Sie „Standardwert“ leer.
    5. Legen Sie „IsIdentity“ auf „Wahr“ fest.

    Screenshot of Column Properties pane. Is Identity option is highlighted and the text to the right of it is set to True.

  6. Lassen Sie uns nun dieses Feld zu einem Primärschlüssel machen, indem Sie auf das Symbol „Index/Schlüssel“ klicken. Ein neues Dialogfeld wird geöffnet. Screenshot of editor toolbar. The Indexes and Keys button is highlighted.

  7. Klicken Sie im Dialogfeld auf die Schaltfläche „Hinzufügen“, und füllen Sie dann die Informationen für den Primärschlüssel wie folgt aus:

    1. Legen Sie „Spalten“ auf „UserId“ fest.
    2. Legen Sie „Ist einzigartig“ auf „Wahr“ fest.
    3. Legen Sie „Typ“ auf „Primärschlüssel“ fest.
    4. Legen Sie „Name“ auf „PK_UserId“ fest.

    Screenshot of the Indexes and Keys pane. Under the heading Identity, the text Name is selected.

  8. Klicken Sie auf Schließen, um das Dialogfeld zu schließen.

  9. Fügen Sie eine weitere Spalte für den Benutzernamen hinzu, indem Sie auf der Symbolleiste auf „Neue Spalte“ klicken.

  10. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie „Benutzername“ für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „varchar“ fest.
    4. Legen Sie „Länge“ auf 50 fest.
  11. Fügen Sie schließlich eine weitere Spalte für die E-Mail-Adresse hinzu, indem Sie auf der Symbolleiste auf „Neue Spalte“ klicken.

  12. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie „E-Mail“ für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Wahr“ fest.
    3. Legen Sie „Datentyp“ auf „varchar“ fest.
    4. Legen Sie „Länge“ auf 100 fest.
  13. Klicken Sie in der Symbolleiste auf „Speichern“, wird ein Dialogfeld zum Speichern geöffnet. Screenshot of Toolbar. Save button is highlighted.

  14. Geben Sie im „Tabellennamen“ den Namen FabrikamUsers ein. Sie können auch ein Schema angeben oder das Feld „Schemaname“ leer lassen, um das Standardschema für Ihren Datenbankbenutzer zu verwenden. Screenshot of save dialog. In the Table Name box the text Fabrikam Users is written. Use default schema is selected.

Definieren wir nun die Tabelle „AccessControls“. Wir folgen ähnlichen Schritten wie oben:

  1. Klicken Sie auf den Knoten „Tabellen“ mit der rechten Maustaste, und wählen Sie „Neue Tabelle“ aus. Im Editorbereich wird eine neue Registerkarte angezeigt.

  2. Klicken Sie in der Symbolleiste auf „Neue Spalte“. Es wird eine neue Spalte erstellt, und es wird ein Bereich „Spalteneigenschaften“ angezeigt.

  3. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie „ACId“ für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „int“ fest.
    4. Lassen Sie „Standardwert“ leer.
    5. Legen Sie „IsIdentity“ auf „Wahr“ fest.
  4. Lassen Sie uns nun dieses Feld zu einem Primärschlüssel machen, indem Sie auf das Symbol „Index/Schlüssel“ klicken. Ein neues Dialogfeld wird geöffnet.

  5. Klicken Sie im Dialogfeld auf die Schaltfläche „Hinzufügen“, und füllen Sie dann die Informationen für den Primärschlüssel wie folgt aus:

    1. Legen Sie „Spalten“ auf „ACId“ fest.
    2. Legen Sie „Ist einzigartig“ auf „Wahr“ fest.
    3. Legen Sie „Typ“ auf „Primärschlüssel“ fest.
    4. Legen Sie „Name“ auf „PK_ACId“ fest.
  6. Klicken Sie auf Schließen, um das Dialogfeld zu schließen.

  7. Fügen Sie eine weitere Spalte für den verweisenden Benutzer hinzu, indem Sie in der Symbolleiste auf „Neue Spalte“ klicken.

  8. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie 'UserId' für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „int“ fest.
    4. Legen Sie „IsIdentity“ auf „Falsch“ fest.
  9. Fügen Sie eine weitere Spalte für die Ressource hinzu, indem Sie in der Symbolleiste auf „Neue Spalte“ klicken.

  10. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie „ResourceURL“ für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „varchar“ fest.
    4. Legen Sie „Länge“ auf 200 fest.
  11. Fügen Sie schließlich eine weitere Spalte hinzu, um den Zugriff mit der rechten Maustaste anzugeben, indem Sie in der Symbolleiste auf „Neue Spalte“ klicken.

  12. Gehen Sie in den Spalteneigenschaften wie folgt vor:

    1. Geben Sie „IsUserAllowed“ für den Namen der Spalte ein.
    2. Legen Sie „Null zulassen“ auf „Falsch“ fest.
    3. Legen Sie „Datentyp“ auf „Bit“ fest.
    4. Legen Sie „Standardwert“ auf „Falsch“ fest.
  13. Klicken Sie in der Symbolleiste auf „Speichern“, wird ein Dialogfeld zum Speichern geöffnet.
    Screenshot of Database Manager. Column Name A C I d is highlighted.

  14. Geben Sie im Feld „Tabellenname“ „AccessControls“ ein. Sie können auch ein Schema angeben oder das Feld „Schemaname“ leer lassen, um das Standardschema für Ihren Datenbankbenutzer zu verwenden.

Ändern einer vorhandenen Tabelle

Mit dem Datenbank-Manager können Sie die Definition einer vorhandenen Tabelle bearbeiten. Genauer gesagt können Sie:

  • Hinzufügen, Ändern oder Löschen neuer Spalten.
  • Hinzufügen, Ändern oder Löschen eines Primärschlüssels.
  • Hinzufügen, Ändern oder Löschen einer Fremdschlüsselbeziehung.

Nachdem wir nun die beiden Tabellen „FabrikamUsers“ und „AccessControls“ erstellt haben, verknüpfen wir sie miteinander. Wir müssen die Tabelle „AccessControls“ bearbeiten und der Tabelle „FabrikamUsers“ eine Fremdschlüsselbeziehung hinzufügen:

  1. Öffnen Sie den IIS-Manager, und navigieren Sie zum Datenbank-Manager.
  2. Erweitern Sie den Datenbankverbindungsknoten in der Datenbank-Manager-Strukturansicht (Weitere Informationen zum Erstellen von Verbindungen zu einer Datenbank finden Sie unter Grundlagen des IIS-Datenbank-Managers).
  3. Erweitern Sie den Knoten „Tabellen“. Nun sollte eine Liste aller Datenbanktabellen angezeigt werden, einschließlich „FabrikamUsers“ und „AccessControls“.
  4. Wählen Sie „AccessControls“ aus, und klicken Sie dann auf der Symbolleiste auf „Tabellendefinition öffnen“. Eine Tabellenentwurfsansicht wird geöffnet und zeigt die Spalten an, die wir in Erstellen einer neuen Tabelle erstellt haben.
    Screenshot of Database Manager tree view. Tables node is expanded. Open Table Definition is selected.
  5. Klicken Sie in der Symbolleiste der Tabellenentwurfsansicht auf „Beziehungen“. Das Dialogfeld „Fremdschlüsselbeziehungen“ wird geöffnet.
    Screenshot of Database Manager dialog. Within the Table pane the Relationships button is highlighted.
  6. Klicken Sie auf Hinzufügen. Ein neuer Fremdschlüsselbeziehungs-Editor wird angezeigt.
  7. Wählen Sie im Fremdschlüsselbeziehungs-Editor die Option „Tabellen- und Spaltenspezifikationen“ aus, und klicken Sie auf die Schaltfläche mit den Auslassungspunkten „...“. Das Dialogfeld „Tabellen und Spalten“ wird geöffnet. Screenshot of the Foreign Key Relationships dialog box. F K underscore Access Controls underscore one is selected in the left pane. In the right pane, Tables and Columns Specification is selected and the ellipsis button is highlighted.
  8. Geben Sie im Feld „Beziehungsname“ „FK_AccessControlsForUsers“ ein.
  9. Wählen Sie in der Dropdownliste „Primärschlüsseltabelle“ „FabrikamUsers“ aus. Nun sollte eine Dropdownliste mit Primärschlüsseln aus der Tabelle „FabrikamUsers“ angezeigt werden. Stellen Sie sicher, dass „UserId“ ausgewählt ist.
  10. In der zweiten Dropdownliste sollte eine Liste von Spalten aus „AccessControls“ angezeigt werden. Wählen Sie „UserId“ aus, und klicken Sie auf „OK“, um das Dialogfeld zu schließen.
    Screenshot of the Tables and Columns dialog box. In the Relationship name box F K underscore Access Controls For Users is written. In the Primary Key Table box d b o dot Fabrikam Users is written. In the second drop down, User I D is selected.
  11. Klicken Sie im Dialogfeld „Fremdschlüsselbeziehungen“ auf „Schließen“.
    Screenshot of Foreign Key Relationships dialog box. In the left pane F K underscore Access Controls For Users is selected. In the right pane Tables and Columns Specification is selected.
  12. Klicken Sie auf „Speichern“, um die Tabellen zu aktualisieren. Wir haben nun gerade eine Beziehung zwischen den Tabellen „FabrikamUsers“ und „AccessControls“ erstellt.

Ändern von Tabellendaten

Mit dem Datenbank-Manager können Sie Daten in einer vorhandenen Tabelle ändern. Genauer gesagt können Sie:

  • Fügen Sie neue Zeilen hinzu.
  • Ändern eines Werts in einer vorhandenen Zeile (verfügbar für unterstützte Datentypen <-Verknüpfung mit unterstützten Datentypen>).
  • Vorhandene Spalte löschen.

Beginnen wir mit dem Befüllen unserer Tabelle „FabrikamUsers“ und „AccessControls“ mit einigen Benutzerinformationen:

  1. Öffnen Sie den IIS-Manager, und navigieren Sie zum Datenbank-Manager.
  2. Erweitern Sie den Datenbankverbindungsknoten in der Datenbank-Manager-Strukturansicht (Weitere Informationen zum Erstellen von Verbindungen zu einer Datenbank finden Sie unter Grundlagen des IIS-Datenbank-Managers).
  3. Erweitern Sie den Knoten „Tabellen“. Nun sollte eine Liste aller Datenbanktabellen angezeigt werden, einschließlich „FabrikamUsers“ und „AccessControls“.
  4. Klicken Sie mit der rechten Maustaste auf „FabrikamUsers“, und wählen Sie „Tabellendaten anzeigen“ aus. Nun sollten die Daten in der Tabelle angezeigt werden. Es sollte auch eine Zeile vor einem '*' vorhanden sein, mit der Sie neue Daten eingeben können. Screenshot of Tables node and list of database tables. The Table title d b o dot Fabrikam Users is selected. Show Table Data is highlighted.
  5. Klicken Sie in der neuen Zeile (*) in die Spalte „Benutzername“, und geben Sie „John Doe“ ein. Klicken Sie als Nächstes auf die Spalte „E-Mail“, und geben Sie „JohnDoe@fabrikam.com“ ein. Screenshot of Table node and list of database tables in the left pane. In the right pane under the heading User I D a number one is written and highlighted in the first column and first row.
  6. Wenn Sie die Eingabe von Informationen für die neue Zeile abgeschlossen haben, drücken Sie die Eingabetaste. Die Informationen werden jetzt in der Datenbank gespeichert. Beachten Sie, dass das Feld „UserId“ automatisch mit einem inkrementellen Wert befüllt wird, da es als Identität gekennzeichnet ist.
  7. Fügen Sie einige weitere Zeilen mit Beispielbenutzernamen und E-Mail-Adressen hinzu.
  8. Klicken Sie mit der rechten Maustaste auf „AccessControls“, und wählen Sie „Tabellendaten anzeigen“ aus. Nun sollten die Daten in der Tabelle angezeigt werden. Es sollte auch eine Zeile vor einem '*' vorhanden sein, mit der Sie neue Daten eingeben können.
  9. Klicken Sie in der neuen Zeile (*) in die Spalte „UserId“, und geben Sie „1“ ein. Wenn Sie diesen UserId-Wert eingeben, wird auf den ersten Datensatz in der Tabelle „FabrikamUsers“ verwiesen (der laut unserem Beispiel „John Doe“ lauten soll.
  10. Klicken Sie als Nächstes auf die Spalte „ResourceURL“ und geben Sie „admin.aspx“ ein, und dann „Wahr“ in die Spalte „IsUserAllowed“. Dies bedeutet, dass der Benutzer „John Doe“ auf die admin.aspx-Seite unserer fiktiven Website zugreifen kann.
    Screenshot of Database Manager dialog box. In the left pane is the Tables node. In the right pane in the column titled A C I d the number one is written and highlighted.
  11. Fügen Sie einige weitere Zeilen mit Beispielzugriffsrechten für andere Benutzer hinzu.

Nachdem wir nun einige Daten in der Tabelle haben, lassen Sie uns eine vorhandene Zeile ändern und löschen:

  1. Klicken Sie auf eine beliebige Tabellenzelle, die Sie ändern möchten. Geben Sie einen neuen Wert in die Zelle ein. Beachten Sie, dass neben der Zeile, die Sie bearbeiten, ein Bleistift angezeigt wird.
  2. Klicken Sie auf eine andere Zelle, oder schließen Sie die Tabelle, um die Informationen zu speichern. Beachten Sie, dass die Informationen auf dem Server gespeichert werden und das Bleistiftsymbol ausgeblendet wird.
  3. Wählen Sie nun eine Zeile aus, indem Sie auf den Pfeil links neben der Zeile klicken und dann in der Symbolleiste auf die Schaltfläche „Löschen“. Ein Dialogfeld fordert vor dem Löschen eine Bestätigung an. Screenshot of the Table. The Delete button in the toolbar is highlighted. The fourth row is selected.
  4. Wenn Sie „Ja“ auswählen, wird die Informationszeile auf dem Server gelöscht.