Data Control Language

Die Data Control Language (DCL; deutsch Datenkontrollsprache[1]) ist derjenige Teil einer Datenbanksprache, der verwendet wird, um Berechtigungen zu vergeben oder zu entziehen. DCL ist die Datenüberwachungssprache einer Datenbank. Die DCL gibt es in unterschiedlichen Systemen in verschiedenen Ausprägungen. Beispiele:

  • In SQL liegt sie (neben DDL und DML) in Form englischer Befehlsklauseln vor (z. B. GRANT SELECT, UPDATE ON INVOICE TO CLERK oder REVOKE EXECUTE ON NIGHTLY_JOB FROM DEVELOPERS).
  • In den historischen IMS-Datenbanken wird die DCL komplett von der Datenschutzkomponente des Betriebssystems übernommen.

Einige Software-Hersteller verwenden den Begriff DCL nicht und zählen die Berechtigungsbefehle zur DDL.

SQL

In der für praktische Anwendungen wichtigen Structured Query Language lautet die Syntax wie folgt:

GRANT Operation+ ON Relation TO (PUBLIC|Benutzer) [WITH GRANT OPTION]
REVOKE Operation+ ON Relation FROM (PUBLIC|Benutzer)
  • Relation kann insbesondere auch eine Sicht sein.
  • WITH GRANT OPTION erlaubt es den neuen Rechteinhabern, das Recht weiterzugeben.
  • PUBLIC bezeichnet alle Benutzer.
  • Der Datenbankadministrator (DBA) hat alle Rechte. Der Besitzer eines Objektes hat ebenfalls alle Rechte an diesem Objekt.

Die Kommandos zur Rechteverwaltung sind in SQL spezifiziert, nicht jedoch die zur Benutzerverwaltung. Daher implementiert jedes DBMS seine eigene Benutzerverwaltung, die Rollennamen und/oder Benutzergruppen kennen mag oder auch nicht.

  • In modernen DBMS können Rechte auf alles Mögliche vergeben werden, nicht nur auf einzelne Tabellen.

Beispiele:

GRANT SELECT, UPDATE ON TABLE Student TO groupx;
Gestattet dem Benutzer bzw. der Gruppe groupx einen lesenden und ändernden Zugriff auf die Tabelle Student.
REVOKE EXECUTE ON PROCEDURE DSN8ED6 FROM PUBLIC;
Entzieht allen nicht explizit berechtigten Benutzern das Recht, die Stored-Procedure DSN8ED6 auszuführen. Berechtigungen, die einem Benutzer oder einer Gruppe erteilt wurden, bleiben bestehen.

Siehe auch

Einzelnachweise

  1. 4.1.2 Daten abfragen – SELECT (Memento vom 10. Dezember 2016 im Internet Archive) aus SQL & MySQL – interaktiv, Seite 103, Andreas Buchmann und Ralf Smolarek, Verlag Omnigena, 2005, ISBN 3-936121-02-8

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.