앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.10.25 - [Computer Science/데이터 베이스] - [데이터베이스] 약한 엔티티 타입(Weak Entity Type)
1. 관계형 모델(Relational Model)
- 관계형 모델은 데이터베이스를 릴레이션들의 모임으로 표현합니다.
- 릴레이션이란 테이블을 의미하고, 행은 튜플, 열은 애트리뷰트, 가능한 값들은 도메인에 의해 표현됩니다.
- 위의 예시에서, STUDENT가 릴레이션이고, 튜플은 <Smith, 17, 1 CS>가 되고, 애트리뷰트는 Name, Student_number, Class, Major이 됩니다.
2. 도메인(Domain)
- 도메인(Domain)은 D라고도 불리며 더 이상 나누어질 수 없는 원자 값들의 집합입니다.
- 일반적으로 도메인을 명시하는 방법은 도메인에 속하는 값들의 데이터 타입 혹은 데이터 포맷을 명시하는 것입니다.
- 일반적으로 전화번호의 도메인(데이터 타입)은 (ddd)ddd-dddd와 같은 형식의 문자열로 선언할 수 있습니다.
- 이때 특정 애트리뷰트 Ai의 도메인은 don(Ai)라고 표기합니다.
- 따라서 릴레이션 내에서 어트리뷰트의 이름이 도메인의 역할을 수행합니다.
3. 스키마(Schema)
- R(A1, A2, ..., An)으로 표시하는 릴레이션 스키마(Relation Schema) 혹은 릴레이션의 내연(Intension of a Relation)은 R이라는 릴레이션 이름과 A1, A2, ..., An이라는 애트리뷰트들로 이루어집니다.
- 각 애트리뷰트는 스키마 R에서의 어떤 도메인 D와 같은 역할을 수행합니다.
- 이 릴레이션 스키마의 애트리뷰트 수를 릴레이션의 차수(Degree(or Arity) of the Relation)이라고 합니다.
- 아래와 같은 릴레이션의 차수는 7입니다.
4. 튜플(Tuple)
- 릴레이션 스키마 r은 n-튜플(n-Tuple)의 집합입니다. r은 r(R)으로도 표기할 수 있습니다.
- 즉 r은 {t1, t2, ..., tm}입니다.
- n-튜플은 n개의 값의 순서 리스트이며, t = <v1, v2, ..., vn>으로 표기합니다.
- 즉 n-튜플에서 n이 의미하는 바는 하나의 튜플이 n개의 값을 가진다로 해석됩니다.
- 또한 튜플을 표시할 때는 <>로 표시합니다.
- 각 vi는 dom(Ai)의 원소이거나 NULL 값을 가집니다.
- 예를 들어 r(R) = {<0, a>, <0, b>, <1, c>}라면, r은 3개의 2-튜플을 가집니다.
5. 릴레이션 상태(Relation State)
- 릴레이션 상태(Relation State) 혹은 릴레이션의 외연(Extension of the Relation)은 R을 정의하는 도메인들의 카티션 곱(Cartesian Product)의 부분집합입니다.
- Cartesian Product는 도메인 값들의 모든 가능한 조합을 의미합니다.
- 쉽게 말해서 특정 릴레이션의 상태는 모든 도메인들의 경우의 수 집합 중 부분집합입니다.
- 따라서 위의 튜플에서 r(R)은 relation R의 특정 상태를 의미하고, r(R)은 dom(A1) * dom(A2) * ... * dom(An)에 속합니다.
- 위의 예시에서 Relation Name은 STUDENT, 애트리뷰트는 Name, Ssn, Home_phone, Address, Office_phone, Age, Gpa가 됩니다.
- 또한 튜플은 각 행이 되겠습니다.
- 따라서 릴레이션 스키마는 STUDENT(Name, Ssn, Home_phone, Address, Office_phone, Age, Gpa)로 표시됩니다.
참고
경북대학교 컴퓨터학부 COMP0322-004 데이타베이스 수업
DATABASE SYSTEMS 7th / Elmasri, Navathe 저 / PEARSON / 2019년
다음 글에서는 릴레이션의 특성(Characteristics of Relation)에 대해 알아보겠습니다.
2023.10.26 - [Computer Science/데이터 베이스] - [데이터베이스] 릴레이션의 특성(Characteristics of Relation)
감사합니다.
지적 환영합니다.
'Computer Science > 데이터 베이스' 카테고리의 다른 글
[데이터베이스] 관계 모델의 제약 조건 - 1(Relational Model Constraints) (1) | 2023.10.26 |
---|---|
[데이터베이스] 릴레이션의 특성(Characteristics of Relation) (0) | 2023.10.26 |
[데이터베이스] 약한 엔티티 타입(Weak Entity Type) (0) | 2023.10.25 |
[데이터베이스] 관계의 제약 조건, 관계 타입의 애트리뷰트 (0) | 2023.10.25 |
[프로그래머스 - Oracle] 131118 - 서울에 위치한 식당 목록 출력하기 (1) | 2023.10.21 |