본문에 오류가 있을 수 있음을 감안하고 봐주시길 바랍니다.
# 문제 풀이 중 오답노트 하면서 나온 내용을 정리한 것
관계형 데이터베이스: 2차원적인 표(Table)를 이용해서 데이터 상호 관계를 정의하는 데이터베이스이다. 코드(E. F. Codd)가 제안했다.
- 장점: 간결하고 보기 편리하며 다른 데이터베이스로의 변환이 용이하다.
- 단점: 성능이 다소 떨어진다.
관계형 데이터베이스의 릴레이션 구조: 데이터들을 표의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

- 튜플(Tuple): 릴레이션을 구성하는 각각의 행을 말하며 속성의 모임으로 구성된다. 파일 구조에서 레코드와 같은 의미이며 튜플의 수를 카디널리티(Cardinality), 기수 또는 대응수라고 한다.
- 속성(Attribute): 데이터베이스를 구성하는 가장 작은 논리적 단위이며 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다. 개체의 특성을 기술하며 속성의 수를 디그리(Degree) 또는 차수라고 한다.
- 도메인(Domain): 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(Atomic) 값들의 집합이다. 도메인은 실제 속성값이 나타날 때 그 값이 합법 여부를 시스템이 검사하는 데에도 사용된다.
- 릴레이션의 특징: 릴레이션에 포함된 튜플들은 모두 상이하다, 튜플 사이에는 순서가 없다, 릴레이션은 삽입·삭제 등의 작업으로 인해 시간에 따라 변한다. 스키마를 구성하는 속성들 간의 순서는 중요하지 않다. 속성의 명칭은 유일해야 하지만 속성을 구성하는 값은 동일한 값이 있을 수 있다. 속성의 값은 원자값만을 저장한다.
- 카티션 프로덕트(Cartesian Product) = 차수(Degree) + 차수(Degree), 카디널리티(Cardinality) * 카디널리티(Cardinality)
키: 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 속성을 말한다.
- 후보키(Candidate Key): 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다. 기본키로 사용할 수 있는 속성들을 말하며 유일성과 최소성을 모두 만족시켜야 한다.
- 유일성(Unique): 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야 함
- 최소성(Minimality): 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함
- 기본키(Primary Key): 후보키 중에서 특별히 선정된 주키(Main Key)이다. 중복된 값을 가질 수 없으며 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다. 기본키는 Null 값을 가질 수 없다.
- 대체키(Alternate Key): 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키를 말한다. 보조키라고도 한다.
- 슈퍼키(Super Key): 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말하며 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족하지만 최소성은 만족하지 못한다.
- 외래키(Foreign Key): 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다. 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다. 기본키의 일부가 외래키가 될 수 있고 참조 무결성과 관련이 있다.
무결성(Integrity): 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다. 데이터의 정확성을 보장하기 위해 부정확한 자료가 데이터베이스 내에 저장되는 것을 방지하기 위한 제약조건(도메인, 키, 종속성 등)을 말한다.
| 종류 | 내용 |
| 개체 무결성 | 기본 테이블의 기본키를 구성하는 어떤 속성도 Null 값이나 중복값을 가질 수 없다는 규정 |
| 참조 무결성 | 외래키 값을 Null이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정 |
| 도메인 무결성 | 주어진 속성값이 정의된 도메인에 속한 값이어야 한다는 규정 |
| 사용자 정의 무결성 | 속성값들이 사용자가 정의한 제약조건에 만족되어야 한다는 규정 |
| Null 무결성 | 릴레이션의 특정 속성값이 Null이 될 수 없도록 하는 규정(Not Null) |
| 고유 무결성 | 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성값들이 서로 달라야 한다는 규정 |
| 키 무결성 | 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정 |
| 관계 무결성 | 릴레이션에 어느 한 튜플의 삽입 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계에 대한 적절성 여부를 지정한 규정 |
예시)
| 구분 | 제약 조건 | |
| 개체 무결성 | 참조 무결성 | |
| 제약 대상 | 속성, 튜플 | 속성, 튜플 |
| 키 | 기본키 | 외래키 |
관계 대수: 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다. 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하며 피연산자와 연산 결과가 모두 릴레이션이며 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시한다.
- 순수 관계 연산자: π선택열(σ조건(테이블명))
| 종류 | 특징 | 기호 |
| Select | · 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산으로 수평 연산이라고도 함 | σ |
| Project | · 주어진 릴레이션에서 속성 리스트(Attribute List)에 제시된 속성값만을 추출하여 새로운 릴레이션을 만드는 연산 · 연산 결과에 중복이 발생하면 중복이 제거됨 · 릴레이션의 열에 해당하는 속성을 추출하는 것이므로 수직 연산자라고도 함 |
π |
| Join | · 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산 · Join의 결과는 Cartesian Product를 수행한 다음 Select를 수행한 것과 같음 # 두 릴레이션 차수+차수, 튜플*튜플 |
▷◁ |
| Division | · X⊃Y인 두 개의 릴레이션 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모든 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산 · 릴레이션 S의 조건에 맞는 것들만 R에서 분리하여 프로젝션을 하는 연산 |
÷ |
- 일반 집합 연산자: 수학적 집합 이론에 사용하는 연산자
| 연산자 | 기능 및 수학적 표현 | 카디널리티 |
| 합집합 (UNION, ∪) |
· 두 릴레이션에 존재하는 튜플의 합집합을 구하되 결과로 생성된 릴레이션에 중복되는 튜플은 제거되는 연산 · R ∪ S = { t | t ∈ R ∨ t ∈ S } |
· 합집합의 카디널리티는 두 릴레이션 카디널리티 합보다 크지 않음 · |R ∪ S| ≤ |R| + |S| |
| 교집합 (INTERSECTION, ∩) |
· 두 릴레이션에 존재하는 튜플의 교집합을 구하는 연산 · R ∩ S = { t | t ∈ R ∧ t ∈ S } |
· 교집합의 카디널리티는 두 릴레이션 중 카디널리티가 적은 릴레이션의 카디널리티보다 크지 않음 · |R ∩ S| ≤ MIN{ |R|, |S| } |
| 차집합 (DIFFERENCE, -) |
· 두 릴레이션에서 존재하는 튜플의 차집합을 구하는 연산 · R - S = { t | t ∈ R ∧ t ∉ S } |
· 차집합의 카디널리티는 릴레이션 R의 카디널리티 보다 크지 않음 · |R - S| ≤ |R| |
| 교차곱 (CARTESIAN PRODUCT, ×) |
· 두릴레이션에 있는 튜플들의 순서쌍을 구하는 연산 · R × S = { r * s | r ∈ R ∧ s ∈ S } |
· 교차곱의 디그리는 두 릴레이션의 디그리를 더한 것과 같고 카디널리티는 두 릴레이션의 카디널리티를 곱한 것과 같음 · |R × S| = |R| * |S| |
관계 해석: 관계 데이터의 연산을 표현하는 방법, 코드(E. F. Codd)가 수학의 Predicate Calculus(술어 해석)에 기반을 두고 관계 데이터베이스를 위해 제안했다. 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니고 원하는 정보를 정의할 때는 계산 수식을 사용한다. 튜플 관계 해석과 도메인 관계 해석이 있다. 기본적으로 관계 해석과 관계 대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하다.
| 기호 | 구성요소 | 설명 |
| ∨ | OR 연산 | 두 식을 '또는'이라는 관계로 연결 |
| ∧ | AND 연산 | 두 식을 '그리고'라는 관계로 연결 |
| ¬ | NOT 연산 | 식에 대한 부정 |
| ∀ | 전칭 정량자 | 가능한 모든 튜플에 대하여(For All), 모든 것에 대하여(For All) |
| ∃ | 존재 전량자 | 하나라도 일치하는 튜플이 있음(There Exists) |
'정보처리기사' 카테고리의 다른 글
| [정보처리기사 요약 2-5] 인덱스, 뷰, 파티션부터 분산 데이터베이스까지 (1) | 2026.02.24 |
|---|---|
| [정보처리기사 요약 2-4] 데이터베이스 정규화(1NF~5NF) 및 반정규화 (0) | 2026.02.24 |
| [정보처리기사 요약 2-2] 개념적/논리적 데이터 모델과 E-R(개체-관계) 모델의 이해 (0) | 2026.02.24 |
| [정보처리기사 요약 2-1] 데이터베이스(DB) 기초(스키마, DBMS 기능, 설계 순서 등) (0) | 2026.02.24 |
| [정보처리기사 요약 1-7] 소프트웨어 방법론 테일러링과 프레임워크 총정리 (0) | 2026.02.23 |