본문으로 건너뛰기
SQLD 준비실
이론 전체 목차 열기 7 / 32

SQL 기본 및 활용 · RDB와 SQL 분류 7 / 32

관계형 데이터베이스와 SQL 명령어

SQLD 2과목의 출발점. 테이블·행·열·키의 의미와 DML, DDL, DCL, TCL을 문제에서 구분하는 기준을 정리합니다.

출제 빈도 ★★★☆☆ 관련 문제 5개 | DMLDDLDCLTCL

먼저 잡아야 할 그림

관계형 데이터베이스는 데이터를 표 형태의 테이블로 관리합니다. 시험에서는 어려운 정의보다 용어를 정확히 구분하는 문제가 자주 나옵니다.

용어쉽게 말하면시험에서 보는 포인트
테이블같은 종류의 데이터를 모은 표 (릴레이션)데이터 모델의 엔터티가 실제로 구현된 형태
행(Row)한 건의 데이터튜플, 레코드, 인스턴스와 연결해서 출제
열(Column)데이터의 항목속성(Attribute), 컬럼과 연결해서 출제
기본키(PK)행을 유일하게 구분하는 값NOT NULL + UNIQUE, 테이블에 1개(복합키 가능)
외래키(FK)다른 테이블의 기본키를 참조하는 값테이블 간 관계 형성, NULL 허용 가능

초보자는 “고객 테이블”을 떠올리면 쉽습니다. 고객번호, 이름, 등급은 열이고, 고객 한 명의 정보 한 줄은 행입니다. 고객번호처럼 한 명을 정확히 구분하는 값이 기본키입니다.

SQL 명령어 4분류

SQLD에서는 명령어를 보고 “어느 분류인가”를 빠르게 판단해야 합니다.

분류역할대표 명령어기억법
DML (Data Manipulation)데이터를 조회·입력·수정·삭제SELECT, INSERT, UPDATE, DELETE, MERGE행 데이터를 다룹니다
DDL (Data Definition)테이블 같은 구조를 생성·변경·삭제CREATE, ALTER, DROP, TRUNCATE, RENAME구조를 다룹니다
DCL (Data Control)권한을 부여·회수GRANT, REVOKE사용자 권한을 다룹니다
TCL (Transaction Control)트랜잭션을 확정·취소COMMIT, ROLLBACK, SAVEPOINT변경을 확정하거나 되돌립니다

데이터 타입 감각

시험은 DBMS별 세부 문법을 깊게 파고들기보다 “문자, 숫자, 날짜”의 큰 분류를 묻습니다.

데이터 성격Oracle 예SQL Server 예주의점
고정 길이 문자CHAR(n)CHAR(n)길이가 고정되어 남는 공간이 공백으로 채워집니다
가변 길이 문자VARCHAR2(n)VARCHAR(n)실제 입력 길이에 맞춰 저장합니다
숫자NUMBERINT, NUMERIC, DECIMAL계산 대상이면 문자로 저장하지 않습니다
날짜·시각DATE (시각 포함)DATETIME, DATE (날짜만)Oracle DATE시·분·초까지 포함
대용량 텍스트CLOBVARCHAR(MAX), TEXT4000 byte 초과 텍스트

기본키와 외래키를 같이 이해하기

부서사원을 예로 들면, 부서.DEPTNO는 부서를 구분하는 기본키가 될 수 있습니다. 사원.DEPTNO는 사원이 속한 부서를 가리키므로 외래키가 됩니다.

기본키 (Primary Key)

  • 테이블의 각 행을 유일하게 구분
  • NOT NULL + UNIQUE 강제
  • 테이블당 1개만 허용 (복합키 가능)
  • 생성 시 자동으로 UNIQUE 인덱스

외래키 (Foreign Key)

  • 다른 테이블의 PK(또는 UNIQUE)를 참조
  • NULL 허용 가능 (관계가 선택적일 때)
  • 한 테이블에 여러 개 가능
  • ON DELETE CASCADE / SET NULL 옵션
SELECT e.ename, d.dname
FROM emp e
JOIN dept d ON e.deptno = d.deptno;

위 쿼리는 외래키와 기본키의 연결을 사용해 사원 이름과 부서 이름을 함께 보여줍니다. 조인을 공부할 때도 결국 “어떤 열이 어떤 테이블을 가리키는가”를 읽는 능력이 중요합니다.

시험장에서 빠르게 푸는 기준

  • SELECT가 포함되면 조회이므로 DML입니다
  • CREATE, ALTER, DROP, TRUNCATE, RENAME처럼 구조를 바꾸면 DDL입니다
  • GRANT, REVOKE는 권한이므로 DCL입니다
  • COMMIT, ROLLBACK, SAVEPOINT는 트랜잭션 제어이므로 TCL입니다
  • DELETE는 DML, TRUNCATE는 DDL이며, 결과는 비슷해도 분류와 롤백 가능성이 다릅니다

DML은 행, DDL은 구조, DCL은 권한, TCL은 확정과 취소를 다룹니다.