본문 바로가기

학교수업/데이터베이스

6장. 관계 데이터 연산

관계 데이터 연산(Relational data operation)

  • 관계 데이터 모델을 대상으로 원하는 데이터를 얻기 위해 연산 수행
  • 관계 대수: 원하는 결과를 얻기 위해 데이터 처리 과정을 순서대로 기술
  • 관계 해석: 원하는 결과 얻기위해 처리를 원하는 데이터가 무엇인지만 기술
  • 데이터 언어의 유용성 검증에 이용
  • 관계대수, 관계 해석으로 작성할 수 있는 모든 처리 요구를 작성가능한 데이터 언어를 관계적으로 완전하다고 정의

관계 대수(Relational Algebra)

  • 절차언어
  • 릴레이션을 처리하는 연산자들의 모임: 일반 집합 연산자, 순수 관계 연산자
  • 폐쇄 특성: 피연산자도 연산 결과도 모두 릴레이션

관계 대수의 연산자

  • 일반 집합 연산자
    • 릴레이션이 투플이 집합이라는 개념 이용
    • 합집합, 교집합, 차집합, 카디션 프로젝트(X)
    • 피연산자가 2개 필요
    • 합집합, 교집합, 차집합 수행 위해서는 피연산자로 지정되는 두 릴레이션이 합병 가능 조건을 만족해야 함.
    • 합병가능조건
      • 두 릴레이션의 차수(릴레이션 속성 개수) 같아야 한다.
      • 두 릴레이션의 서로 대응되는 속성의 도메인이 같아야 한다.
일반 집합 연산자 합집합 교집합 차집합(R-S) 카티션 프로젝트X
결과 릴레이션의 특성 차수는 R,S의 차수와 같다.
카디널리티는 R+S보다 같거나 작다.
차수는 R,S의 차수와 같다.
카디널리티는 R,S 어느것보다 크지 않다
R에는 존재하지만 S에는 존재하지 않는 투플.
차수는 R,S의 차수와 같다.
카디널리티는 같거나 작다
릴레이션 각각에 속한 각 투플을 모두 연결해 새로운 투플을 만들어서 결과 릴레이션 구성.
차수는 RS의 차수 더한 것
카디널리티는 RS의 카디널리티 곱한 것
교환적 특징 X
결합적 특징 X

  • 순수 관계 연산자
    • 릴레이션의 구조와 특성 이용하는 연산자
    • 셀렉트, 프로젝트, 조인, 디비전
  셀렉트 프로젝트 조인 디비전
수학적 표현법 시그마sub(조건)(R) 파이sub(속성리스트)(R) R나비넥타이S R나누기S
기능 R에서 조건에 맞는 투플들을 반환 주어진 속성리스트의 속성으로만 구성된 투플 반환 공통 속성 이용해 R과 S 투플들 연결하여 만든 새로운 투플 반환 S의 모든 투플과 관련있는 R의 투플 반환
데이터 언어적 표현법 릴레이션 where 조건식 릴레이션[속성리스트]    
  교환적 특징   조인 속성의 값이 같은 투플만 연결하여 생성된 투플을 결과 릴레이션에 포함 R이 S의 모든 속성을 포함하고 있어야 함

조인의 종류

자연 조인: 기본적인 조인 연산

세타 조인: 주어진 조인 조건을 만족하는 두 릴레이션의 모든 투플을 연결하여 생성된 새로운 투플로 결과 릴레이션 구성. 결과 릴레이션의 차수는 두 릴레이션의 차수를 더한 것과 같음

동일 조인: 세타 조인의 유형 중 하나로 연산자가 "="인 세타조인

세미조인

  • 릴레이션1 세미조인 릴레이션2
  • 릴레이션2를 조인 속성으로 프로젝트 연산
  • 릴레이션1에 자연 조인하여 결과릴레이션 구성
  • 불필요한 속성 미리 제거> 연산비용 감소
  • 교환적 특징 없음

외부조인: 자연 조인 연산에서 제외되는 투플도 결과 릴레이션에 포함시킴


관계 해석(관계 논리)

관계 모델에서 처리를 원하는 데이터가 무엇인지만 기술하는 비절차적 언어

투플 관계 해석

도메인 관계 해석

 

 

 

'학교수업 > 데이터베이스' 카테고리의 다른 글

[데이터베이스] 7.4 뷰(View)  (0) 2022.06.14
SQL  (0) 2022.04.21
5. 관계 데이터 모델  (0) 2022.04.21
4. 데이터 모델링  (0) 2022.04.21
3. 데이터베이스 시스템(DBS)  (0) 2022.04.20