정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 관계형 데이터 모델 — 릴레이션·키·무결성 제약

관계형 데이터 모델 세트는 릴레이션을 이루는 기본 개념과 제약 조건을 묻는다. 도메인, 튜플과 속성의 순서, 카디널리티와 디그리, 후보키·기본키·외래키, 그리고 개체 무결성과 참조 무결성이 문제의 중심이다.

2026-10-19 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「관계형 데이터 모델」의 공개 문제 1개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
관계 모델의 구성 요소1모델을 이루는 용어와 개념

가장 자주 묻는 것은 관계 모델의 구성 요소입니다.

뜻

도메인(Domain)은 특정 속성이 가질 수 있는 모든 가능한 값의 집합이다. 데이터의 유효성을 검증하는 기준이 되며, '각 속성에서 취할 수 있는 값들의 집합'으로 출제된다.

릴레이션은 행과 열로 이루어진 표다. 행은 튜플(Tuple), 열은 속성(Attribute)이다. 릴레이션에서 튜플의 수는 카디널리티(Cardinality), 속성의 수는 디그리(Degree)라고 한다. 중요한 성질은 순서가 없다는 점이다. 튜플 사이에도 순서가 없고, 속성 사이에도 순서가 없다. '속성 간에 순서가 존재한다'거나 '튜플이 특정한 순서를 가진다'는 설명은 틀린 진술이다.

키도 구분한다. 후보키는 튜플을 유일하게 식별할 수 있는 속성의 집합이고, 기본키는 그중 하나를 고른 것이다. 후보키 중 기본키를 제외한 나머지는 대체키다. 외래키(Foreign Key)는 다른 테이블의 기본키를 참조해 테이블 간 관계를 설정하는 키이며, 참조 무결성 제약을 표현하는 도구다.

무결성 규정은 데이터의 정확성과 일관성을 유지하기 위한 제약 조건이다. 불법 사용자를 차단하는 접근 통제는 보안의 영역이지 무결성 규정이 아니다. 개체 무결성은 기본키를 구성하는 속성이 널(NULL)이나 중복 값을 가질 수 없다는 조건이다. 참조 무결성은 외래키와 참조 대상 기본키의 도메인과 속성 개수가 일치해야 한다는 조건이며, 속성 이름까지 같을 필요는 없다.

예제

선지 판단은 도메인을 속성 값의 집합으로 읽는지, 릴레이션의 행과 열에 순서가 없다고 보는지, 행 수를 카디널리티·열 수를 디그리로 짝지었는지, 외래키를 다른 테이블의 기본키를 참조하는 키로 보는지, 참조 무결성에서 속성명 일치까지 요구하지 않았는지, 접근 통제를 무결성 규정과 섞지 않았는지에서 갈린다.

대표 기출 3문항

데이터의 무결성(integrity)을 보장하기 위하여 DBMS의 트랜잭션이 가져야 할 특성에 해당하지 않는 것은?

  1. 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.
  2. 트랜잭션의 실행은 데이터베이스의 일관성을 유지해야 한다.
  3. 트랜잭션이 일단 그 실행을 성공적으로 완료하면 그 결과는 영속적이어야 한다.
  4. 하나의 트랜잭션이 실행 중에 있는 연산의 중간 결과는 다른 트랜잭션이 접근할 수 있어야 한다.
정답과 해설 보기

정답 ④ · 트랜잭션이 갖추어야 할 ACID 특성에 해당하지 않는 것을 묻는 문제이다. 트랜잭션의 특성은 원자성, 일관성, 격리성, 지속성인데, 1번은 원자성, 2번은 일관성, 3번은 지속성에 각각 해당하는 올바른 설명이다.

트랜잭션의 중간 결과가 다른 트랜잭션에 보이지 않도록 격리(Concurrency Control)해야 무결성이 보장된다.

트랜잭션에 대한 설명으로 옳지 않은 것은?

  1. 트랜잭션은 작업의 논리적 단위이다.
  2. 하나의 트랜잭션은 commit 되거나 rollback 되어야 한다.
  3. 트랜잭션은 일반적으로 회복의 단위가 된다.
  4. 구조점(savepoint)은 트랜잭션 당 한번만 지정할 수 있다.
정답과 해설 보기

정답 ④ · 트랜잭션에 대한 설명 중 옳지 않은 것을 고르는 문제이다. 트랜잭션은 데이터베이스의 논리적 작업 단위이며, 원자성에 따라 커밋되거나 롤백되어야 하고 일반적으로 회복의 단위가 된다는 설명은 모두 옳다.

한 작업의 논리적 단위가 성공적으로 끝났고, 데이터베이스가 다시 일관된 상태에 있으며, 이 트랜잭션이 행한 갱신 연산이 완료된 것을 트랜잭션 관리자에게 알려주는 연산은?

  1. ROLLBACK 연산
  2. LOG 연산
  3. COMMIT 연산
  4. BACKUP 연산
정답과 해설 보기

정답 ③ · 트랜잭션의 성공적 완료를 트랜잭션 관리자에게 알리는 연산을 묻는 문제이다. COMMIT 연산은 하나의 트랜잭션이 논리적 단위를 성공적으로 수행하여 데이터베이스가 일관된 상태가 되었음을 알리고, 그동안 수행한 갱신 연산 결과를 데이터베이스에 영구히 반영한다.

트랜잭션의 성공적 종료를 알리고 영구 저장하는 연산은 COMMIT이다.

자주 묻는 물음

카디널리티와 디그리는 무엇인가요?
카디널리티는 릴레이션에 포함된 튜플(행)의 수, 디그리는 속성(열)의 수입니다.
개체 무결성과 참조 무결성은 어떻게 다른가요?
개체 무결성은 기본키 속성에 널 값이나 중복 값이 올 수 없다는 조건이고, 참조 무결성은 외래키가 참조하는 기본키와 도메인·속성 개수가 일치해야 한다는 조건입니다.
참조 무결성에서 속성 이름도 같아야 하나요?
아닙니다. 도메인과 속성 개수가 일치하면 되고, 속성명은 스키마 설계에 따라 달라도 됩니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.