[2023 정보처리기사] 3과목 – 6. 관계형 데이터 언어(관계대수, 관계해석)

1. 관계대수

: 원하는 데이터를 얻기 위해 데이터를 어떻게 찾는지에 대한 처리 과정을 명시하는 절차형 언어.

  1. 1. 순수 관계 연산자

  • Select – σ

: 조건에 맞는 튜플 집합을 검색. 수평연산

– 표기법: σ<조건>(릴레이션)

  • Project – π

: 조건에 맞는 속성 집합을 검색. 수직 연산

– 표기법: π<리스트>(릴레이션)

  • Join – ⋈

: 두 릴레이션의 공통 속성으로 조합.

– 표기법: (릴레이션1)⋈<조건>(릴레이션2)

  • Division – ÷

: 두 릴레이션에서 특정 속성을 제외한 속성만 검색.

– 표기법: (릴레이션1)[속성1÷속성2](릴레이션2)

  • Ex. Select) σ평균≥90(성적)

[Select]

  • Ex. Project) π이름,평균(성적)

[Project]

 

  • Ex. Join) 성적⋈No=No학적부

[Join]

  • Ex. Division)

[Division]

  • Ex. Division1) 구입자[구입품코드 ÷ 생산품코드](생산품)

[Division Ex1]

  • Ex. Division2) 구입자[구입품코드 ÷ 이름,생산품코드]생산품2

[Division Ex2]

  1. 2. 일반 집합 연산자

  • 합집합(Union, ∪): 두 릴레이션의 튜플의 합집합.
  • 교집합(Intersection, ∩):  두 릴레이션의 튜플의 교집합.
  • 차집합(Difference, −): 두 릴레이션의 튜플의 차집합.
  • 교차곱(Cartesian Product, ×): 두 릴레이션의 튜플들의 순서쌍.
  • Ex) 사원 릴레이션, 직원 릴레이션
    [사원, 직원 릴레이션]
  • Ex. 합집합) π이름(사원)∪π이름(직원)

  • Ex. 교집합) π이름(사원)∩π이름(직원)

  • Ex. 차집합) π이름(사원)−π이름(직원)

  • Ex. 교차곱) – π이름(사원)×π이름(직원)

 

2. 관계해석

: 관계형 데이터 모델의 제안자인 코드(E.F.Codd)가 수학의 술어해석에 기반을 두고 관계형 데이터베이스를 위해 제안.

– 원하는 정보가 무엇(What)이라는 것만 정의하는 비절차적 특성.

– 관계대수로 표현한 식은 관계해석으로 표현 가능.

  2. 1. 연산자

  • ∨: OR연산
  • ∧: AND연산
  • ¬: NOT연산

  2. 2. 정량자

  • ∀: 전칭 정량자. 모든 가능한 튜플 ‘For ALL’
  • ∃: 존재 정량자. 어떤 튜플 하나라도 존재 ‘there Exists’

Leave a Comment