Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
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
Archives
Today
Total
관리 메뉴

브래의 슬기로운 코딩 생활

데이터베이스 13주차 정리 본문

2-1/데이터베이스

데이터베이스 13주차 정리

김브래 2023. 6. 3. 20:14

관계대수


관계대수(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