[자격증]/정보처리기사 실기

1450901 관계대수, 관계해석

Ben의 프로그램 2023. 9. 19. 21:17
728x90

핵심 Keyword

1. 관계대수

2. 관계해석

3. 순수 관계 연산자 & 일반 집합 연산자


참고자료

https://inpa.tistory.com/entry/DB-%F0%9F%93%9A-%EA%B4%80%EA%B3%84-%EB%8C%80%EC%88%98-%EA%B4%80%EA%B3%84-%ED%95%B4%EC%84%9D-SQL-%F0%9F%95%B5%EF%B8%8F-%EC%A0%95%EB%A6%AC#%EA%B4%80%EA%B3%84_%ED%95%B4%EC%84%9D_relation_calculus

 

관계해석 Relational Calculus
관계해석 은 관계 데이터의 연산을 표현하는 방법으로, 관계 데이터 모델의 제안자인 코드(E. F. Codd)가 수학의 술어 해석(Predicate Calculus)에 기반을 두고 관계 데이터베이스를 위해 제안했다. 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 원하는 정보를 정의할 때 계산 수식을 사용한다. 토플 해석식을 사용하는 튜플 관계해석과 도메인 관계해석 해석식을 사용하는 도메인 으로 구분된다.

 

관계대수 
원하는 정보와 그 정보를 검색하기 위해서 어떻게 유도하는 가를 기술하는 '절차적인 언어'로 릴레이션을 처리하기 위해 연산자와 연산 규칙을 제공하며, 피연산자와 연산 결과가 모두 릴레이션이고 질의에 대한 해를 구하기 위해 수행해야 할 연산의 순서를 명시합니다. 순수 관계 연산자와 일반 집합 연산자가 있습니다. 

관계대수에는 관계데이터베이스에 적용하기 위해서 개발된 것이 순수관계연산자입니다. 수학적인 집합 이론에서 사용하는 연산을 관계데이터베이스에서 적용하기 위해 개발된 것은 일반 집합 연산자라고 합니다. 

 

순수 관계 연산자
순수 관계 연산자에는 Select, Project, Join, Division 4가지가 있습니다. 이런 것들을 나타낼 때 사용하는 기호는 위의 그림과 같습니다. 

Select (시그마) 순수 관계 연산자는 릴레이션에 존재하는 튜플들 중에서 선택 조건에 만족하는 부분 집합을 구해서 새로운 릴레이션을 만들어주는 연산입니다. Select 연산을 수행하게 되면 그때 릴레이션에서 조건에 해당하는 행, 즉 튜플을 구해주는데요. 이런 특징 때문에 Select (시그마) 순수 관계 연산자를 수평 연산자 라고 부릅니다. 

Project (파이) 순수 관계 연산자는 주어진 릴레이션에서 속성 리스트에 제시된 속성 값들만 추출해서 새로운 릴레이션을 만들어주는 연산을 Project (파이) 순수 관계 연산자 라고 부릅니다. Project (파이) 순수 관계 연산자는 열에 해당하는 속성을 추출하기 때문에 수직 연산자라고 부르기도 합니다. Project (파이) 순수 관계 연산자는 하나의 속성에 대해 결과 값에 중복된 데이터가 있으면 알아서 중복된 값들을 제거해주기도 합니다. 

Join (보타이) 순수 관계 연산자는 공통된 속성을 중심으로 2 개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만들어주는 순수 관계 연산자입니다. Join (보타이) 순수 관계 연산자의 결과로 나오는 릴레이션은 카티션 프로덕트(교차곱)를 수행한 다음, Select 연산을 수행한 것과 같은 결과를 보여주는 것이 Join (보타이) 순수 관계 연산자입니다. 

Division (나누기) 순수 관계 연산자는 R/S 를 했을 때 S의 속성값을 모두 가진 튜플에서 S 가 가진 속성을 제외하고 나머지 속성만 구해주는 Division (나누기) 순수 관계 연산자입니다. 

 

일반 집합 연산자
일반 집합 연산자는 수학적 집합 이론에서 사용하는 연산자들을 의미합니다. 

합집합 (UNION) U, 교집합 (INTERSECTION) n, 차집합 (DIFFERENCE) -, 교차곱 (CARTESIAN PRODUCT) x 로 총 4가지의 일반 집합 연산자가 있습니다. 

합집합 (UNION) U 이라는 것은 두 릴레이션에 존재하는 튜플들의 합집합을 모두 구해주는데, 결과로 생성되는 튜플들 중에서 중복되는 튜플이 있을 경우 중복되는 튜플들은 제거해주는 연산입니다. 

교집합 (INTERSECTION) n 은 두 릴레이션에 존재하는 튜플들의 교집합을 구해줍니다. 

차집합 (DIFFERENCE) - 은 두 릴레이션에 존재하는 튜플들의 차집합을 구해줍니다. 

교차곱 (CARTESIAN PRODUCT) x 는 두 릴레이션의 순차 쌍을 구해주는 연산자입니다. 

 

 

 

 

 

 

 

 

 

'[자격증] > 정보처리기사 실기' 카테고리의 다른 글

1450903 SQL ALL, ANY  (0) 2023.09.19
1450902 암호화 알고리즘, 암호화 방식  (0) 2023.09.19
1451018 E-R 다이어그램  (0) 2023.09.18
1451017 UML  (0) 2023.09.18
1451016 스케줄링  (0) 2023.09.18