역할 계층이란 무엇입니까?
역할 계층은 데이터베이스 및 컴퓨터 보안 시스템에서 가장 자주 사용되는 조직 용어입니다. 사용자는 나무의 가지처럼 위쪽으로 분기하는 확장 역할을 가지고 있습니다. 시스템 사용자는 이러한 역할을 통해 승격됩니다. 이전 역할에서 속성을 잃지 않으면 서 자신이 채택한 역할의 추가 속성, 의무 및 관련 변수를 상속합니다. 이것의 장점은 데이터베이스 및 보안 권한을 설계하기위한 간단한 조직 표준을 허용한다는 것입니다. 단점은 종종 개별 역할이 서로 깔끔하게 피가 나지 않아 시스템 설계에 어색하거나 부적절한 구성을 강요한다는 사실에서 비롯됩니다.
내리막 길에서 눈덩이를 굴려보세요. 진행됨에 따라 원본 내용을 잃지 않고 점점 더 많은 크기를 축적합니다. 그것이 언덕의 바닥 또는 데이터베이스의 더 높은 층에 도달 할 때까지, 그것은 원래 크기보다 훨씬 확장되었습니다. 이것이 역할 계층의 기본 개념입니다.
예를 들어 직원 데이터베이스의 역할 계층을 고려하십시오. 데이터베이스의 가장 기본적인 계층은 Employees 테이블이며, 직원 테이블은 회사에서 일하는 모든 사람의 모든 레코드를 자연스럽게 포함합니다. 위의 직원은 관리자 테이블 일 수 있으며 각 관리자가 감독하는 직원 목록과 같은 추가 속성을 추가 할 수 있습니다. 그러나 관리자 테이블은 자연스럽게 더 배타적입니다. 모든 관리자가 직원이지만 모든 직원이 관리자 인 것은 아닙니다. 역할 계층 구조 테이블은 피라미드와 같은 형태로 계속 "중첩"되어 지점 관리자, 기업 관리자, 부사장 등을위한 테이블을 추가 할 수 있습니다.
보안 측면에서 계층 구조의 최고점은 컴퓨터 시스템을 수정하거나 변경할 수있는 무제한 시스템 관리자입니다. 최하위 계층은 단순한 사용자이지만 실질적인 변경 없이는 소수의 프로그램에만 액세스 할 수 있습니다. 두 경우 모두 (데이터베이스 또는 보안 상황) 역할 계층 구조 스키마는 효과적인 "상향 출혈"을 허용하여 시스템 사용자가 한 위치에서 다음 위치로 상당히 선형적인 형식으로 마이그레이션 할 수 있도록합니다.
이것의 단점은 한 조직의 속성이 다른 조직으로 매끄럽게 번지지 않는 복잡한 조직에서 비롯됩니다. 프로그래머 또는 인적 자원 근로자 역할을 한 후 직원이 관리 직책으로 승진하는 경우를 고려하십시오. 회사 규칙에 따라 개인이 프로그래머와 인적 자원 모두로 일하는 것이 금지된다고 가정하십시오. 이제 역할 계층 구조에 따라 관리자 테이블의 모든 사람은 프로그래머의 속성과 인력에서 일하는 사람의 속성을 모두 상속해야합니다. 단일 관리자가 프로그래머의 속성과 인적 자원의 속성을 모두 소유하지 않으므로 데이터베이스 내에서 공간과 널 (null) 속성이 낭비됩니다.