데이터베이스 '관계'

so.oy·2022년 10월 20일
0

Database

목록 보기
3/4

위의 테이블에는 학생테이블과 수강테이블이 있다. 하지만 학생 테이블의 정보와 수강테이블의 정보를 어떻게 연결할 것인가에 대한 문제점이 생긴다.
학생 테이블을 통해 학생의 정보를 알 수는 있지만, 수강 테이블의 정보가 어느 학생의 정보인지 알 수 없다는 것이다.

이와 같은 문제를 해결하기 위해서 '관계'라는 개념이 필요하다.

1. 관계란?

관계형데이터베이스에서의 관계란 테이블 간 업무적인 연관성을 뜻한다.
테이블을 한 업무로 생각하고, 테이블 간 업무적 연관성을 생각해보면 '관계'를 알 수 있는 것이다.

위의 학생테이블과 수강테이블의 연관성은 학생의 성적을 알기 위해 만들어진 것이다. 하지만 위의 테이블에서는 수강테이블에 저장된 01111A를 수강하는 학생이 누구인지 알 수 없는 상태이다. 이를 알기 위해서는 수강 테이블에 등록된 정보 중에는 적어도 하나 이상의 학생 정보를 가지고 있어야 한다.
즉, 현재의 테이블에서는 학생과 수강을 연결할 수 있는 관계가 없기 때문이다.

2. 부모테이블과 자식테이블

두 테이블 간에 관계가 만들어지며, 둘 중 하나의 테이블은 부모(parent)테이블이 되고 다른 하나는 자식(child)테이블이 된다.
이것은 행위의 주체에 따라 구분이 된다.
학생과 수강 두 테이블을 보자면, 학생이 과목을 수강하는 것이기 때문에 학생 테이블이 부모테이블, 수강 테이블이 자식테이블이 된다.

3. 관계의 유형

  • 존재의 유형
  • 행위의 유형

존재의 유형은 쉽게 소유의 유형이라고 생각하면 된다. 예를 들어 부서와 사원이 있다고 생각해보자. 부서에는 사원이 소속되어 있다. 이것은 어떤 행위에 의해 발생된 일이 아닌, 그냥 그 존재자체의 상태를 말하는 것이다.

행위의 유형은 고객과 주문을 생각해보자. 즉 고객이 주문이라는 행위에 의해 관계가 형성되는 것이다.

위의 테이블은 '학생이 과목을 수강한다'라고 정의 할 수 있다.
그러므로 행위의 유형이다.

정리

  • 관계는 두 테이블 사이에 존재하는 업무적인 연관성으로, 행위의 주체에 따라 부모테이블과 자식테이블이 된다.
  • 관계는 유형에 따라 존재의 유형 또는 행위의 유형으로 나눠진다.
profile
🌱 개발공부로그

0개의 댓글