가. 데이터 구조
관계형 모델의 데이터 구조는 6가지의 특성을 갖는 행(Row)과 열(Column)로 구성된 2차원의 관계형 테이블로 되어 있다.
-
각 열은 하나의 값을 가진다.
-
각 열의 값은 동일한 종류이다.
-
각 행은 유일하다.
-
열의 순서는 의미가 없다.
-
행의 순서는 의미가 없다.
-
각 열은 유일한 이름을 가진다.
1 ) 각 열은 하나의 값을 가진다.
각 열은 하나의 값을 가진다는 특성은 수학의 집합 이론에서는 릴레이션이 갖는 애트리뷰트의 원자성이라 한다. 한 릴레이션에 나타난 애트리뷰트 값은 논리적으로 더 이상 분해할 수 없는 값으로 업무적인 이유에 의한 단위 값이다. 따라서 애트리뷰트 값으로 반복 그룹(Repeating Group), 즉 값의 집합은 허용이 되지 않으며 이는 정규화한(Normalized) 또는 1차 정규형(First Normal From - 1NF) 릴레이션 이라고 한다.
-
하나의 속성에 여러 값을 정의한 경우
-
취미로 인하여 고객 집합이 반복 그룹이 되는 경우
관계형 모델은 데이터를 한 건씩 처리하는 순차 처리방식이 아니고, 집합 처리방식이므로 관계형 테이블 내 모든 속성은 원자 값으로 구성되어 있어야 한다. 반복 그룹 형태 위쪽의 '고객(CUSTOMER)' 테이블에서 취미가 '영화감상'인 고객을 찾으려면 'SELECT 성명 FROM 고객취미 WHERE 취미명 LIKE '%영화감상%'' 으로 찾을 수는 있다. 하지만 이것은 릴레이션(테이블)의 정규형에 위배되어 입력, 수정, 삭제 이상이라는 데이터 이상 현상이 발생하여 데이터의 일관성과 정확성이 깨질 수 있기 때문에 이러한 다중 값(Multi Value)을 갖는 속성은 정규화(Normalization)를 해야한다.
정리하자면, 관계형 모델의 테이블이 갖는 속성이 반복 그룹 속성이 아닌 단일 값(Single value)이면서 원자 값(Atomic value)이어야 하는 가장 근본적인 이유는 1) 정보 접근의 유연성 2) 테이블 구조 변경의 유연성(어떠한 조건이 바뀌었을 때 최소한의 노력만으로 그 조건을 수용할 수 있는 성질) 3) 정규화 이론에 나오는 입력이상, 수정이상, 삭제이상 현상을 없애고 데이터의 무결성(정확성과 일관성)을 확보하기 위한 것이다.
2 ) 각 열의 값은 동일한 종류이다.
속성은 같은 성격을 갖는 속성 값을 추상화하여 개념화한 것으로 같은 도메인 하에서 속성을 정의하였기 때문에 관계형 릴레이션 내에 각 애트리뷰트의 값은 동일한 종류로 정의해야 한다. 이를 도메인 무결성이라고 한다.
3 ) 각 행은 유일하다.
한 집합에 분별할 수 없는 똑같은 원소가 중복해서 포함될 수 없다. 이것을 튜플(Tuple)의 유일성이라 한다. 즉 두 개의 똑같은 튜플(Row)은 한 릴레이션에 포함될 수 없다. 이러한 성질을 엔터티 무결성(Entity Integrity)이라 한다.
4 ) 열의 순서는 의미가 없다.
이것을 애트리뷰트(Attribute)의 무순서성이라 한다. 이 성질은 한 릴레이션의 스키마가 일정 수의 애트리뷰트 집합으로 정의되는 데서 나오는 결과인 것이다. 따라서 애트리뷰트가 제일 먼저 기술되었다고 해서 첫 번째 애트리뷰트라는 의미가 아니다. 이것은 값의 순서(왼쪽에서 오른쪽으로)를 가지고 대응되는 애트리뷰트 이름을 알 수 있게 하는 편의상의 표현 방법에 불과하다.
5 ) 행의 순서는 의미가 없다.
수학적 의미의 한 집합의 원소 사이에는 순서가 없는데 릴레이션은 바로 튜플을 원소로 하는 집합이기 때문에 이 튜플 사이에는 순서가 있을 수 없다. 이것을 튜플의 무순서성이라 한다. 즉 이것은 두 릴레이션의 튜플들이 그 순서만 다르다고 해서 상이한 릴레이션이 될 수 없다는 뜻이다.
6 ) 각 열은 유일한 이름을 갖는다.
이 특성은 '열(Column)의 순서는 의미가 없다.'는 것의 연장선상이다. 열의 순서는 중요하지 않기 때문에, 열은 그것의 위치에 의해서가 아니라 열의 이름에 의해서 그 값을 찾을 수 있는 것이다. 따라서 열이 표현되는 테이블 내에서는 반드시 유일한 이름을 가져야 한다.
'Data Architecture > 데이터 모델링' 카테고리의 다른 글
[Data Architecture] 관계형 모델 이론_데이터 무결성_엔터티 무결성 규칙 (0) | 2020.12.05 |
---|---|
[Data Architecture] 관계형 모델 이론_데이터 조작 (0) | 2020.12.05 |
[Data Architecture] 관계형 모델 이론_관계형 모델 이란? (0) | 2020.12.05 |
[Data Architecture] 관계형 모델 이론_릴레이션, 속성, 도메인 개념 (0) | 2020.12.05 |
[Data Architecture] 데이터 모델링 표기법 이해_관계 표기법_정보공학(IE)표기법 및 CASE* Method 표기법 (0) | 2020.12.05 |