TIL - 20260120

juni·2026년 1월 19일

TIL

목록 보기
244/316

0120 정보처리기사 필기 (7/N): 3과목 - DML과 제약조건


✅ 1. DML (Data Manipulation Language, 데이터 조작어)

  • DML은 데이터베이스 테이블의 데이터를 조작(추가, 수정, 삭제, 조회)하는 데 사용되는 SQL 명령어 그룹입니다. DML로 수행된 작업은 트랜잭션(Transaction)으로 관리되며, COMMIT을 통해 영구 저장하거나 ROLLBACK을 통해 취소할 수 있습니다.

➕ 1-1. INSERT

  • 테이블에 새로운 행(Row, 튜플)을 추가합니다.

  • 기본 문법:

    -- 모든 컬럼에 순서대로 값을 넣는 경우
    INSERT INTO 테이블명 VALUES (1,2, ...);
    
    -- 특정 컬럼에만 값을 넣는 경우
    INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUES (1,2);

➕ 1-2. UPDATE

  • 테이블에 있는 기존 행의 데이터를 수정합니다.
  • WHERE 절을 생략하면 테이블의 모든 행이 수정되므로 매우 주의해야 합니다.
  • 기본 문법:
    UPDATE 테이블명
    SET 컬럼1 =1, 컬럼2 =2
    WHERE 조건;

➕ 1-3. DELETE

  • 테이블에 있는 기존 행을 삭제합니다.
  • WHERE 절을 생략하면 테이블의 모든 행이 삭제되므로 매우 주의해야 합니다.
  • 기본 문법:
    DELETE FROM 테이블명
    WHERE 조건;

➕ 1-4. SELECT

  • 테이블에서 데이터를 조회하는 가장 기본적이고 중요한 명령어입니다.
  • 기본 문법:
    SELECT [DISTINCT] 컬럼명1, 컬럼명2, ...
    FROM 테이블명
    WHERE 조건
    GROUP BY 컬럼명
    HAVING 그룹조건
    ORDER BY 컬럼명 [ASC|DESC];
    • DISTINCT: 조회 결과에서 중복된 행을 제거합니다.
    • AS: 컬럼이나 테이블에 별칭(Alias)을 부여합니다.
    • LIKE: 문자열의 일부 내용을 검색할 때 사용 (%: 여러 문자, _: 한 문자).
    • ORDER BY: 결과를 정렬합니다 (ASC: 오름차순(기본값), DESC: 내림차순).

✅ 2. 제약조건 (Constraints)

  • 제약조건은 데이터베이스 테이블에 저장되는 데이터의 무결성(Integrity)과 일관성(Consistency)을 보장하기 위한 규칙입니다. 잘못된 데이터가 입력되거나 변경되는 것을 데이터베이스 시스템 차원에서 방지합니다.

➕ 2-1. PRIMARY KEY (기본 키)

  • 개념: 테이블의 각 행을 유일하게 식별할 수 있는 컬럼(또는 컬럼들의 집합).
  • 특징:
    • UNIQUE (유일성): 중복된 값을 가질 수 없습니다.
    • NOT NULL (개체 무결성): NULL 값을 가질 수 없습니다.
    • 하나의 테이블에는 오직 하나의 기본 키만 존재할 수 있습니다.

➕ 2-2. FOREIGN KEY (외래 키)

  • 개념: 한 테이블의 컬럼이 다른 테이블의 기본 키(Primary Key)를 참조하는 제약조건.
  • 역할: 두 테이블 간의 관계(Relationship)를 정의하고, 참조 무결성을 보장합니다.
  • 참조 무결성: 자식 테이블(외래 키가 있는 테이블)의 외래 키 값은, 반드시 부모 테이블(참조되는 테이블)의 기본 키 값 중에 존재해야 한다는 규칙.
    • 예시: 학생 테이블의 학과코드는, 반드시 학과 테이블의 학과코드 목록에 존재하는 값이어야 합니다.
  • 옵션: 참조되는 부모 테이블의 데이터가 삭제/수정될 때, 자식 테이블의 데이터를 어떻게 처리할지 지정할 수 있습니다.
    • ON DELETE CASCADE: 부모 데이터 삭제 시, 관련된 자식 데이터도 함께 삭제.
    • ON DELETE SET NULL: 부모 데이터 삭제 시, 자식 데이터의 해당 필드를 NULL로 변경.

➕ 2-3. UNIQUE (고유 키)

  • 개념: 기본 키는 아니지만, 테이블 내에서 항상 유일한 값을 가져야 하는 컬럼에 지정합니다.
  • 특징:
    • 기본 키와 달리 NULL 값을 허용합니다. (단, NULL 값은 여러 번 저장될 수 있음 - DBMS마다 다름)
    • 하나의 테이블에 여러 개의 UNIQUE 제약조건을 설정할 수 있습니다.
    • 예시: 회원 테이블의 이메일, 주민등록번호 등.

➕ 2-4. NOT NULL

  • 개념: 해당 컬럼에 NULL 값이 저장되는 것을 허용하지 않습니다.
  • 예시: 회원 테이블의 아이디, 이름 등 필수 입력 항목.

➕ 2-5. CHECK

  • 개념: 컬럼에 저장될 수 있는 값의 범위나 조건을 지정하는 제약조건.
  • 예시:
    • 나이 컬럼은 0보다 커야 함: CHECK (AGE > 0)
    • 성별 컬럼은 '남' 또는 '여'만 가능: CHECK (GENDER IN ('남', '여'))

📌 요약

  • DMLINSERT(추가), UPDATE(수정), DELETE(삭제), SELECT(조회)를 사용하여 테이블의 데이터를 다루는 명령어입니다.
  • UPDATEDELETE 사용 시, WHERE 절을 빠뜨리지 않도록 각별히 주의해야 합니다.
  • 제약조건은 데이터의 무결성을 보장하기 위한 데이터베이스 규칙입니다.
  • PRIMARY KEY는 행의 유일성을, FOREIGN KEY는 테이블 간의 관계와 참조 무결성을, UNIQUE는 컬럼 값의 유일성을 보장하는 핵심적인 제약조건입니다.

0개의 댓글