반응형
아래 글은 데이터베이스 관련 개념 정리 및 작성자 공부를 위해 작성되었습니다.
📃 참고자료
https://www.youtube.com/watch?v=h7AZAWfYH8k&list=PLimVTOIIZt2aP6msQIw0011mfVP-oJGab&index=8
# 관계 데이터 연산
- 데이터 모델은 구조와 제약을 정의해야 될 뿐 아니라, 데이터를 조작하기 위한 연산(operation)의
정의도 포함해야 한ㄴ다. - 종류
- 관계 대수(Relational Algebra)
- 관계 해석(Relational Calculus)
# 관계 대수
- 절차 언어(Procedural language)
- 어떻게(How)의 관점
- 릴레이션을 처리하기 위한 연산의 집합
- 주어진 관계로부터 원하는 관계를 얻기 위해 연산자와 연산규칙을 제공하는 언어
- 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 특성
- 종류: 일반 집합 연산자, 순수 관계 연산자로 나뉜다.
# 일반 집합 연산자
- 합집합(Union)
- 두 릴레이션에 존재하는 튜플의 합집합을 구하는 연산결과 릴레이션에서 중복 튜플은 제거된다.
- 교집합(Intersection)
- 차집합(Difference)
- 카티션 곱(CARTESIAN PRODUCT, X)
- 두 릴레이션에 정의된 튜플을 곱으로 계산하는 연산 A에 속한 각 튜플 a에 대해 B에 속한 튜플 b를 모두 접속시킨
튜플들(a b)로 구성된 릴레이션
# 순수 관계 연산자
- SELECT
- PROJECT
- JOIN
- DIVISION
SELECT
- 릴레이션에서 주어진 조건을 만족하는 튜플의 수평적 부분집합을 구하는 연산
- 연산자 기호는 그리스 문자 시그마( σ )를 사용
- 표기형식: σ 조건(릴레이션명)
PROJECT
- 릴레이션에서 주어진 속성리스트에 제시된 속성의 수직적 부분집합을 구하는 연산
- 연산자 기호는 그리스 문자 파이( π )를 사용
- 표기형식: π 속성리스트(릴레이션명)
JOIN
- Theta Join
- Equi Join
- Natural Join
https://satisfactoryplace.tistory.com/201
- 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 생성하는 연산
- JOIN연산은 카티션 프로덕트 결과에서 SELECT 연산의 조건을 만족하는 것만 구한다.
- 연산자 기호는 ⋈ 를 사용
- 표기형식: R ⋈ R속성=S속성 S
DIVISION
- 나누어지는 릴레이션이 나누는 릴레이션의 모든 내용을 포함한 것이 결과 릴레이션이 되는 연산
- 연산자의 기호는 ÷ 를 사용
- 표기형식: R R속성 ÷ S속성 S
#관계 해석
- 비절자 언어(Nonprocedural language)
- 무엇(What)의 관점
- 튜플 관계 해석, 도메인 관계 해석으로 나뉜다.
반응형