릴레이셔널(Relational)

상위문서 : 데이터베이스

필수참고문서 : 


목차

1. 개요
2. 설명
2.1. 차수의 종류
2.2. 선택성
2.3. 관계의 종류


1.개요

데이터베이스 설계에서 가장 중요한 개념 관계이다. 관계란 두 엔티티(테이블) 사이의 논리적인 관계를 말한다. 관계를 표현하는 변수는 차수와 선택성이 있다. 
차수란 두개의 엔티티간 관계에서 참여자의 수를 표현한 것을 말한다. 아래 예제의 선택성은 편의상 모두 필요(Mandatory)로 작성한다.

2.설명

2.1. 차수의 종류

차수의 종류는 1:1 1:N N:M이 있다.
1. 1:1

예약 신청자-> 예약결제 로 해석할 때
한 명의 예약신청자에 대해 한 개의 예약결제를 한다.
예약결제 -> 예약 신청자로 해설할 때
한개의 예약결제에 대하여 한 개의 예약 신청자가 신청한다.

2. 1:N

대학 건물-> 강의실 로 해석할 때
한개의 대학 건물은 여러개의 강의실을 가진다.
강의실 -> 대학 건물 로 해석할 때

※한 강의실은 한 대학 건물의 소속된다.

보통 이런 1:N 테이블이 실제 데이터베이스 모델링 할 때 가장 많이 쓰이며 여기서 대학 건물은 강의실에 대하여 부모 테이블이다.
강의실은 따라서 자식 테이블이 되는 것이다.

3 N:M

교수-> 강의 로 해석할 때
교수 한명은 여러개의 강의를 한다.
강의-> 교수로 해석할 때
강의 한개는 여러명의 교수를 가진다.

보통 이런 테이블은 중간에 새로운 테이블을 만들어 각 테이블과의 관계를 1:N으로 풀어 모델링한다. 예를들어 저 위 관계 사이에 강의 교수라는 항목을 넣으면 다음과 같다.

교수 -> 강의 교수로 해석할 때
교수 한명은 여러개의 강의 교수로 등록되어 있다.
강의 교수 -> 교수  로 해석할 때
한개의 강의 교수 정보는 교수 한명을 지칭한다.

강의 -> 강의 교수로 해석할 때
강의 한개는 여러명의 강의 교수 정보로 등록되어 있다.
강의 교수-> 강의 로 해석할 때

※ 한 개의 강의 교수 정보는 한개의 강의를 지칭한다.

강의 교수가 아니라 강의 교수 정보다
필자도 쓰고나서 해석해보니 헷갈려서 첨언한다.
강의 교수 테이블에는 그 강의에 대한 정보와 교수 이름이 첨부되어 있으므로 한개의 강의를 지칭하게 되는 것은 자명하다.

2.2.선택성

선택성이란 두 엔티티 간에 관계가 설정되었을때, 항상 두 엔티티 간의 관계가 존재해야 하는지 아닌지에 대하여 나타낸 것이다.

선택성의 종류에는 필요(Mandatory)와 선택(Optional)이 있다.

위 예제의 재활용이다. 여기서 I 표시는 필요라는 뜻이고 O는 선택이라는 뜻이다. 
위 관계를 선택성의 기준으로 해석해보면 이렇다.
각 대학 건물에는 여러개의 강의실을 포함할 지도 모른다.(선택) (강의실이 없는 건물 -기숙사, 식당, 도서관 ect...)
각 강의실에는 한개의 건물이 필요하다.(필요)

2.3. 관계의 종류

관계의 종류는 여러가지가 있다.

1. 정상 관계
엔티티와 엔티티가 독립적으로 분리, 상호간의 한가지 관계만 있는 형태를 말한다. 그냥 일반적인 관계라고 보면된다.

2. 재귀적 관계

하나의 엔티티 내에 엔티티와 엔티티가 관계를 맺고 있는 형태이다. 어떤 개설강의에서 먼저 들어야되는 선 이수강의가 있다면 (예 - 빅데이터를 수강하려면 데이터베이스를 선 이수 해야한다.) 재귀적 관계를 통해서 지칭할 수 있다.

3. 병렬관계

엔티티와 엔티티가 독립적으로 분리되어 있으면서 두 개 이상의 관계가 존재하는 형태를 말한다.
강의실에는 강의시간정보가 있는데 어떤 한 강의가 월요일 수요일에 강의를 하고 각 강의시간마다 강의실이 다를때 쓰자 실제 학교 수강시스템을 연습삼아 구현해 봤을 때 일주일에 2~3번하는 강의에서 1번은 이론 수업을 하고 나머지는 실습 수업을 하는 경우가 있었다. 그래서 이론 수업을 하는 강의실과 실습수업을 하는 강의실을 분리하여 만들었다. 
강의실 테이블
 건물번호
강의실번호 
 123
111
456
222 

강의 시간정보 테이블

 강좌
강의요일1 
건물번호1 
강의실번호1 
강의요일2 
건물번호2 
강의실번호2 
유체역학
 123
 111
 수
 123
 111
공학통계
 123
 111



데이터마이닝
화 
 123
 111
수 
456 
222 


4. 식별과 비식별 관계
식별 관계 : 부모 엔티티의 고유 키가 자식 엔티티의 고유키로 상속
여기서 부모 엔티티로부터 상속받았으므로 이 키는 자식 엔티티에서 외래키이자 고유키가 된다.

비 식별 관계 : 부모 엔티티의 고유키가 자식 엔티티의 고유가가 아닌 일반 애트리뷰트로 상속 되면 비식별이다.

on 2017년 6월 12일 월요일 | A comment?
0 responses to “릴레이셔널(Relational)”

Leave a Reply

최근 많이 본 글