01 관계 데이터 연산의 개념
관계 데이터 연산
관계 대수: 원하는 결과를 얻기 위해 데이터의 처리 과정을 순서대로 기술하는 절차 언어(procedural language)입니다. (원하는 결과를 위해 데이터의 처리 과정을 순서대로 기술)
관계 해석: 원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술하는 비절차적 언어(nonprocedural language)입니다. (원하는 결과를 얻기 위해 처리를 원하는 데이터가 무엇인지만 기술)
질의: 데이터에 대한 처리 요구
02 관계 대수
관계 대수의 개념과 연산자
관계 대수는 데이터베이스에서 관계(테이블)를 조작하기 위한 수학적인 형식이기 때문에 연산자의 집합으로도 정의할 수 있습니다. 연산자와 함께 연산의 대상이 되는 피연산자가 존재하는데 관계 대수에서는 피연산자 릴레이션 입니다. 따라서 관계 대수는 릴레이션을 연산합니다. (피연산자인 릴레이션에 연산자를 적용해 얻은 결과도 릴레이션)
이런 관계 대수의 특성을 폐쇄 특성(closure property)라 하며 연산자 8개는 특성에 따라 일반 집합 연산자(set opertation)와 순수 관계 연산자(relational opertaion)으로 분류합니다.
일반 집합 연산자
관계 대수는 일반 집합 연산자를 사용하여 관계를 조작합니다. 일반 집합 연산자에는 합집합, 교집합, 차집합 등이 포함됩니다. 예를 들어, 두 관계의 합집합을 구하려면 관계에 포함된 튜플들을 합칩니다.
일반집합 연산자: 합집합∪, 교집합∩, 차집합-, 카티션 프로덕트×
순수 관계 연산자
순수 관계 연산자는 일반 집합 연산자를 보완하고 조합하여 더 다양한 연산을 수행합니다. 예를 들어, 선택 연산자는 특정 조건을 만족하는 튜플들을 선택합니다. 결합 연산자는 두 관계를 조합하여 더 큰 관계를 생성합니다.
순수관계 연산자: 셀렉트σ, 프로젝트π, 조인⨝, 디비전÷
관계 대수를 이용한 질의 표현
관계 대수는 데이터베이스에서 질의를 표현하는 데 사용됩니다. 질의는 관계 대수 연산자를 조합하여 원하는 결과를 얻는 것을 의미합니다. 예를 들어, "A라는 속성 값이 10보다 큰 모든 튜플을 선택하라"는 질의를 관계 대수로 표현하면 선택 연산자를 사용하여 이를 구현할 수 있습니다.
σ(A > 10)
확장된 관계 대수 연산자
관계 대수는 확장된 연산자들도 포함합니다. 이러한 확장된 연산자들은 조인 연산자, 집계 함수, 정렬 연산자 등을 포함합니다. 조인 연산자는 두 개 이상의 관계를 조합하여 결합된 결과를 생성합니다. 집계 함수는 그룹별로 통계적인 연산을 수행합니다. 정렬 연산자는 특정 속성을 기준으로 관계를 정렬합니다.
03 관계 해석
관계 해석은 처리를 원하는 데이터가 무엇인지만 기술하는 비절차 언어로, 관계 대수처럼 관계 데이터 연산의 한 종류입니다. 데이터를 처리하는 기능과 처리를 요구하는 표현력에서 관계 대수와 관계해석은 능력이 모두 동일하며, 튜플 관계 해석, 도메인 관계 해석으로 분류됩니다.
'데이터베이스' 카테고리의 다른 글
Ch 8. 데이터베이스 설계 (0) | 2023.07.22 |
---|---|
Ch 7. 데이터베이스 언어 SQL (0) | 2023.07.21 |
Ch 5. 관계 데이터 모델 (0) | 2023.07.08 |
Ch 4. 데이터 모델링 (0) | 2023.07.08 |
Ch 3. 데이터베이스 시스템 (0) | 2023.07.03 |