[정보처리기사] 관계형 데이터베이스의 관계대수 및 관계해석
- 자격증,이론/정보처리기사
- 2020. 5. 23. 07:00
반응형
관계형 데이터베이스의 관계대수
- 관계형 데이터베이스에서 원하는 정보를 얻기 위해 어떻게 유도하는가를 기술하는 절차적 언어
- 관계대수에는 순수 관계 연산자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 존재
순수 관계 연산자 : Select, Project, Join, Division
일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱)
순수 관계 연산자
Select
- 선택 조건을 만족하는 튜플의 부분집합을 구해 새로운 릴레이션을 만드는 연산
- 행에 해당하는 튜플을 구하는 것으로 수평 연산이라고도 함
표기 형식 : σ<조건>(R)
Project
- 속성 리스트에 제시된 속성 값만을 추출해 새로운 릴레이션을 만드는 연산
- 연산 결과에 중복이 발생하면 중복이 제거됨
- 열에 해당하는 속성을 추출하는 것으므로 수직 연산이라고도 함
표기 형식 : π<속성리스트>(R)
Join
- 공통 속성을 중심으로 두개의 릴레이션을 하나로 합쳐 새로운 릴레이션을 만드는 연산
- Join의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것과 같음
표기 형식 : R ⋈키속성r=키속성s S
Division
- X⊃Y 인 두 릴레이션 R(X), S(Y)가 있을 때 R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산
표기 형식 : R [속성r ÷ 속성s] S
일반 집합 연산자
- 합집합, 교집합, 차집합을 처리하기 위해서는 합병조건을 만족해야 함
- 합병 가능한 두 릴레이션 R과 S가 있을 때 각 연산의 특징은 다음과 같음
*합병조건 : 합병하려는 두 릴레이션 간의 속성 수가 같고 대응되는 속성별로 도메인이 같아야 함
연산자 | 기능 | 카디널리티 |
합집합 UNION (∪) |
- 두 릴레이션에 존재하는 튜플의 합집합 - 중복되는 튜플은 제거됨 |
- 합집합의 카디널리티는 두 릴리에션 카디널리티의 합보다 크지 않음 |
교집합 INTERSECTION (∩) |
- 두 릴레이션에 존재하는 튜플의 교집합 | - 교집합의 카디널리티는 두 릴레이션 중 카디널리티가 적은 릴레이션의 카디널리티보다 크지 않음 |
차집합 DIFFERENCE (-) |
- 두 릴레이션에 존재하는 튜플의 차집합 | - 차집합의 카디널리티는 빼지는 릴레이션의 카디널리티보다 크지 않음 |
교차곱 CARTESIAN PRODUCT(x) |
- 두 릴레이션에 있는 튜플들의 순서쌍 | - 교차곱의 카디널리티는 두 릴레이션의 카디널리티를 곱한 것과 같음 |
관계형 데이터베이스의 관계해석
- 수학의 Predicate Calculus (술어해석)에 기반을 두고 있음
- 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
- 관계대수로 표현한 식은 관계해석으로 표현할 수 있음
'자격증,이론 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 관계형 데이터베이스의 키(Key) 종류 (1) | 2020.05.24 |
---|---|
[정보처리기사] 관계형 데이터베이스의 릴레이션 구조 및 특징 (0) | 2020.05.24 |
[정보처리기사] E-R (개체-관계) 모델, 다이어그램 표기법 및 기호 (0) | 2020.05.22 |
[정보처리기사] 데이터베이스 설계의 순서, 스키마 3계층 (0) | 2020.05.21 |
[정보처리기사] 소프트웨어 모듈의 독립성 (결합도, 응집도) (0) | 2020.05.21 |