Roolihierarkia on organisaatiotermi, jota käytetään useimmiten tietokannoissa ja tietokoneiden turvajärjestelmissä. Käyttäjillä on kasvavia rooleja, jotka haarautuvat ylöspäin kuin puun oksat. Järjestelmän käyttäjinä ylennetään näiden roolien kautta. He perivät käyttämänsä roolin lisäominaisuudet, tehtävät ja niihin liittyvät muuttujat menettämättä yhtään ominaisuuttaan entisestä roolistaan. Tästä on se etu, että se mahdollistaa yksinkertaisen organisaatiostandardin tietokantojen ja suojausoikeuksien suunnittelulle. Haitat johtuvat siitä, että usein yksittäiset roolit eivät vuoda siististi toisiinsa, mikä pakottaa hankalat tai sopimattomat rakenteet järjestelmän suunnittelussa.
Kuvittele lumipallo, joka vierittää alamäkeä. Kun se etenee, se kerää yhä enemmän kokoa menettämättä alkuperäistä sisältöä. Kun se saavuttaa mäen pohjan tai tietokannan ylemmän tason, se on laajentunut paljon alkuperäisen kokonsa ulkopuolelle. Tämä on roolihierarkian peruskäsite.
Harkitse esimerkiksi työntekijöiden tietokannan roolihierarkiaa. Tietokannan alkeellisin taso on Työntekijät -taulukko, joka sisältää luonnollisesti kaikki tietueet jokaisesta yrityksessä työskentelevästä henkilöstä, koska he ovat kaikki työntekijöitä. Yllä olevat työntekijät voivat olla Managers -taulukko, joka voi lisätä muita määritteitä, kuten luettelot työntekijöistä, joita kukin esimies valvoo. Managers -taulukko on luonnollisesti kuitenkin eksklusiivisempi; jokainen johtaja on työntekijä, mutta jokainen työntekijä ei ole johtaja. Roolihierarkiataulukko jatkaa “valumistaan” pyramidimaisena, mahdollisesti lisäämällä taulukon sivuliikkeiden johtajille, yritysjohtajille, varapuheenjohtajille ja niin edelleen.
Turvallisuuden kannalta hierarkian huippu olisi rajoittamaton järjestelmänvalvoja, joka voi tehdä tietokonejärjestelmään muutoksia tai muutoksia. Alin taso olisi yksinkertainen käyttäjä, joka saattaa päästä käsiksi vain kourallisiin ohjelmiin ilman lupaa tehdä mitään olennaisia muutoksia. Molemmissa tapauksissa – joko tietokannassa tai suojaustilanteessa – roolihierarkiaskeema mahdollistaa tehokkaan “verenvuodon ylöspäin”, jolloin järjestelmän käyttäjät voivat siirtyä paikasta toiseen melko lineaarisessa muodossa.
Tämän haittapuoli johtuu monimutkaisista organisaatioista, joissa yhden yksikön ominaisuudet eivät välttämättä pääse sujuvasti toiseen. Harkitse tapausta, jossa työntekijät ylennetään johtotehtäviin sen jälkeen, kun he ovat toimineet joko ohjelmoijina tai henkilöstötyöntekijöinä. Oletetaan, että yrityksen säännöt kieltävät yksilöitä työskentelemästä sekä ohjelmoijana että henkilöstöhallinnon työntekijöinä. Nyt roolihierarkian rakenteen mukaan kaikkien Managers -taulukon jäsenten on perittävä sekä ohjelmoijan että jonkun henkilöresursseilla työskentelevän attribuutit. Tämä johtaa hukkaan tilaan ja tyhjiin attribuutteihin tietokannassa, koska yhdelläkään johtajalla ei ole sekä ohjelmoijan että henkilöresurssien ominaisuuksia.