여행을 개발하다

관계 데이터 모델(Relation Data Model)의 구조 본문

데이터베이스/MySQL

관계 데이터 모델(Relation Data Model)의 구조

yhtragramming 2019. 5. 16. 11:03

안녕하세요!

 

오늘은 지난 번 데이터베이스를 생성했던 것에 이어,

관계 데이터 모델의 구조에 대해 포스팅을 하고자 합니다.

 

관계 데이터 모델이란 자료의 저장 형태를 2차원 구조의 표로 표현한 것을 의미하는데요.

 

구조에 대해 설명하기에 앞서, 전 포스팅에서 데이터베이스를 생성하는 것부터 이야기했었습니다.

너무 급했다면 급했네요. 그래서 이 참에 관계 데이터 모델의 구조도 함께 살펴보겠습니다.


1. 관계 데이터 모델의 구조

관계 데이터 모델의 구조를 릴레이션, 속성, 튜플, 테이블 등으로 나누어서 살펴보겠습니다.

다음과 같은 표가 있다고 가정하겠습니다.

 

Student라는 이름을 갖고 있고, 세부적으로는 idx, name, phone, major, address, gender등의 여러가지 컬럼(Column)으로 구성이 되어 있어요.

 

Student라는 표는 가로는 항목으로, 세로는 각 항목명에 해당되는 여러가지 데이터로 이루어져 있어요.

여기서 가로, 세로로 이루어진 표 자체를 '릴레이션 혹은 테이블'이라고 부릅니다.

아래의 그림은 Student 릴레이션 혹은 Student 테이블이라고 볼 수 있겠네요.

또한, 릴레이션을 구성하는 기본 항목 idx, name, phone, major 등은 '속성'이라고 지칭합니다.

부가적으로, 하나의 릴레이션을 구성하는 속성들의 집합을 '릴레이션 스키마'라고 부릅니다.

즉, {idx, name, phone, major, address, gender, score}가 릴레이션 스키마가 되는거죠.

마지막으로, idx 1에서 7까지와 같이 하나의 테이블에서 어느 시점까지 입력된 튜플들의 집합을 '릴레이션 인스턴스'라고 부릅니다.

위의 내용을 종합해보면, 다음과 같이 표현할 수 있겠습니다.


Tip! 명칭 정리

* Relation(릴레이션) = Table(표)

* Attribute(속성) = 열(Column) = 항목(Field) = 칸

* Tuple(튜플) = 행(Row) = 레코드(Record) = 줄

 

위와 같이 동일한 의미를 다르게 표현할 수 있습니다.


2. Degree(차수)와 Cardinality(카디널리티)

- Degree(차수)란 릴레이션을 구성하는 속성의 수를 의미합니다.

- Cardinality(카디널리티)는 릴레이션에서 입력된 튜플의 수를 의미합니다.

 

결국임의로 만든 Student 릴레이션의 카디널리티는 7, 차수는 7로 공교롭게 똑같네요 ㅎㅎㅎ

 

 


지금까지 관계데이터 모델의 구조와 카디널리티, 차수에 대해 알아보았습니다.

 

다음 포스팅에서는 릴레이션의 생성과 더불어

데이터 정의어(DDL ; Data Definition Language)에 대해 살펴보겠습니다.

 

감사합니다 : )

'데이터베이스 > MySQL' 카테고리의 다른 글

Database 생성하기  (0) 2019.05.07
Comments