Was ist die Rollenhierarchie?
Eine Rollenhierarchie ist ein Begriff, der in Datenbanken und Computersicherheitssystemen am häufigsten verwendet wird. Benutzer besitzen eskalierende Rollen, die sich wie die Zweige eines Baums nach oben verzweigen. Als Benutzer des Systems werden durch diese Rollen befördert. Sie erben die zusätzlichen Attribute, Pflichten und verwandten Variablen der Rolle, die sie annehmen, ohne eines ihrer Attribute aus ihrer früheren Rolle (n) zu verlieren. Dies hat den Vorteil, dass ein einfacher Organisationsstandard für das Entwerfen von Datenbanken und Sicherheitsberechtigungen möglich ist. Nachteile ergeben sich aus der Tatsache, dass einzelne Rollen häufig nicht sauber ineinander übergehen, was zu umständlichen oder unsachgemäßen Konstruktionen bei der Konstruktion des Systems führt.
Stellen Sie sich einen Schneeball vor, der bergab rollt. Im Laufe der Zeit nimmt die Größe zu, ohne dass der ursprüngliche Inhalt verloren geht. Bis es den Fuß des Hügels oder die höhere Ebene der Datenbank erreicht, ist es weit über seine ursprüngliche Größe hinaus gewachsen. Dies ist das Grundkonzept einer Rollenhierarchie.
Betrachten Sie beispielsweise eine Rollenhierarchie einer Mitarbeiterdatenbank. Die elementarste Ebene der Datenbank ist die Employees-Tabelle, die natürlich alle Aufzeichnungen aller im Unternehmen tätigen Personen enthält, da sie alle Mitarbeiter sind. Über den Mitarbeitern befindet sich möglicherweise die Manager-Tabelle, in der zusätzliche Attribute wie Listen der Mitarbeiter hinzugefügt werden, die von den einzelnen Managern überwacht werden. Der Managers-Tisch wird natürlich exklusiver sein; Jeder Manager ist ein Mitarbeiter, aber nicht jeder Mitarbeiter ist ein Manager. Die Rollenhierarchietabelle wird weiterhin in einer pyramidenähnlichen Form "hochrutschen" und möglicherweise eine Tabelle für Filialleiter, Unternehmensleiter, Vizepräsidenten usw. hinzufügen.
Unter Sicherheitsgesichtspunkten wäre der Gipfel der Hierarchie ein uneingeschränkter Systemadministrator, der jede Änderung oder Änderung an einem Computersystem vornehmen kann. Während die unterste Stufe ein einfacher Benutzer wäre, der möglicherweise nur auf eine Handvoll Programme zugreifen kann, ohne wesentliche Änderungen vornehmen zu dürfen. In beiden Fällen - entweder in einer Datenbank oder in einer Sicherheitssituation - ermöglicht das Rollenhierarchie-Schema eine effektive Aufwärtsbewegung, sodass Benutzer des Systems in einem ziemlich linearen Format von einer Position zur nächsten migrieren können.
Der Nachteil liegt in komplexen Organisationen, in denen die Attribute einer Entität nicht unbedingt reibungslos in eine andere übergehen. Stellen Sie sich einen Fall vor, in dem Mitarbeiter in eine Führungsposition befördert werden, nachdem sie eine Rolle als Programmierer oder Personalarbeiter bekleidet haben. Angenommen, die Unternehmensregeln verbieten es Einzelpersonen, sowohl als Programmierer als auch als Personalarbeiter zu arbeiten. Entsprechend der Struktur der Rollenhierarchie müssen nun alle in der Tabelle "Manager" sowohl die Attribute eines Programmierers als auch die eines Mitarbeiters in der Personalabteilung erben. Dies führt zu Platzverschwendung und Nullattributen in der Datenbank, da kein einzelner Manager sowohl die Attribute eines Programmierers als auch eines Mitarbeiters in der Personalabteilung besitzt.