A role hierarchy is a system where users have growing roles that branch upward like a tree, allowing for a simple organizational standard for database design and security permissions. However, in complex organizations, the attributes of one entity may not flow smoothly into another, resulting in wasted space and null attributes within the database.
A role hierarchy is an organizational term used most often in databases and computer security systems. Users have growing roles that branch upward like the branches of a tree. As system users are promoted through these roles. They inherit the additional attributes, duties and related variables of the role they adopt, without losing any of their attributes from previous roles. The benefit is that it allows for a simple organizational standard for database design and security permissions. The disadvantages derive from the fact that often the individual roles do not flow clearly into each other, forcing awkward or improper constructions in the design of the system.
Imagine a snowball rolling downhill. As it progresses, it accumulates more and more dimensions without losing any of its original content. By the time it reaches the bottom of the hill, or the topmost level of the database, it has expanded far beyond its original size. This is the basic concept of a role hierarchy.
For example, consider a role hierarchy in an employee database. The most basic level of the database will be the Employees table, which of course contains every record of every person who works in the company, as they are all employees. Above Employees could be the Managers table, which could add additional attributes such as lists of employees supervised by each manager. The Managers table will naturally be more exclusive, however; since every manager is an employee, but not every employee is a manager. The Role Hierarchy table will continue to “drip” into a pyramid shape, eventually adding a table for Branch Managers, Corporate Managers, Vice Presidents, and so on.
From a security perspective, the top of the hierarchy would be an unrestricted system administrator, who can make any changes or changes to a computer system. While the lowest level would be a simple user, who might only be able to access a handful of programs without being authorized to make any major changes. In either case, whether it’s a database or a security situation, the role hierarchy schema allows for effective “bleeding up”, allowing system users to migrate from one location to another in a quite linear format.
The downside comes from complex organizations, where the attributes of one entity do not necessarily flow smoothly into another. Consider a case where employees are promoted to a management position after holding a programming or HR role. Suppose corporate rules prohibit individuals from working as both programmers and human resources officers. Now, according to the structure of the role hierarchy, everyone in the Manager table must inherit both the attributes of a programmer and those of someone working in HR. This results in wasted space and null attributes within the database, as no single manager will possess both the attributes of a programmer and someone in HR.
Protect your devices with Threat Protection by NordVPN