
CASCADE란 ?
DB의 값을 수정/삭제할 때, 해당 값을 참조하고 있는 레코드 역시 종속적으로 수정/삭제를 가능하게 함. 사용자가 소유한 모든 오브젝트를 함께 삭제한다.
--1. Oracle SQL Plus 사용
CONN SCOTT/TIGER;
--2. ERROR 발생
CREATE USER PJS IDENTIFIED BY KOREA7;
--3. 유저 생성 권한 부여
CONN SYSTEM/비밀번호;
GRANT CREATE USER TO SCOTT;
--4. 정상 동작
CONN SCOTT/TIGER;
CREATE USER PJS IDENTIFIED BY KOREA7;
--5. ERROR 발생
CONN PJS/KOREA7;
--6. 로그인 권한 부여
CONN SYSTEM/비밀번호;
GRANT CREATE SESSION TO PJS;
--7. 정상 동작
CONN PJS/KOREA7;
--8. ERROR 발생
CREATE TABLE MENU (MENU_SEQ NUMBER NOT NULL, TITLE VARCHAR2(10));
--9. 테이블 생성 권한 부여
CONN SYSTEM/비밀번호;
GRANT CREATE TABLE TO PJS;
--10. 정상 동작
CONN PJS/KOREA7;
CREATE TABLE MENU (MENU_SEQ NUMBER NOT NULL, TITLE VARCHAR2(10));
SQL Server 유저 생성 및 권한 부여 과정
--1. 유저 매핑
CREATE LOGIN PJS WITH PASSWORD='KOREA7', DEFAULT_DATABASE=AdventureWorks
--2. 데이터베이스로 이동하여 유저 생성
USE ADVENTUREWORKS;
GO CREATE USER PJS FOR LOGIN PJS WITH DEFAULT_SCHEMA = dbo;
--3. ERROR 발생
CREATE TABLE MENU (MENU_SEQ INT NOT NULL, TITLE VARCHAR(10));
--4. 권한 부여
GRANT CREATE TABLE TO PJS;
--5. 스키마에 권한 부여
GRANT Control ON SCHEMA::dbo TO PJS
--6. 정상 동작
CREATE TABLE MENU (MENU_SEQ INT NOT NULL, TITLE VARCHAR(10));
- system_privilege
- 부여할 시스템 권한의 이름
- role
- 부여할 데이터베이스 역할의 이름
- user, role
- 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- PUBLIC
- 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여 가능
- WITH ADMIN OPTION
- 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여 가능
- object_privilege
- 부여할 객체권한의 이름
- object
- 객체명
- user, role
- 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- PUBLIC
- 객체권한, 또는 데이터베이스 역할을 모든 사용자에게 부여 가능
- PUBLIC으로 권한을 부여하면 회수할 때도 PUBLIC으로 설정
- WITH GRANT OPTION
- 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여 가능
