추천, 2024

에디터의 선택

부여와 취소의 차이점

SQL에서 DCL 명령은 사용자에게 다른 권한 부여를 지정하는 데 사용되며, 이러한 유형의 권한은 권한이라고합니다. Grant 및 Revoke 명령은 DCL 명령입니다. GRANT 명령은 권한 부여를 사용자에게 부여하는 데 사용되는 반면 REVOKE 명령은 권한 철회에 사용됩니다. 선택, 삽입, 업데이트 및 삭제는 SQL 표준에 포함 된 일부 권한입니다.

비교 차트

비교 근거부여취소
기본권한 부여 명령은 사용자에게 권한을 부여하는 데 사용됩니다.취소 명령은 사용자로부터 권한을 제거하는 데 사용됩니다.
컨트롤이 분산되어있을 때부여하는 것이 더 간단합니다.해지는 매우 복잡합니다.
통사론부여
...에
~에;
취소
...에
에서;

그랜트의 정의

데이터베이스 관리자는 데이터베이스 사용자에게 액세스 또는 특권을 부여하기 위해 SQL에 GRANT 명령을 정의합니다. 권한 부여와 관련된 세 가지 주요 구성 요소는 사용자, 권한 / 작업 (작업) 및 데이터베이스 개체입니다. 사용자 는 응용 프로그램의 실행을 트리거하는 사람입니다. 연산 은 응용 프로그램에 포함 된 구성 요소입니다. 조작 은 관계 또는보기 이름과 같은 데이터베이스 오브젝트에 대해 수행됩니다.

GRANT 명령의 구문 :

부여
...에
~에;

여기서 권한 목록은 select, insert, update 및 delete 작업 또는 이들의 조합을 포함 할 수 있습니다. 명령의 이러한 세 가지 측면은 진행하기 전에 권한 제어에 의해 검사됩니다.

관계 (테이블) R의 소유자 계정 A1이 R의 다른 계정 A2에 권한을 부여하면 계정 A2는 관계 R에 액세스 할 수 있고 R의 다른 계정에 권한을 부여 할 권한이 부여됩니다. A1이 A2에서 권한을 취소하면 R1에서 A2가 전파 한 모든 권한은 시스템에서 자동으로 취소됩니다. 따라서 테이블에 대한 권한이 전파되는 방식입니다. 따라서, 전파를 허용하는 DBMS는 권한이 쉽게 취소 될 수 있도록 부여 된 권한을 따라야합니다.

권한 부여를 설명하기위한 예를 들어 봅시다. 우리는 교수진과 부서 테이블과 계정 A1과 A2에 대한 두 가지 스키마가 있습니다.

자격을 선택, 삽입, 업데이트, 부서를 A1, A2;

위의 예제에서 계정 A1과 A2는 직원 및 부서 테이블에 대해 선택, 삽입 및 업데이트 작업을 수행 할 수 있습니다.

철회의 정의

SQL의 REVOKE 명령은 데이터베이스 사용자로부터 부여 된 특권 (권한 부여)을 제거하도록 정의됩니다. 특권을 취소 할 권한이있는 사람은 데이터베이스 관리자입니다.

REVOKE 명령의 구문 :

취소
...에
에서;

이 명령은 revoke 키워드와 'from'을 제외하고는 grant 명령과 유사합니다. 주어진 명령에서 권한에 포함 된 작업은 특정 사용자 또는 역할 목록에 대해 취소됩니다. 한 사용자에서 다른 사용자로 권한이 전파 될 때 해지는 복잡해집니다.

유사한 예제를 통해 권한 취소에 대해 설명하겠습니다.

REVOKE INSERT, FACULTY, A1 부서 에서 업데이트, A2;

위의 예제에서 A1 및 A2 계정은 권한에서 제외되며 직원 및 부서 테이블에 대한 삽입 및 업데이트 작업을 수행 할 수 없습니다.

부여와 취소의 주요 차이점

  1. 권한 부여 명령은 사용자에게 권한을 부여하지만 취소 명령은 권한을 사용자에게서 철회합니다.
  2. 중앙 집중식 시스템에서는 DCL 명령 인 GRANT 및 REVOKE를 쉽게 실행할 수 있습니다. 컨트롤이 분산되어 있으면 쿼리는보다 유연하지만 복잡합니다. GRANT 명령은 다루기 쉽지만 REVOKE 명령의 경우 재귀 적입니다.

결론

GRANT 명령은 데이터베이스 오브젝트의 사용자에 대한 특권이나 액세스를 제공합니다. 반면 REVOKE 명령은 데이터베이스 개체에 대한 사용자의 권한 또는 권한을 제거하는 데 사용됩니다.

Top