'언젠가 읽기' 컨텐츠는 논문이나 영문 컨텐츠 등 언젠가 읽으려고 즐겨찾기 하고선
읽지 않고 계속 미룰만한 컨텐츠를 읽고 요약하거나 소개합니다.
대규모 공유 데이터 뱅크를 위한 관계형 데이터 모델 - E. F. Codd (1970)
개요
E. F. Codd의 1970년 논문
"대형 공유 데이터 뱅크를 위한 데이터의 관계적 모델"
은 관계형 데이터베이스의 이론적 기초를 제시한 혁신적인 작품입니다. 이 논문에서 Codd는 데이터의 논리적 구조와 물리적 저장 구조를 분리하여 데이터 독립성을 제공하는
관계형 모델
을 제안했습니다. 이는 당시 주로 사용되던
계층형
이나
네트워크형
데이터 모델의 복잡성과 물리적 구조에 대한 의존성을 극복하는 데 큰 기여를 했습니다.
1. 관계형 모델과 정규형
1.1 소개
Codd는 데이터베이스 사용자들이 데이터의 내부 표현 방식이나 저장 구조에 대한 지식 없이도 데이터를 효과적으로 사용할 수 있어야 한다고 주장합니다. 데이터의 물리적 구조 변경이 응용 프로그램이나 사용자 작업에 영향을 주지 않아야 하며, 이를 위해 논리적 데이터 모델이 필요합니다.
1.2 기존 시스템의 데이터 종속성
1.2.1 순서 종속성
기존 시스템에서는 데이터가 특정 순서로 저장되어 있고, 이 순서에 따라 접근해야 했습니다. 이는 데이터 구조 변경 시 응용 프로그램의 수정이 필요하게 만들어 유지보수를 어렵게 했습니다.
1.2.2 인덱스 종속성
데이터 접근이 특정 인덱스 구조에 의존하여, 인덱스 구조 변경 시 시스템 전반에 영향을 미쳤습니다. 이는 데이터의 유연한 활용을 제한했습니다.
1.2.3 접근 경로 종속성
데이터에 접근하기 위한 경로가 고정되어 있어, 새로운 요구사항에 대한 대응이나 최적화에 한계가 있었습니다.
1.3 데이터에 대한 관계적 관점
Codd는 데이터를
관계(Relation)
의 집합으로 표현하는 모델을 제안합니다. 관계는 행과 열로 구성된 2차원 테이블 형태로, 각 행은
튜플(Tuple)
, 각 열은
속성(Attribute)
을 나타냅니다. 이를 통해 데이터는 수학적 집합 이론에 기반한 명확하고 일관된 방식으로 표현됩니다.
1.4 정규형
데이터의 중복성과 이상 현상(Anomaly)을 방지하기 위해 관계를
정규화(Normalization)
하는 과정을 소개합니다. 정규형은 데이터의 무결성을 유지하면서 효율적인 데이터베이스 설계를 가능하게 합니다.
1.5 언어적 측면
데이터를 정의하고 조작하기 위한
데이터 서브언어(Data Sublanguage)
의 중요성을 강조합니다. Codd는 관계형 모델에 적합한 고수준의 데이터 처리 언어가 필요하며, 이는 관계 대수와 관계 해석에 기반해야 한다고 주장합니다.
1.6 표현 가능하고 명명된 저장된 관계
데이터베이스에서 사용되는 모든 관계는 명명되어야 하며, 표현 가능한 연산을 통해 새로운 관계를 생성할 수 있어야 합니다. 이는 데이터 재사용성과 쿼리의 유연성을 높입니다.
2. 중복성과 일관성
2.1 관계에 대한 연산
2.1.1 순열(Permutation)
관계에서 속성의 순서를 변경해도 데이터의 의미는 변하지 않습니다. 이는 속성의 순서에 독립적인 데이터 처리의 중요성을 나타냅니다.
2.1.2 사상(Projection)
관계에서 일부 속성만 선택하여 새로운 관계를 생성하는 연산입니다. 필요하지 않은 데이터를 제거하여 효율성을 높입니다.
2.1.3 조인(Join)
두 개 이상의 관계를 결합하여 새로운 관계를 만드는 연산입니다. 공통된 속성을 기반으로 데이터를 통합할 수 있습니다.
2.1.4 합성(Composition)
관계를 조합하여 복잡한 데이터를 표현합니다. 이는 여러 관계의 조합을 통해 다양한 관점을 제공할 수 있습니다.
2.1.5 제한(Restriction)
특정 조건을 만족하는 튜플만을 선택하여 관계를 형성합니다. 데이터를 필터링하여 원하는 정보만 추출할 수 있습니다.
2.2 중복성
2.2.1 강한 중복성
데이터의 불필요한 중복은 저장 공간을 낭비하고, 데이터 불일치와 같은 문제를 야기할 수 있습니다. 강한 중복성은 이러한 심각한 중복을 말합니다.
2.2.2 약한 중복성
일부 중복성은 시스템 성능 향상을 위해 허용될 수 있습니다. 그러나 이는 관리와 통제를 통해 일관성을 유지해야 합니다.
2.3 일관성
데이터의 무결성과 일관성을 유지하기 위해서는 데이터베이스에 제약 조건을 적용하고, 데이터를 조작할 때 이러한 제약을 준수해야 합니다.
2.4 요약
관계형 모델은 데이터의 중복을 최소화하고 일관성을 유지하며, 데이터 독립성을 통해 시스템의 유연성과 유지보수성을 향상시킵니다.
참고 자료
-
"데이터베이스 시스템 개론" - C. J. Date
-
"관계형 데이터베이스의 이해" - 김연희
-
"타르 구덩이에서 벗어나기" - Ben Moseley, Peter Marks