관계 데이터 연산의 이해
원하는 데이터를 얻기 위해 필요한 처리 요구를 Relation에 수행하는 것
연산은 시스템의 입장에서, 데이터 언어는 사용자의 입장
관계 데이터 모델에서 지원되는 기본 언어
관계 대수(relational algebra)
- Relation을 처리하기 위한 연산의 집합
- 어떻게 질의를 수행할 것인가를 명시하는 절차적 언어(How, What)
- 관계 대수는 상용 관계 DBMS들에서 널리 사용되는 SQL의 이론적인 기초
관계 해석(relational calculus)
- 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않음(What)
- 비절차 언어(nonprocedurral language)
- 튜플 관계 해석과 도메인 관계 해석
관계 대수의 개념
- Relation을 처리하기 위한 연산의 집합
- 기존의 Relation들로부터 새로운 Relation을 생성
- 산술 연산자와 유사하게 단일 Relation이나 두 개의 Relation을 입력으로 받아 하나의 결과 Relation을 생성
- 결과 Relation은 또 다른 관계 연산자의 입력으로 사용 가능
- 일반 집합 연산자와 순수 관계 연산자로 구성
일반 집합 연산자
합집합(UNION, U), 교집합(INTERSECT, ∩), 차집합(DIFFRENCE, -), 카티션 프로덕트(CARTESIAN PRODUCT, x)
순수 관계 연산자
SELECT, PROJECT, JOIN, DIVISION
관계 대수 - 일반 집합 연산자
일반 집합 연산자의 특성
- 두 개의 Relation을 대상으로 연산 수행
- 합집합, 교집합, 차집합 연산은 두 릴레이션이 합병 가능해야함
합병 가능(union compatible)
- 두 Relation의 차수가 같음
- 두 Relation에서 대응되는 속성의 도메인이 같음
1) 합집합(union) 연산자
2) 교집합(intersection) 연산자
3) 차집합 (diffrence)
4) 카티션 곱(cartesion product) 연산자
두가지 Relation
- R(A1,A2...An) : 카디날리티 I
- S(B1, b2...Bm) : 카디날리티 j
R * S는 다음을 만족하는 릴레이션
- 차수 : n + m
- 카디날리티 : i * j
- attribute : R과 S의 튜플들의 모든 가능한 조합으로 이루어진 것 (A1,A2...Am, B1,B2...,Bm)
R에 속한 각 튜플 a에 대해 S에 속한 튜플 b를 모두 접속(concatenation)시킨 튜플(a.b)의 집합
관계 대수 - 순수 관계 연산자1
릴레이션의 특성과 구조를 사용하여 연산을 수행(select, project, division, join)
selection 연산자
- 한 Relation에서 조건 (selection condition)을 만족하는 튜플들의 부분 집합 생성
- selection 연산자는 하나의 입력 relation에 적용(단한 연산자)
- 표기 형식(sigma 조건식(릴레이션), R WHERE 조건식)
- <속성> 연산자 <속성 값>
- 연산자는 비교 연산자(<,>,=,<>,<=,>=), 부울 연산자(and, or, not)
Projection
- 한 Relation의 속성들의 부분 집합을 구함
- 프로젝션의 결과로 생성되는 릴레이션은 <속성 리스트>에 명시된 속성들 가짐
- 생성된 중복 튜플은 제거
- 사용형식(π 속성리스트 (릴레이션))
관계 대수
- selection, projection, 합집합, 차집합, 카티션 곱은 관계 대수의 필수적인 연산자
- 다른 관계 연산자들은 필수적인 관계 연산자를 두 개 이상 조합하여 표현할 수 있음
- 임의의 질의어가 적어도 필수적인 관계 대수 연산자들만큼의 표현력을 갖고 있으면 관계적으로 완전하다고 말함(relationally complete)
학습정리
관계 데이터 언어
- 관계 해석(튜플 관계해석, 도메인 관계해석)
- 관계 대수
관계 대수
- 일반집합 연산자(합집합, 교집합, 차집합, 카티션곱)
- 순수관계 연산자(실렉션, 프로젝션,조인,디비전)
합병 가능
두 Relation이 차수와 대응되는 열들의 도메인이 같음
Selection 연산
Relation에서 조건을 만족하는 튜플을 검색
Projection 연산
Relation에서 조건을 만족하는 열들의 값을 검색
반응형
'23년 이전 글 > 데이터베이스' 카테고리의 다른 글
관계 대수 확장, 해석, 관계 연산 정리 (0) | 2022.07.27 |
---|---|
관계 연산자, 조인 (0) | 2022.07.27 |
Relation과 무결성 제약 (0) | 2022.07.26 |
데이터베이스 시스템, 데이터 모델 (0) | 2022.07.23 |
데이터베이스 시스템 구성 요소 (0) | 2022.07.23 |