Database SQL/Oracle

[DB#13] 데이터 베이스(DB)와 데이터베이스 관리시스템(DBMS), DDL, DML, DCL(TCL)

양동민 2020. 11. 25. 12:12

데이터 베이스(DB)는 동시에 여러명이 접근할 수 있는 저장소이다.

 

데이터 베이스 관리시스템(DBMS)는 

1. 다중 사용자를 처리할 수 있도록 저장소를 관리하는 시스템이다.

2. orcle, mysql, ms-sql(sql-server), maria-db, redis, db2, postgress, h2, ...

3. 종류가 달라도 사용하는 명령의 뼈대는 모두 SQL(Structure Query Language, 구조화된 질의어)이라는 기본구조를 그대로 사용한다.

 

CRUD - 테이블 CRUD(데이터를 저장하기 위한 공간), 사용자 CRUD(계정), 시퀀스 CRUD(번호 생성기)

             -> 위 3개는 데이터는 아니고, 관리하기 위한 도구이다.

           데이터 CRUD - 위는 추가명령이 CREATE지만 데이터는 INSERT INTO 처럼 명령도 다르다.

 

명령

- DDL : Data Definition Language. 도구를 관리하는 명령(table/sequence/view/index/...)
          - CREATE / SELECT / ALTER / DROP
          - commit/rollback 불가능(명령 실행되는 순간에 확정됨)
- DML : Data Manupulation Language. 데이터를 관리하는 명령
          - INSERT / SELECT / UPDATE / DELETE
          - commit/rollback 가능( 작업이 된다는거지 이 명령은 DCL것이다)
          - SELECT는 commit/rollback이 안됨(의미도 없음)
- DCL(TCL) : Data Control Language. 도구나 데이터를 제어하는 명령
          - GRANT/REVOKE : 도구에 권한을 부여/회수 (DCL)
          - COMMIT/ROLLBACK : 데이터에 저장/취소 (TCL, Transaction : 작업 처리 단위)