[문과 코린이의 IT 기록장] MSSQL - 집합 연산자 (관계형 데이터베이스(DBMS) vs 집합, 합집합, 차집합, 교집합, 곱집합, 프로젝션, 셀렉션, 조인/디비전)
[문과 코린이의 IT 기록장] MSSQL - 집합 연산자 (관계형 데이터베이스(DBMS) vs 집합, 합집합, 차집합, 교집합, 곱집합, 프로젝션, 셀렉션, 조인/디비전)
< 참고 영상 강의 >
MSSQL Server 2016 기반의 데이터베이스 입문에서 활용까지 Part.1 - 인프런 | 강의 (inflearn.com)
1. 관계형 데이터베이스(DBMS) vs 집합
- DBMS에서 여러 테이블간의 데이터 조작을 하는데 있어, 집합의 개념이 사용이 되어진다.
ex. 테이블과 테이블 사이의 데이터들을 합치고, 빼고, 곱하는 등의 데이터 조합이 이루어짐.
- 따라서 DB 연산자에 사용되는 영어 단어에 대해 잘 외워두는 것이 좋을 것이다.
- 관계형 데이터베이스는 수학의 집합 연산을 기반으로 데이터를 조작한다.
* 집합의 개념
- 일반 집합 연산자 : 합집합(union), 차집합(difference), 교집합(intersection), 곱집합(cartesian product)
- 관계형 데이터베이스 고유 연산자 : 프로젝션(Projection), 셀렉션(Selection), 조인(Join), 디비전(Division)
2. 합집합 (union)
- 합집합은 두 개의 테이블(표)에 들어있는 모든 레코드(행)을 출력한다.
3. 차집합 (difference)
- 두 개의 테이블(표) 중에 어느 한 곳에만 들어있는 데이터를 출력한다.
- 둘 중에 어느 테이블(표)를 기준으로 잡느냐에 따라 결과가 달라진다.
4. 교집합 (intersection)
- 두 개의 테이블(표) 모두에 공통적으로 들어있는 데이터를 나타낸다.
5. 곱집합(cartesian product)
- 곱집합은 두 개의 테이블(표)을 조합하여, 만들 수 있는 모든 경우의 수를 나타낸다.
6. 프로젝션 (Projection)
- 테이블(표) 안의 특정 컬럼(열)을 출력해내는 연산이다.
7. 셀렉션 (Selection)
- 테이블(표) 안의 특정 레코드(행)을 뽑아내는 연산이다.
8. 조인(Join) / 디비전(Division)
1) 조인(Join)
- Join 연산은, 테이블(표)를 연결하여 이어주는 것이다.
- 즉 공통 속성을 중심으로 두 표를 하나로 합쳐서 새로운 데이터 표로 생성해낸다.
* 이 외에도 Join은 다양한 종류를 가지고 있음
2) 디비전(Division)
- Division 연산은, 두 테이블의 특별한 포함 관계를 통해서 자료를 추출해내는 연산이다.
* 판매처테이블의 데이터들이 기본적으로 매출테이블에 모두 담겨있어야 함.
* 유의사항 - 아직 공부하고 있는 문과생 코린이가, 정리해서 남겨놓은 정리 및 필기노트입니다. - 정확하지 않거나, 틀린 점이 있을 수 있으니, 유의해서 봐주시면 감사하겠습니다. - 혹시 잘못된 점을 발견하셨다면, 댓글로 친절하게 남겨주시면 감사하겠습니다 :) |