일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 병행성 관련 오류
- codility
- DirectX12
- 타입 객체
- 그리디 알고리즘
- 멀티프로세서
- 렌더링 파이프라인
- OS
- DirectX 12
- 프로그래머스
- 그리디알고리즘
- 컨디션 변수
- 운영체제
- 락
- 백준
- I/O장치
- 다이나믹 프로그래밍
- 동적계획법
- 알고리즘
- 디자인패턴
- 영속성
- Direct12
- directx
- 파일시스템 구현
- 쓰레드
- 멀티쓰레드
- 병행성
- 자료구조
- 스케줄링
- 다이나믹프로그래밍
- Today
- Total
기록공간
3-1-12장. 관계대수 및 관계해석 - A 본문
관계대수의 개요
관계대수는 관계형 데이터베이스에서 원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는가를 기술하는 절차적인 언어이다.
-
관계대수는 릴레이션을 처리하기 위해 연산자와 연산규칙을 제공하는 언어로 피연산자가 릴레이션이고, 결과도 릴레이션이다.
-
질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시
-
관계대수에는 관계 데이터베이스에 적용하기 위해 특별히 개발한 순수 관계 연사자와 수학적 집합 이론에서 사용하는 일반 집합 연산자가 있다.
-
순수 관계 연산자 : Select, Project, Join, Division
-
일반 집합 연산자 : UNION(합집합), INTERSECTION(교집합), DIFFERENCE(차집합), CARTESIAN PRODUCT(교차곱)
Select
Select는 릴레이션에 존재하는 튜플 중에서 선택 조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만드는 연산이다.
-
릴레이션의 행에 해당하는 튜플을 구하는 것이므로 수평 연산이라고도 함
-
연산자의 기호는 그리스 문자 시그마(σ)를 사용
-
표기 형식 : σ조건(R)
-
R은 릴레이션의 이름
-
조건에서는 =, ≠, <, >, ≤, ≥, ∧(and), ∨(or) 등을 사용
-
ex) σ평균≥90(성적) : <성적> 릴레이션에서 ‘평균’이 90점 이상인 튜플들을 검색하시오
Project
Project는 주어진 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 만드는 연산이다. 단 연산 결과에 중복이 발생하면 중복이 제거된다.
-
릴레이션의 열(세로)에 해당하는 Attribute를 추출하는 것이므로 수직 연산자라고도 함
-
연산자의 기호는 그리스 문자 파이(∏)를 사용
-
표기형식 : ∏속성명칭(Relation 명칭)
ex) ∏이름, 평균(성적) : <성적> 릴레이션에서 '이름'과 '평균' 속성을 추출하시오
Join
Join은 공통 속성을 중심으로 두 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산이다.
-
Join의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것과 같음
-
Join의 결과는 Cartesian Product(교차곱)를 수행한 다음 Select를 수행한 것과 같음
-
연산자 기호는 ⋈를 사용
-
표기형식 : R ⋈키속성r=키속성s S
-
키 속성 r은 릴레이션 R의 속성이고, 키 속성 s는 릴레이션 S의 속성
-
ex) 성적 ⋈ 이름=이름 명부: <성적> 릴레이션과 <학적부> 릴레이션을 'No'속성을 기준으로 합치시오.
자연 조인(Natural Join)
조인 조건에서 '='를 빼고 사용하는 방법으로 이중 중복된 속성을 제거해 같은 속성을 한 번만 표기하게 해준다.
(주의 : 자연 조인이 성립되려면 두 릴레이션의 속성명과 도메인이 같아야 한다)
Division
Division은 R ⊃ S 인 두 개의 릴레이션이 있을 때, R의 속성이 S의 속성의 값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을 구하는 연산이다
-
연산자 기호는 ÷를 사용
-
표기 형식 : R [속성r ÷ 속성s] S
-
속성 r은 릴레이션 R의 속성, 속성 s는 릴레이션 S의 속성, 속성 r과 속성 s는 동일 속성값을 가지는 속성이어야 함
-
ex) 성적[평균 ÷ 기준]기준
일반 집합 연산자
일반 집합 연산자는 수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 그대로 적용할 수 있다. 각 연산의 특징을 요약하면 다음과 같다.
-
합집합(∪) : 두 릴레이션의 튜플의 합집합
-
교집합(∩) : 두 릴레이션의 튜플의 교집합
-
차집합(–) : 두 릴레이션의 튜플의 차집합
-
교차곱(×) : 두 릴레이션의 튜플들의 순서쌍/ 차수 = 두 릴레이션의 차수를 더한 값/ 카디널리티 = 두 릴레이션의 카디널리티를 곱한 값
관계해석(Relation Calculus)
-
관계해석은 관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용
-
관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
-
튜플 관계해석과 도메인 관계해석이 있음
-
기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력면에서 동등하며, 관계대수로 표현한 식은 관계해석으로 표현할 수 있음
-
질의어로 표현
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
3-1-14장. 반정규화(Denormalization) - B (0) | 2020.09.10 |
---|---|
3-1-13장. 정규화(Normalization) - A (0) | 2020.09.10 |
3-1-11장. 관계형 데이터베이스의 제약 조건 - 무결성 - B (0) | 2020.09.10 |
3-1-10장. 관계형 데이터베이스의 제약 조건 - 키(Key) - A (0) | 2020.09.10 |
3-1-9장. 관계형 데이터베이스의 구조 - A (2) | 2020.09.10 |