공든탑앱 열기

관계형 데이터베이스와 SQL 종류

SQLD (SQL 개발자) · SQL 기본 · 약 8분

쉽게 말하면

관계형 데이터베이스는 정보를 엑셀처럼 줄과 칸으로 된 표에 담고, 표끼리 번호로 이어 두는 방식이에요. 이 표에 일을 시키는 정해진 말이 SQL이에요. SQL은 하는 일에 따라 표 구조를 만드는 말, 데이터를 넣고 고치는 말, 권한을 주는 말, 작업을 확정하거나 취소하는 말로 나뉘어요.

시험용 정의

관계형 데이터베이스(RDB)는 데이터를 행과 열로 된 테이블에 담고, 테이블끼리 키로 연결해 관리하는 데이터베이스다. 1970년 E.F. 코드(Codd)가 관계형 모델을 제안했다. 이 데이터베이스와 대화하는 표준 언어가 SQL(Structured Query Language)이며, 하는 일에 따라 DDL·DML·DCL·TCL로 나눈다.

비유로 이해하기

엑셀 시트 여러 장을 '고객번호' 같은 공통 칸으로 서로 이어 둔 장부와 같다. SQL은 그 장부에 "이 조건에 맞는 줄을 보여 줘"라고 말하는 정해진 문법이다.

자세히

먼저 알아 둘 말

말뜻
테이블행과 열로 된 2차원 표. 엔터티 하나가 보통 테이블 하나가 된다
행(Row)데이터 한 건. 튜플·레코드라고도 한다
열(Column)같은 종류의 값이 모인 세로 칸. 속성·필드라고도 한다
기본키(PK)행을 유일하게 구별하는 열. 중복과 NULL 불가
외래키(FK)다른 테이블의 기본키를 가리키는 열. 테이블을 서로 잇는다
DBMS데이터베이스를 관리하는 소프트웨어. Oracle, SQL Server, MySQL 등

SQL 종류

종류뜻명령
DML (Data Manipulation)데이터를 조회·입력·수정·삭제SELECT, INSERT, UPDATE, DELETE, MERGE
DDL (Data Definition)테이블 같은 객체의 구조를 정의CREATE, ALTER, DROP, RENAME, TRUNCATE
DCL (Data Control)권한을 주고 회수GRANT, REVOKE
TCL (Transaction Control)트랜잭션을 확정·취소COMMIT, ROLLBACK, SAVEPOINT

DBMS가 해 주는 일

  • 여러 사용자가 동시에 같은 데이터를 써도 꼬이지 않게 한다 (동시성 제어)
  • 장애가 나도 데이터를 복구한다
  • 제약조건으로 잘못된 데이터를 막는다 (무결성)
  • 권한으로 허락된 사람만 보게 한다 (보안)
  • 파일에 직접 저장할 때 생기는 중복과 불일치를 줄인다

관계 연산과 집합 연산

연산뜻SQL
선택(Selection)조건에 맞는 행만 고른다WHERE 절
투영(Projection)원하는 열만 고른다SELECT 절의 열 목록
조인(Join)공통 속성으로 두 테이블을 잇는다JOIN, WHERE 조인 조건
나누기(Division)한 테이블의 값을 모두 가진 행을 찾는다직접 대응 명령 없음 (NOT EXISTS로 구현)
합집합·교집합·차집합·곱두 결과를 집합처럼 합친다UNION, INTERSECT, MINUS, CROSS JOIN

시험에 이렇게 나와요

출제 범위·공식 안내 기반

확인 문제

Q1. COMMIT과 ROLLBACK은 SQL 종류 중 무엇에 속할까요?

  1. DML
  2. DDL
  3. TCL
  4. DCL
정답 보기

3번 TCL

트랜잭션을 확정하거나 취소하는 명령은 TCL(Transaction Control Language)이다. DDL은 구조(CREATE·ALTER·DROP), DML은 데이터(SELECT·INSERT·UPDATE·DELETE), DCL은 권한(GRANT·REVOKE).

Q2. 다음 중 DDL에 속하는 것은?

  1. GRANT
  2. TRUNCATE
  3. COMMIT
  4. SELECT
정답 보기

2번 TRUNCATE

TRUNCATE는 테이블 구조는 두고 데이터를 모두 지우는 DDL이다. SELECT는 DML, GRANT는 DCL, COMMIT은 TCL.

Q3. 테이블에서 조건에 맞는 행만 골라내는 관계 연산은?

  1. 조인
  2. 선택
  3. 나누기
  4. 투영
정답 보기

2번 선택

선택(Selection) = 행, 투영(Projection) = 열.

Q4. SQL 종류와 명령의 짝이 틀린 것은?

  1. TCL - RENAME
  2. DCL - REVOKE
  3. DML - MERGE
  4. DDL - ALTER
정답 보기

1번 TCL - RENAME

RENAME은 DDL이다. TCL은 COMMIT, ROLLBACK, SAVEPOINT.

Q5. COMMIT과 ROLLBACK이 속하는 SQL 종류는?

  1. DML
  2. DDL
  3. DCL
  4. TCL
정답 보기

4번 TCL

TCL(트랜잭션 제어어)이다. DDL은 CREATE·ALTER·DROP, DML은 SELECT·INSERT·UPDATE·DELETE, DCL은 GRANT·REVOKE다.

Q6. 테이블에서 원하는 열만 골라내는 관계 연산은?

  1. 나누기
  2. 투영
  3. 조인
  4. 선택
정답 보기

2번 투영

투영은 열(SELECT 목록), 선택은 행(WHERE)이다.

헷갈리기 쉬운 O·X

SELECT는 데이터를 바꾸지 않으므로 DML이 아니다.

정답 보기

X SELECT도 DML(조회)로 분류한다. 일부 교재는 DQL로 따로 부르기도 한다.

외래키는 다른 테이블의 기본키를 참조해 테이블을 연결한다.

정답 보기

O 관계를 테이블로 구현한 것이 외래키다.

투영(Projection)은 WHERE 절로 구현한다.

정답 보기

X 투영은 열을 고르는 것이라 SELECT 절, 행을 고르는 선택이 WHERE 절이다.

함께 보면 좋은 개념