Letzte Seiten: Main/HomePage > SqlÜbung/Buchverleih > Modellierung/Beziehungen

Datenzugriff

Für den Zugrif auf die Daten einer Datenbank ist es genauso wichtig zu definieren, welcher Benutzer auf welche Daten Zugriff erhält, wie auf Betriebssystemebene. Dies beinhaltet sowohl den Zugriff auf die Datenbank als solche als auch den Zugriff auf die einzelnen Datenbankobjekte und deren Inhalte. Das Datenbanksystem prüft vor dem Zugriff auf die Daten die Gültigkeit der Berechtigungen. Hierzu werden die Zugriffsrechte in den Systemtabellen gespeichert.

Zur Umsetzung von Zugriffsberechtigungen werden Rollen und Benutzer definiert, denen entsprechene Zugriffsrechte zugewiesen werden. Diese Rechte können durch sogen. Zugangsprivilegien eingeschränkt werden. Die Privilegien definieren quasi den Rahmen der Berechtigungen, die überhaupt möglich sind.

Mit der Anweisung GRANT können die Zugriffsrechte auf eine Datenbank in mehreren Ebenen vergeben werden. Mit dieser Anweisung werden auch die Rechte der Benutzer für den Zugriff auf Tabellenebene und Spaltenebene festgelegt.
Über die Anweisung REVOKE können die mit der GRANT-Anweisung vergebenen Rechte wieder gelöscht werden.

Das Vergeben und Löschen von Rechten setzt voraus, daß der Benutzer, der Rechte vergeben oder löschen will, auch selbst ausreichende Rechte auf die entspr. Datenbankobjekte besitzt. Jedes Objekt der Datenbank hat einen Eigentümer. Meist ist es der Erzeuger des Objektes.

Neben der Vergabe von Zugriffsrechten ist es außerdem möglich, ganze Tabellen für den Zugriff zu sperren bzw. wieder zu entsperren. Dies wird mit Hilfe der Anweisungen LOCK / UNLOCK (unter Informix) ermöglicht.

Hinweis: Es versteht sich von selbst, daß der generelle Zugriff auf das Betriebsystem bzw. die Dateiebene geregelt sein muß, bevor Datenbank-Zugriffsrechte sinnvoll zum Tragen kommen.