All Honey Tip

[기술 면접] 2. DDL/DML/DCL/TCL 은 무엇인가요?

DDL/DML/DCL/TCL은 무엇인가요?

지난 시간에 이어서, DB 명령어에 대해 알아보겠습니다. DB SQL로 프로시저 등의 쿼리를 작성할 때, 어떤 명령어가 어디에 속하는지 인지하고 있진 않습니다. 하지만, 간혹 특정 명령어가 어디에 속했는지, 혹은 특정 종류에 대해 어떠한 명령어들이 속해있는지 질문을 받기도 합니다. 기초 명령어가 어디에 속했는지와 DDL, DML, DCL, 그리고 TCL에 대해 간단하게 짚고 넘어가겠습니다.

image 34




Q: DDL은 무엇인가요?

Data Definition Language로 데이터 정의 언어입니다. 테이블, 뷰, 인덱스 등의 DB 개체를 생성 및 삭제, 혹은 변경할 수 있으며 트랜잭션을 발생시키지 않으므로 ROLLBACK과 COMMIT이 없습니다.

  • CREATE, DROP, ALTER, TRUNCATE, RENAME, MERGE








Q: DML은 무엇인가요?

Data Manipulation Language로 데이터 조작 언어입니다. 사용 전에 테이블이 정의되어 있어야 하며 데이터 변경 시 실제 테이블에 완전히 적용하는 것이 아니라 임시 적용 후 반영이나 취소가 가능합니다.

  • SELECT, INSERT, UPDATE, DELETE








Q: DCL은 무엇인가요?

Data Control Language로 데이터 제어 언어입니다. 사용자에게 권한을 부여하거나 빼앗는 데 사용합니다.

  • GRANT, REVOKE







Q: TCL은 무엇인가요?

논리적인 작업 단위로 묶어 DML에 의해 조작된 결과를 제어하는 명령어입니다. 일부에서는 DCL로 분류되기도 합니다.

  • COMMIT, ROLLBACK, SAVEPOINT




마치며

DB의 DDL, DML, DCL 그리고 TCL에 대해 간략하게 알아보았습니다. 평소에 인지하지 않고 사용하던 명령어들이라, 갑자기 질문을 받으면 헷갈리거나 대답하지 못할 수도 있습니다. 다음 단계를 공부하기 전에, 한 번 훑고 지나간다면 도움이 될 것 같습니다. 다음 시간엔, RDB vs NoSQL에 대해 알아보겠습니다.

db


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다