티스토리 뷰
관계 데이터 연산
연산은 원하는 데이터를 얻기 위해 릴레이션에 필요한 처리 요구를 수행하는 것으로, 데이터베이스 시스템의 구성 요소 중 데이터 언어의 역할을 한다.
- 관계 대수 : 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술
- 관계 해석 : 원하는 결과를 얻기 위해 원하는 데이터가 무엇인지만 기술
관계 대수와 관계 해석은 원하는 데이터를 얻기 위한 처리 절차를 얼마나 자세히 기술하느냐에서 큰 차이를 보인다. 관계 대수는 절차 언어이고 관계 해석은 비절차 언어이다.
*절차 언어 : 데이터의 처리 과정을 순서대로 기술
*질의 : 데이터에 대한 처리 요구
관계 대수와 관계 해석을 통해 새로운 데이터 언어가 제안되면 해당 데이터 언어의 유용성을 검증한다.
🎭 관계 대수
관계 대수는 원하는 결과를 얻기 위해 릴레이션을 처리하는 과정을 순서대로 기술하는 언어다. 연산자들의 집합으로도 정의할 수 있다. 관계 대수는 릴레이션을 연산한다.
🧨 일반 집합 연산자
릴레이션이 투플의 집합이라는 개념을 이용하는 연산자를 말한다.
🧨 일반 집합 연산자 특징
- 일반 집합 연산자는 연산을 위해 피연산자가 2개 필요하다.
- 합집합, 교집합, 차집합은 피연산자인 2개의 릴레이션이 *합병 가능해야 한다.
🎐 합병 가능 조건
- 두 릴레이션이 차주가 같아야 한다.
- 두 릴레이션에서 서로 대응되는 속성의 도메인이 같아야 한다.
1️⃣ 합집합
- 합병이 가능한 두 릴레이션 R과 S의 합집합은 R∪S로 표현한다.
- 합집합은 교환적 특징이 있다. ▶ R∪S = S∪R
- 합집합은 결합적 특징이 있다. ▶ (R∪S)∪T = R∪(S∪T)
- 합집합 연산의 결과 릴레이션에서는 중복되지 않고 한 번만 나타난다.
2️⃣ 교집합
- 합병 가능한 두 릴레이션 R과 S의 교집합은 R∩S로 표현한다.
- 릴레이션 R과 S에 공통으로 속하는 투플로 결과 릴레이션을 구성한다.
- 교집합은 교환적 특징이 있다. ▶ R∩S = S∩R
- 교집합은 결합적 특징이 있다. ▶ (R∩S)∩T = R∩(S∩T)
3️⃣ 차집합
- 합병 가능한 두 릴레이션 R과 S의 차집합은 R–S로 표현한다.
- 릴레이션 R에는 존재하지만 릴레이션 S에는 존재하지 않는 투플로 결과 릴레이션 구성한다.
- 차집합은 교환적 특징이 없다.
- 차집합은 결합적 특징이 없다.
4️⃣ 카티션 프로덕트
- 두 릴레이션 R과 S의 카티션 프로덕트는 R×S로 표현한다.
- 릴레이션 R에 속한 각 투플과 릴레이션 S에 속한 각 투플을 모두 연결하여 만들어진 새로운 투플로 결과 릴레이션을 구성한다.
- 카티션 프로덕트는 교환적 특징이 있다. ▶ R×S = S×R
- 카티션 프로덕트는 결합적 특징이 있다. ▶ (R×S)×T = R×(S×T)
🧪 순수 관계 연산자
릴레이션의 구조와 특성을 이용하는 연산자를 말한다.
1️⃣ 셀렉트
- 릴레이션에서 조건을 만족하는 투플만 선택하여 결과 릴레이션을 구성한다.
- 그래서 결과 릴레이션은 주어진 릴레이션을 수평으로 절단한 모양이 된다.
- 수학적 표현법 : σ조건식 (릴레이션)
- 조건식은 비교 연산자(>, ≥, <, ≤, =, ≠)와 논리 연산자(∧, ∨, ¬)를 이용해 작성한다.
2️⃣ 프로젝트
- 릴레이션에서 선택한 속성의 값으로 결과 릴레이션을 구성한다.
- 수학적 표현법 : 𝜋속성리스트(릴레이션)
- 데이터 언어적 표현법 : 릴레이션[속성리스트]
3️⃣ 조인
- 조인 속성을 이용해 두 릴레이션을 조합하여 결과 릴레이션을 구성한다.
- 조인 속성의 값이 같은 투플만 연결하여 생성된 투플을 결과 릴레이션에 포함한다.
* 조인 속성 : 두 릴레이션이 공통으로 가지고 있는 속성
- 표현법 : 릴레이션1 ⋈ 릴레이션2
- 자연 조인이라고도 한다.
➕ 세타 조인
- 자연 조인에 비해 더 일반화된 조인
- 주어진 조인 조건을 만족하는 두 릴레이션의 모든 투플 연결
- 표현법 : 릴레이션1 ⋈A𝜃B 릴레이션2
4️⃣ 디비전
- 릴레이션2의 모든 투플과 관련이 있는 릴레이션1의 투플로 결과 릴레이션을 구성한다.
- 표현법 : 릴레이션1 ÷ 릴레이션2
🎭 관계 해석
관계 해석은 비절차 언어로 처리를 원하는 데이터가 무엇인지만 기술하는 언어를 말한다.
좋아요는 로그인하지 않아도 누를 수 있습니다!
'데이터베이스' 카테고리의 다른 글
[데이터베이스개론] 7장 : 데이터베이스 언어 SQL [DB] (0) | 2021.10.15 |
---|---|
[데이터베이스 개론] 6장 연습문제(기출문제) 정답 [DB] (3) | 2021.10.05 |
[데이터베이스 개론] 5장 연습문제(기출문제) 정답 [DB] (0) | 2021.10.05 |
[데이터베이스개론] 5장 : 관계 데이터 모델 [DB] (0) | 2021.10.05 |
[데이터베이스 개론] 4장 연습문제(기출문제) 정답 [DB] (2) | 2021.09.13 |
- Total
- Today
- Yesterday
- 풀이
- java
- 프로그래머스
- 자바스크립트
- C++
- 백준
- 정리
- 쉽게배우는자바프로그래밍
- 해답
- 정답
- 자바
- Python
- BFS
- OS
- 답
- 파이썬
- py
- 운영체제
- JS
- 쉽게배우는
- 쉽게 배우는 자바 프로그래밍
- 알고리즘
- Web
- 그리디
- 정렬
- 우종정
- CPP
- 문자열
- 연습문제
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |