브래의 슬기로운 코딩 생활
데이터베이스 13주차 정리 본문
관계대수
관계대수(Relational Algebra)
릴레이션에서 원하는 결과를 얻기 위해 수학의 대수와 같은 연산을 이용하여 질의하는 방법을 기술하는 언어
관계대수와 관계해석
관계대수 : 어떤 데이터를 어떻게 찾는지에 대한 처리 절차를 명시하는 절차적인 언어이며, DBMS 내부의 처리 언어로 사용됨
관계해석 : 어떤 데이터를 찾는지만 명시하는 선언적인 언어로 관계대수와 함께 관계 DBMS의 표준 언어인 SQL의 이론적인 기반을 제공함
= 관계대수와 관계해석은 모두 관계 데이터 모델의 중요한 언어이며 실제 동일한 표현 능력을 가지고 있음.
관계대수식
관계대수는 릴레이션 간 연산을 통해 결과 릴레이션을 찾는 절차를 기술한 언어로,
이 연산을 수행하기 위한 식을 관계대수식(Relational Algebra Expression)이라고 함.
관계대수식은 대상이 되는 릴레이션과 연산자로 구성되며, 결과는 릴레이션으로 반환됨. 반환된 릴레이션은 릴레이션의 모든 특징을 따름
단항 연산자 : 연산자<조건> 릴레이션
이항 연산자 : 릴레이션1 연산자<조건> 릴레이션2
셀렉션과 프로젝션
셀렉션(Selection)
릴레이션의 투플을 추출하기 위한 연산임.
하나의 릴레이션을 대상으로 하는 단항 연산자며, 찾고자 하는 투플의 조건(Predicate)을 명시하고 그 조건에 만족하는 투플을 반환함
형식 : σ<조건> (R) (R은 릴레이션, σ는 그리스 문자이며 대문자는 Σ )
셀렉션(Selection) 확장
여러 개의 조건을 ∧(and), ∨ (or), ┑(not) 기호를 이용하여 복합조건을 표시할 수 있다.
예를 들어, “가격이 8,000원 이하이고, 도서번호가 3 이상인 책을 찾아라”는 질의는 다음과 같이 표현한다.
=> σ(가격<=8000 ∧ 도서번호 >=3) (도서)
프로젝션(Projection)
릴레이션의 속성을 추출하기 위한 연산으로 단항 연산자임.
형식 : π<속성리스트> (R) (R은 릴레이션, π 는 그리스 문자이며 대문자는 Π )
집합 연산
합집합
두 개의 릴레이션을 합하여 하나의 릴레이션을 반환함.
이 때 두 개의 릴레이션은 서로 같은 속성 순서와 도메인을 가져야 함
형식 : R ∪ S
교집합
합병가능한 두 릴레이션을 대상으로 하며, 두 릴레이션이 공통으로 가지고 있는 투플을 반환함
형식 : R ∩ S
차집합
첫 번째 릴레이션에는 속하고 두 번째 릴레이션에는 속하지 않는 투플을 반환함.
형식 : R - S
카티전 프로덕트(Cartesian Product)
두 릴레이션을 연결시켜 하나로 합칠 때 사용함.
결과 릴레이션은 첫 번째 릴레이션의 오른쪽에 두 번째 릴레이션의 모든 투플을 순서대로 배열하여 반환함.
결과 릴레이션의 차수는 두 릴레이션의 차수의 합이며, 카디날리티는 두 릴레이션의 카디날리티의 곱임
형식 : R × S
조인
세타조인, 동등조인
자연조인
외부조인
세미조인
디비전
디비전
릴레이션의 속성 값의 집합으로 연산을 수행함
형식 : R ÷ S
'2-1 > 데이터베이스' 카테고리의 다른 글
데이터베이스 기말고사 정리 (0) | 2023.06.06 |
---|---|
데이터베이스 14주차 정리 (0) | 2023.06.04 |
데이터베이스 12주차 정리 (0) | 2023.05.22 |
데이터베이스 11주차 정리 (0) | 2023.05.15 |
데이터베이스 10주차 정리 (0) | 2023.05.08 |