데이터베이스

데이터베이스 3주차 이론 정리

기디기디 2026. 3. 21. 23:40

#1. SQL (Structured Query Language)

  • SQL의 분류
데이터 정의어 (DDL) 테이블 생성 / 변경 / 삭제하는 기능 제공 CREATE, ALTER, DROP
데이터 조작어 (DML) 테이블에 새 데이터 삽입, 저장된 데이터를 수정/삭제/검색하는 기능 제공 SELECT, INSERT, DELETE
데이터 제어어 (DCL) 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능 제공 GRANT, REVOKE

#2. 데이터조작어 - 검색

  • SELECT 문: 데이터를 검색하는 기본 문장
SELECT 속성 이름
FROM 테이블 이름
WHERE 검색 조건
  • SELECT 절에서 열 순서는 결과 테이블의 열 순서 결정
  • 릴레이션의 모든 속성을 검색할 경우 *로 대체가능
ALL 결과 테이블이 투플의 중복을 허용하도록 지정/생략 가능
DISTINCT 결과 테이블이 투플의 중복 허용하지 않도록 지정
  • WHERE: 조건으로 사용 - 비교, 범위, 집합, 패턴, NULL, 복합조건
비교 / 범위 =, <>, <, <=, >=, >
집합 IN, NOT IN
패턴 LIKE + 와일드 문자 사용 , 문자열 검색 시 LIKE와 같이 사용할 수 있는 와일드 문자: %, [], [^}, _
복합조건 AND, OR 연산자 사용 가능
  • ORDER BY
    • 정렬 검색
오름차순 (기본) ASC
내림차순 DESC
  • 집계함수: 특정 속성 값을 통계적으로 계산하는 함수 - SUM, AVG, COUNT, MAX, MIN
    • 열함수, NULL값은 제외하고 계산
    • WHERE 절에는 사용불가, SELECT나 HAVING 절에서만 사용 가능
    • AS 키워드: 속성이나 테이블에 별칭 부여
  • COUNT: 행의 개수를 셈
    • COUNT()의 괄호 안에는 * 혹은 특성 속성의 이름이 사용
    • COUNT(*)는 NULL 여부와 관계 없이 전체 튜플의 개수를 카운트, COUNT(속성)은 NULL 제외
  • GROUP BY: 특정 속성의 값이 같은 튜플을 모아 그룹을 만든 후 검색
  • HAVING: GROUP BY 절의 결과에 나타나는 그룹 제한
  • 조인: 한 테이블의 행을 다른 테이블의 행에 연결해 두 개 이상의 테이블을 결합하는 연산
  • 외부 조인: 조인 조건을 만족하지 않는 투플에 대해서도 검색 수행 - LEFT | RIGHT | FULL OUTER JOIN, ON
  • 부속 질의: SELECT 문 안에 또 다른 SELECT 문 포함하는 질의
    • 부속 질의문 (서브 질의문) : 다른 SELECT 문 안에 들어있는 SELECT문
    • 부속 질의문 먼저 수행 -> 그 결과 이용해 상위 질의문 수행
    • 부속 질의문과 상위 질의문 연결하는 연산자 필요
    • 상관(correlated, 연결) 부속 질의: 부속 질의 간에는 상하 관계가 있으며, 상위 부속 질의와 하위 부속 질의가 독립적이지 않고 서로 관련을 맺고 있음
    • 집합 연산 - UNION / MINUS, INTERSECT -> NOT IN, IN
    • EXISTS / NOT EXISTS: 상관 부속 질의문 형식으로 부속 질의의 결과가 존재하는지 여부 확인하는 연산자

#3. 데이터 정의어

  • CREATE TABLE: 테이블 구성 - NULL | NOT NULL | DEFAULT
  • 외래키 지정시: 참조 무결성 제약 조건 유지를 위해 참조되는 테이블에서 투플 삭제 시 처리 방법을 지정하는 옵션 - ON DELETE + CASCADE / SET NULL / RESTRICT / NO ACTION
  • ALTER: 생성된 테이블의 속성 변경 및 속성에 관한 제약 변경, 기본키 및 외래키 변경
  • DROP Table문: 테이블을 삭제하는 명령

#4. 데이터 조작어

INSERT문 테이블에 새로운 투플 삽입하는 명령
UPDATE문 특정 속성값을 수정하는 명령
DELETE문 테이블에 있는 기존 투플 삭제하는 명령