Es gibt zwei Möglichkeiten, Rollen in einer Datenbankumgebung zu verwenden:
- Benutzerregeln
- Anwendungsrollen.
Eine Benutzerrolle wird für eine Gruppe von Datenbankbenutzern erstellt, die mehrere gemeinsame Berechtigungsanforderungen haben, z. B. die Notwendigkeit, auf vertrauliche Informationen zuzugreifen.
Anwendungsrollen werden gewährt, wenn dies zum Ausführen einer Datenbankanwendung erforderlich ist. Anwendungsrollen können dann anderen spezifischen Benutzern oder Rollen zugewiesen werden. Die Anwendung kann aus einer Reihe verschiedener Rollen bestehen, da jeder ein anderer Satz oder eine andere Gruppe von Berechtigungen zugewiesen wird. Bei Verwendung der Anwendung können diese Berechtigungen den Zugriff auf weniger oder mehr Daten ermöglichen.
Wenn es um die eigentlichen Mechanismen von Datenbankrollen geht, können sie auf unterschiedliche Weise funktionieren:
- Rollen können Schema- oder Systemberechtigungen zugewiesen werden.
- Eine bestimmte Rolle kann tatsächlich einer anderen zugewiesen werden. Allerdings gibt es bei dieser Funktion Regeln, wie z. B. darf sich eine Rolle nicht selbst zugesprochen werden. Sie kann auch nicht zirkulär vergeben werden, d. h. die Rolle X kann nicht an die Rolle Y vergeben werden, wenn die Rolle Y bereits an die Rolle X vergeben wurde.
- Jedem Datenbankbenutzer kann eine beliebige Rolle zugewiesen werden.
- Jede einem Benutzer zugewiesene Rolle ist zu jedem Zeitpunkt entweder deaktiviert oder aktiviert.
- Eine indirekt vergebene Rolle, also eine Rolle, die einem anderen gegeben wird, kann für jeden Benutzer aktiviert oder deaktiviert werden.
Jede in einer Datenbank vorhandene Rolle muss vollständig eindeutig sein, dh der Benutzername und der Rollenname einer Rolle können nicht dupliziert werden. Rollen sind das Gegenteil von Schemaobjekten, da sie nicht in einem Schema enthalten sein können. Dies bedeutet, dass der Benutzer, der diese Rolle erstellt, gelöscht werden darf und dies keine Auswirkungen auf diese Rolle hat.