본문 바로가기

정보처리산업기사_실기_기록용

[데이터베이스] 관계대수

반응형

[출처] 2020 시나공 기본서 정보처리산업기사 실기

관계대수의 개념 및 연산자들의 종류 암기
1. 관계대수

  • 관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적 언어
  • 하나 또는 두 개의 릴레이션을 입력으로 받아들여 새로운 릴레이션을 생성하는 연산들의 집합

기본연산 : SELECT, PROJECT, JOIN, DIVISION 등
집합연산 : UNION, DEFFERENCE, INTERSECTION, CARTESIAN PRODUCT 등


SELECT와 PROJECT로 검색식을 활용할 줄 알아야함
2. 순수 관계 연산자

  • SELECT (σ)
    • 튜플들 중에서 특정 조건을 만족하는 튜플들의 부분집합을 구하여 새로운 릴레이션을 생성
    • 수평 연산(행에 해당하는 튜플 추출)으로도 불림
    • 연산기호 : 시그마(σ)
    • 표기형식 : σ(조건)(R) 
      • (조건) 부분은 =, ≠, <, ≤, >, ≥ 등 비교 연산 및 AND(∧), OR(∨), NOT(¬) 등 논리 연산자 허용
        • 내 맘대로 외우기 : SQL로 비교하면 WHERE 절 (조건 입력)
      • (R) 부분은 릴레이션(Relation)
        • 내 맘대로 외우기 : SQL로 비교하면 FROM 절 (테이블명)
  • PROJECT (π)
    • 릴레이션에서 속성 리스트에 제시된 속성 값만을 추출하여 새로운 릴레이션을 생성
    • 단. 연산 결과에 중복 발생 시 중복이 제거
    • 수직 연산(열에 해당하는 속성 추출)으로도 불림
    • 연산기호 : 파이(π)
    • 표기형식 : π(속성리스트)(R)
  • JOIN (⋈)
    • 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션 생성
    • JOIN 연산의 결과로 만들어진 릴레이션의 차수는 조인된 두 릴레이션의 차수를 합한 것 디그리 구하는 문제
    • JOIN 연산의 결과는 CARTESIAN PRODUCT 연산을 수행한 후 SELECT 연산을 수행한 것과 같음 별로 안중요
    • 연산기호 :
    • 표기형식 : R⋈(JOIN 조건)S
      • R, S는 릴레이션
  • DIVISION 
    • 두 릴레이션 R(X)와 S(Y)에 대해 Y⊆X이고 X-Y=Z라고 하면, R(X)와 R(Z, Y)는 동일한 표현
    • 이때, 릴레이션 R(Z, Y)에 대한 S(Y)의 DIVISION 연산은 S(Y)의 모든 튜플에 연관되어 있는 R(Z)의 튜플을 선택하는 것
    • 표기형식 : R(속성r ÷ 속성s)S
      • 속성r은 릴레이션 R의 속성이고, 속성s는 릴레이션 S의 속성이며, 속성r과 속성s는 동일 속성 값을 가지는 속성이여야 함


3. 일반 집합 연산자
집합 연산은 수학적 집합 이론에서 사용하는 연산자로서 릴레이션 연산에도 그대로 적용 가능
합병하려는 두 릴레이션 간에 속성의 수가 같고, 대응되는 속성별 도메인이 같은 합병 조건을 만족해야 함

  • 합집합 UNION 연산기호 : ⋃
  • 교집합 INTERSECTION 연산기호 : ⋂
  • 차집합 DIFFERENCE 연산기호 : −
  • 교차곱 CARTESIAN PRODUCT 연산기호 : ⅹ


관계대수와 구분
4. 관계해석

  • 관계 데이터 모델의 제안자 코드가 수학의 술어해석에 기반을 두고 관계 데이터베이스를 위해 제안함
  • 관계 데이터 연산을 표현하는 방법으로 계산 수식을 사용
  • 관계해석은 원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지님
  • 질의어로 표현
반응형