[DB] - 기능적 관점으로 구분하는 결합의 종류 2부 (6장) #106
Unanswered
Irisation23
asked this question in
c. Database
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
0. 기능적 관점으로 구분하는 결합의 종류 2부
1부에서는
크로스 결합
,내부 결합
,외부 결합
순서로 정리해 봤다.해당 정리는 다른 종류의 결합의 내용이 다뤄진다.
1. 자기 결합(self join)
자기 자신과 결합하는 연산으로 같은 테이블(또는 같은 뷰)를 사용해 결합하는 것이다.
자기 결합은 생성되는 결과를 기준으로 분류하는 것이 아니라 연산의 대상으로 무엇을 사용하는지에 따른 분류이다.
따라서 자기 결합은
자기 결합 + 크로스 결합
,자기 결합 + 외부 결합
등의 연산이 가능하다.1.1 자기 결합 작동
한 개 레코드행이 하나의 숫자를 가지는 숫자(digit) 테이블이 있다.
자기 결합 + 크로스 결합
해당 쿼리문을 작성하면 100개의 레코드가 출력된다. 10(D1의 레코드 수) x 10(D2의 레코드 수)
1.2 자기 결합의 사고방식
자기 결합을 수행하는 경우는 일반적으로 같은 테이블에 별칭(e.g 위의 쿼리 D1, D2)를 붙여 다른 테이블 처럼 다룬다.
따라서 별칭으로 선언된 각 테이블들을 각개의 테이블로 봐도 무방하다는 것이다.
이는 곧 물리 레벨에서 보면 같은 테이블과 결합하는 것이지만, 논리 레벨에서 보면 서로 다른 두 개의 테이블을 결합한다고 생각해도 상관없다.
Beta Was this translation helpful? Give feedback.
All reactions