앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.10.25 - [Computer Science/데이터 베이스] - [데이터베이스] 관계 모델(Relation Model)
1. 릴레이션의 특성(Characteristics of Relation)
- 릴레이션에도 특성이 있습니다.
- 튜플들의 순서, 애트리뷰트의 순서, 튜플의 값 등이 있습니다.
- 이번 글에는 릴레이션의 특성들에 대해 알아보겠습니다.
2. 튜플들의 순서(Ordering of Tuples)
- Relation내의 튜플들의 순서는 정해져 있지 않습니다.
- 집합 내에서의 원소들 사이의 순서는 정해져 있지 않는 것처럼, 릴레이션 내의 튜플들은 특정 순서를 갖지 않습니다.
- 따라서 위 두개의 릴레이션은 동일한 릴레이션입니다.
- 다만 Physical 단계에는 순서적으로 저장되어 있지만, 릴레이션은 Logical 혹은 Abstract 단계에서 표현하기 때문에 튜플들의 순서는 릴레이션의 정의의 일부가 아닙니다.
3. 애트리뷰트들의 순서(Ordering of Attributes)
- 이전 글에서 n-튜플은 n개의 값의 순서 리스트라고 언급했습니다.
- 릴레이션 스키마 R의 튜플은 R(A1, A2, ..., An)으로 표시되고, 튜플 ti는 <v1, v2, ..., vn>으로 표시됩니다.
- 즉 이 말은 릴레이션 스키마를 정의할 때는 애트리뷰트들의 순서가 중요하다는 것을 의미합니다.
- 하지만 각 애트리뷰트와 애트리뷰트의 값이 서로 대응된다면 애트리뷰트들의 순서와 애트리뷰트 값들의 순서는 중요하지 않습니다.
- 예를 들어 t=<(Name, Woo), (Phone_number, 010-1234-5678), (Birth, 10000101)>과 t=<(Phone_number, 010-1234-5678), (Birth, 10000101), (Name, Woo)>은 서로 동일한 튜플입니다.
- 이러한 튜플들을 Self-Describing이라고 합니다.
- 그 외의 경우에는 애트리뷰트들의 순서가 중요합니다.
4. 튜플의 값(Value in a Tuple)
- 튜플의 값은 원자값(atomic)하다고 말합니다. 이는 값이 더 이상 나누어질 수 없음을 의미합니다.
- 따라서 Composite Attribute와 Multi-Valued Attribute는 허용되지 않습니다.
- 이러한 모델을 평면 관계 모델(flat relational model)이라고 부릅니다.
- 평면 관계 모델에서 Composite Atturibute는 단순 애트리뷰트들로 표현해야 하고, Multi-Valued Attribute는 별도의 릴레이션으로 표현해야 합니다.
- 그럼에도 불구하고, 튜플의 값을 NULL로 표시해야 하는 경우가 종종 발생합니다.
- 값을 알 수 없는 경우(Unknown)
- 가능하지 않은 값을 가지는 경우 혹은 값을 가지고 있지 않은 경우(Not Available)
- 이 튜플에는 이 애트리뷰트를 적용할 수 없는 경우(Inapplicable)
- 위의 경우에는 튜플의 값을 NULL로 표시해야 합니다.
5. 표기법(Notation)
- 차수가 n인 릴레이션 스키마 R은 R(A1, A2, ..., An)으로 표기합니다.
- 대문자는 Q, R, S는 릴레이션의 이름을, 소문자 q, r, s는 릴레이션의 상태를 나타냅니다.
- 소문자 t, u, v는 튜플을 나타냅니다.
- 일반적으로 STUDENT처럼 릴레이션 스키마의 이름은 현재의 릴레이션 상태를 가리키고, 반면에 STUDENT(Name, Ssn, ...)은 릴레이션 스키마만을 가리킵니다.
- 애트리뷰트 이름 A에 애트리뷰트가 속한 릴레이션의 이름 R을 붙여서 R.A로 표기 할 수 있습니다. STUDENT.Name 또는 STUDENT.Age 등이 그 예시인데, 서로 다른 릴레이션이 동일한 이름의 애트리뷰트를 사용할 수 있기 때문입니다. 하지만 한 릴레이션의 애트리뷰트 이름들은 서로 달라야 합니다.
- 릴레이션 r(R)의 n-투플 t는 t=< v1, v2, ..., vn>으로 표기합니다. 여기서 vi는 애트리뷰트 Ai의 값이 됩니다.
- t[Ai]와 t.Ai는 t에서 애트리뷰트 Ai의 값 vi를 가리킵니다.
- t[Au, Aw, ..., Az]와 t.(Au, Aw, ..., Az)는 t에서 애트리뷰트들의 리스트 Au, Aw, ..., Az에 대한 값들의 서브 튜플(subtuple) < vu, vw, ..., vz>를 가리킵니다.
참고
경북대학교 컴퓨터학부 COMP0322-004 데이타베이스 수업
DATABASE SYSTEMS 7th / Elmasri, Navathe 저 / PEARSON / 2019년
다음 글에서는 관계 모델의 제약 조건 - 1(Relational Model Constraints)에 대해 알아보겠습니다.
2023.10.26 - [Computer Science/데이터 베이스] - [데이터베이스] 관계 모델의 제약 조건 - 1(Relational Model Constraints)
감사합니다.
지적 환영합니다.
'Computer Science > 데이터 베이스' 카테고리의 다른 글
[데이터베이스] 관계 모델의 제약 조건 - 2(Relational Model Constraints) (0) | 2023.10.26 |
---|---|
[데이터베이스] 관계 모델의 제약 조건 - 1(Relational Model Constraints) (1) | 2023.10.26 |
[데이터베이스] 관계 모델(Relation Model) (0) | 2023.10.25 |
[데이터베이스] 약한 엔티티 타입(Weak Entity Type) (0) | 2023.10.25 |
[데이터베이스] 관계의 제약 조건, 관계 타입의 애트리뷰트 (0) | 2023.10.25 |