서로 다른 객체들에 대해서 다양한 권한들이 존재한다.
객체의 생성자는 객체에 대한 모든 권한을 가진다.
생성자는 자신이 소유한 임의의 객체에 대한 특정 권한을 GRANT문을 사용하여 다른 사용자나 역할에게 허가할 수 있다.
GRANT절에 SELECT, INSERT, DELETE, UPDATE, REFERENCES 중 1개 이상의 권한을 포함할 수 있다.
UPDATE문을 사용하여 애트리뷰트를 수정하려면 그 애트리뷰트에 대한 UPDATE 권한이 필요하다.
릴레이션을 참조하는 외래 키 제약조건을 만들려면 해당 릴레이션에 대해 REFERENCES권한이 필요하다.
만일 어떤 사용자가 WITH GRANT OPTION절과 함께 권한을 허가 받았으면 그 사용자도 WITH GRANT OPTION과 함께 또는 없이 그 권한을 다른 사용자에게 허가할 수 있다.
기본 릴레이션의 소유자가 다른 사용자들이 릴레이션에 직접 접근하지 못하게 하려는 경우에는 릴레이션 자체에 대한 권한을 허가하지 않고, 참조하는 뷰를 정의한 후 뷰에 대한 권한을 부여할 수 있다.
다른 사용자에게 허가한 권한을 취소하기 위해서 REVOKE문을 사용한다.
만일 어떤 사용자가 허가했던 권한을 취소하면 권한을 취소당한 사용자가 WITH GRANT OPTION을 통해서 다른 사용자에게 허가했던 권한들도 연쇄적으로 취소된다.
취소하려는 권한을 허가했던 사람만 그 권한을 취소할 수 있다.
권한을 허가했던 사람은 자신이 권한을 허가했던 사용자로부터만 권한을 취소할 수 있다.