2012/08/13 - [Dev. 참고자료] - [설치 및 환경 세팅] 데이터베이스 - ORACLE ( XP 기준 )
SQL의 종류
- 1. DDL (Data Definition Language) : 데이터베이스 객체(테이블,뷰,인덱스..)의 구조를 정의 합니다.
SQL문 | 내 용 |
---|---|
CREATE | 데이터베이스 객체를 생성 합니다. |
DROP | 데이터베이스 객체를 삭제 합니다. |
ALTER | 기존에 존재하는 데이터베이스 객체를 다시 정의하는역할을 합니다. |
- 2. DML (Data Manipulation Language) : 데이터의 삽입,삭제,갱신등을 처리
SQL문 | 내 용 |
---|---|
INSERT | 데이터베이스 객체에 데이터를 입력 한다. |
DELETE | 데이터베이스 객체의 데이터를 삭제 한다. |
UPDATE | 데이터베이스 객체안의 데이터 수정 한다. |
- 3. DCL (Data Control Language) : 데이터베이스 사용자의 권한을 제어
SQL문 | 내 용 |
---|---|
GRANT | 데이터베이스 객체에 권한을 부여 한다. |
REVOKE | 이미 부여된 데이터베이스 객체 권한을 취소한다. |
USER의 생성
- - user_name : USER 이름
- - BY password : USER가 데이터베이스에 의해 인증되도록 지정하며, 데이터베이스 USER 로그인시 사용하는 비밀번호 이다.
- - EXTERNALLY : USER가 운영 체제에 의해서 인증되도록 지정한다.
- - DEFAULT TABLESPACE는 USER 스키마를 위한 기본 테이블스페이스를 지정 한다.
- - TEMPORARY TABLESPACE는 USER의 임시 테이블스페이스를 지정한다.
- - QUOTA절을 사용하여 USER가 사용할 테이블스페이스의 영역을 할당한다.
- - PASSWORD EXPIRE : USER가 SQL*PLUS를 사용하여 데이터베이스에 로그인할 때 암호를 재설정 하도록 한다.(USER가 데이터베이스에 의해 인증될 경우에만 적합한 옵션이다.)
- - ACCOUNT LOCK/UNLOCK : USER 계정을 명시적으로 잠그거나 풀 때 사용할 수 있다.(UNLOCK이 기본값이다.)
- - PROFILE : 자원 사용을 제어하고 USER에게 사용되는 암호 제어 처리 방식을 지정하는데 사용된다.
- 여기선 간단한 유저생성에 대해서만 알아보고 자세한 유저관리와 PROFILE 관리는 어드민에서 설명 하겠다.
USER의 변경 및 삭제
ALTER USER문으로 변경 가능한 옵션
- - 비밀번호
- - 운영체제 인증
- - 디폴트 테이블 스페이스
- - 임시 테이블 스페이스
- - 테이블 스페이스 분배 할당
- - 프로파일 및 디폴트 역할
USER 수정 문법
시스템 권한(System Privileges)
시스템권한(System Privileges)이란?
- - 시스템권한은 사용자가 데이터베이스에서 특정 작업을 수행 할 수 있도록 한다
- - 권한의 ANY 키워드는 사용자가 모든 스키마에서 권한을 가짐을 의미 한다.
- - GRANT 명령은 사용자 또는 ROLE에 대해서 권한을 부여 할 수 있다.
- - REVOKE 명령은 권한을 회수 한다.
대표적인 시스템권한
- - CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한
- - CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한
- - CREATE VIEW : 뷰의 생성 권한
- - ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한
- - DROP USER : 생성한 사용자를 삭제시키는 권한
시스템권한 부여 문법
- - system_privilege : 부여할 시스템권한의 이름
- - role : 부여할 데이터베이스 역할의 이름
- - user, role : 부여할 사용자 이름과 다른 데이터 베이스 역할 이름
- - PUBLIC : 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다.
- - WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게된다.
시스템권한의 회수
롤(Role)
롤(ROLE) 이란?
- - ROLE을 이용하면 권한 부여와 회수를 쉽게 할 수 있다.
- - ROLE은 CREATE ROLE권한을 가진 USER에 의해서 생성 된다.
- - 한 사용자가 여러개의 ROLL을 ACCESS할 수 있고, 여러 사용자에게 같은 ROLE을 부여할 수 있다.
- - 시스템 권한을 부여하고, 취소할 때와 동일한 명령을 사용하여 사용자에게 부여하고, 취소 한다.
- - 사용자는 ROLE에 ROLE을 부여할 수 있다.
- - 오라클 데이터베이스를 설치하면 기본적으로 CONNECT, RESOURCE, DBA ROLE이 제공 된다.
ROLE을 사용하지 않고 권한부여 | ROLE을 사용하여 권한부여 |
---|---|
ROLE 생성 문법
ROLE관련 데이터 사전
데이터 사전 | 설 명 |
---|---|
ROLE_SYS_PRIVS | ROLE에 부여된 시스템 권한 |
ROLE_TAB_PRIVS | ROLE에 부여된 테이블 권한 |
USER_ROLE_PRIVS | 현재 사용자가 ACCESS할 수 있는 ROLE |
USER_TAB_PRIVS_MADE | 현재 사용자의 객체에 부여한 객체 권한 |
USER_TAB_PRIVS_RECD | 현재 사용자의 객체에 부여된 객체 권한 |
USER_COL_PRIVS_MADE | 현재 사용자 객체의 특정 컬럼에 부여한 객체 권한 |
USER_COL_PRIVS_RECD | 현재 사용자 객체의 특정 컬럼에 부여된 객체 권한 |
'Dev. 640시간 뭉개기 > 강의내용정리' 카테고리의 다른 글
[데이터베이스] 15일차 - select(where,like,order by,in,between), 함수 (0) | 2012.08.16 |
---|---|
[데이터베이스] 14일차 - 테이블 생성.변경.삭제.관리, 제약조건, 데이터 삽입.수정.삭제, (0) | 2012.08.14 |
[자바] 11일차 - 열거형(Enumeration), 인코딩(Encoding), 파일 입출력 (0) | 2012.08.08 |
[자바] 10일차 - 배열, 컬렉션(ArrayList, HashMap), 예외처리(try~catch, throw, 사용자예외클래스) (0) | 2012.08.07 |
[자바] 9일차 - interface, 상속관계에 있는 클래스간의 형변환 (0) | 2012.08.06 |