본문 바로가기
개발자 양성과정 필기노트/DB | ORACLE

제약조건, 계정생성

by jono 2021. 8. 2.

DB  ||  DAY4  ||  제약조건, 계정생성


 0. 명령어 정리 

<<데이터 정의어 DDL>>

: 데이터 자체를 생성, 수정, 삭제하는 명령어.

- CREATE TABLE

- ALTER TABLE

- DROP TABLE

- TRUNCATE TABLE

 

<<데이터 조작어 DML>>

- SELECT  (SELECT & FROM + WHERE / ORDER BY / JOIN . . . )

- INSERT  (INSERT INTO . . . )

- UPDATE (UPDATE & SET + WHERE . . .)

- DELETE  (DELETE FROM 테이블명 + WHERE . . .) : 해당 행 전체를 삭제한다.

( *** 필드값을 없애는것은  null로 update하는 것이다. delete와 다름에 주의!)

 

<<데이터 제어어 DCL>>

- GRANT

- REVOKE


 1. 원래 가지고 있는 테이블의 복사본만들기 

CREATE TABLE 복사본이름지정
AS   SELECT  *
       FROM  복사대상테이블 ; 

 2. 제약조건 

 

1. Not Null   - 컬럼에 데이터가 비지 않도록 설정함.
                  -> 필수적인 데이터 컬럼에 설정함.

 

2. Unique   - 컬럼에 데이터가 중복되지 않도록 설정함 == 고유데이터

                -> 주민번호, 전화번호, 메일주소 등의 컬럼에 설정함.

 

3. Primary Key   - aka 기본키. Not Null + Unique의 성격을 모두 가짐
                       - null 값도, 중복값도 안된다.

                       - 테이블당 한번만 선언가능!

 

4. Foreign Key  - aka 외래키.

                      - 자기자신 or 다른테이블의 특정 컬럼을 참조함.
                      - 다른 테이블과 연계되어서 운영되어야 하는 테이블에 선언한다.

 

5. Check  - 해당 컬럼이 만족해야하는 조건을 지정함. (ex. 주민번호 13자리 . . .)
              - 조건문을 어떻게 작성하느냐에 따라 매우 광범위하게 사용될 수 있다.


 3. 계정생성하기 

*** SYS계정에서만 작업 가능하다!

CREATE USER  계정이름
IDENTIFIED BY  비밀번호 ;

>> 계정은 만들어지지만, 아무 권한도 부여하지 않은 상태이므로 접속권한조차도 없는 상태이다.

 4. 생성한 계정에 권한 부여하기 

 - 권한의 유형  1) System 권한 : DB를 조작할 수 있는 권한  // 소유자: DBA

                    2) Object 권한 : Object를 조작할 수 있는 권한  // 소유자: Object 소유자

GRANT  부여할 권한  (EX. create session, create table . . .)
TO   권한을 부여받을 계정이름 ;

 5. 부여한 권한 회수하기 

*** SYS 계정에서 가능함!

REVOKE  회수할 권한
FROM  권한을 회수할 계정이름 ; 

>> 회수한 권한으로 접근을 시도하면 insuffuicient privileges (권한없음) 오류가 뜨는 것을 확인할 수 있다.

 6. 다른 유저 소유의 테이블을 쓰고싶을때 

FROM 타계정명.테이블명

SELECT
FROM 테이블이저장된_타계정이름 .보고싶은 테이블이름 ;

>> "테이블이 없다" 는 오류가 뜬다면, 해당 계정이 SELECT 권한이 없기때문이므로
     테이블이 저장된 상위계정으로 로그인 해서 Object권한을 부여해줘야 한다!

 

# 상위계정에서 하위계정에게 Object권한 부여하기

GRANT  타 계정에게 부여하고 싶은 권한 (EX. select, update . . .)
ON  오브젝트명  (EX. employees . . .)
TO  권한을 부여 할 계정 (EX. demo) ;

 

 

centos - 다운로드 - centOS Linux 8버전 - x86_64 - dvd1.iso 다운받기

댓글