관계 대수 확장, 해석, 관계 연산 정리
23년 이전 글/데이터베이스

관계 대수 확장, 해석, 관계 연산 정리

관계 대수 확장

관계 연산자 기능

관계 연산 기능들

관계 대수 한계

  • 관계 대수는 산술 연산을 할 수 없음
  • 집단 함수 (aggregate function)를 지원하지 않음
  • 데이터베이스를 수정할 수 없음
  • 프로젝션 연산의 결과에 중복된 튜플을 나타낼 수 없음
  • 연산의 결과를 정렬하여 나타낼 수 없음

 

관계 대수의 확장

세미 조인, 외부 조인, 외부 합집합, 집단 함수, 그룹화

 

외부 합집합

합병 가능하지 않은 두 relation을 차수를 확장하여 합집합 생성

집단 함수

SUM, AVG, COUNT, MAX, MIN

질의 : 모든 사원들의 급여의 평균은?

 

그룹화

Attribute들 값에 의해서 그룹으로 분할되고, 분할된 각 그룹의 튜플들의 집합에 대해서 집단 함수 적용

그룹화

 

관계 해석(relational calculus)

수학의 프레디킷 해석에 기반함(predicate : a function whose values is true or false)

원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어(비절차 언어)

  • 튜플 관계 해석(tuple relation calculus) - 튜플을 기준으로 데이터 조회
  • 도메인 관계 해석(domain relation calculus) - 속성을 기준으로 데이터 조회

 

관계 해석 기호

  • ∃: 존재의의미(There exist)
  • ∈ : t가r에원소(속함) ( t ∈ r )
  • ∀ : 모든것(임의의) 에대하여(for all)
  • ∪ : 합집합

 

튜플 관계 해석

  • 연산 단위가 튜플
  • 원하는 relation을 튜플 해석식 (tuple calculus expression)표기
  • 튜플 해석식의 구성요소

튜플변수

  • 지정된 relation의 한 튜플만을 값으로 취하는 변수
  • 튜플 변수는 취할 수 있는 튜플의 relation이 명세되어야 함
  • 튜플 변수의 예 : R(t)

한정 속성

  • 튜플 변수에서 특정 속성의 값을 갖는 속성(t.A)

 

튜플 해석식의 구성요소

- 원자(atom) - 원자의 실행 결과는 참 또는 거짓 예) R(t), t.Aθ u.B, t.Aθ c

- 정형식(well-formed formula),  원자, 불리언 연산자, 정량자가 결합된 식

- 정형식의 예) s.Sno = 100, c.Cno≠ e.Cno, s.Sno= e.Sno∧ e.Cno≠ c.Cno, ·(∃e)(e.Sno= s.Sno∧ e.Cno= 'C413')

 

튜플 관계 해석식

  • 셀렉트연산: { t | EMPLOYEE(t) and t.SALARY>5000 }
  • 프로젝트연산: { t.FNAME, t.LNAME| EMPLOYEE(t) }
  • -셀렉트+ 프로젝트: { t.FNAME, t.LNAME| EMPLOYEE(t) and t.SALARY> 50000}

 

튜플 해석식 표기 형식

 

튜플 해석식 질의문 표현
튜플 해석식 질의문 표현
튜플 해석식 질의문 표현

도메인 관계 해석

  • 원하는 릴레이션을 도메인 해석식으로 표현
  • 연산의 단위가 도메인
  • 도메인 해석식의 구성요소(도메인 변수, 원자, 정형식)

도메인 해석식의 구성요소

- 도메인 변수

  • 지정된 attribute에 대한 도메인의 한 원소만을 취하는 변수
  • 각 도메인 변수는 해당 도메인을 선언해야함
  • x회원번호, x회원명
  • 범위식 : 도서(x도서번호, x도서명, x출판사)

- 원자 (atom)

R(x1 ,x2 ,…,xn ), x θ y, x θ c

①R : 범위릴레이션

②x, y : 도메인변수

③θ : 비교연산자(=, ≠, <, ≤, >,≥)

④c : 상수

- 정형식(WFF, Well-Formed Formila)

원자, 불리언연산자(∧, ∨,  ), 정량자(∀,∃)가다음규칙에따라결합되어표현된식

①모든원자는WFF

②F가WFF이면, (F)와  F도WFF

③F와G가WFF이면, F∧G와F∨G도WFF

④도메인변수x가자유변수로사용된F(x)가WFF이면, (∀x)(F(x))와(∃x)(F(x))도WFF

⑤위의규칙만을 반복 적용해서 만들어진 식은 WFF

 

도메인 해석식 표기 형식

도메인 해석식 예제

  • { xSname|STUDENT(xSno, xSname, xYear, xDept)}
  • { xSname|(∃xDept)(STUDENT(xSno, xSname, xYear, xDept)∧ xDept='컴퓨터’) }
  • { xSno, xDept|STUDENT(xSno, xSname, xYear, xDept)∧ (∃xxSno) (∃xGrade)(ENROL(xxSno, xCno, xGrade, xMidterm, xFinal) ∧ xSno=xxSno ∧ xGrade='A‘) }

 

도메인 해석식을 이용한 질의문 표현
도메인 해석식을 이용한 질의문 표현

 

과목 C413에서 성적이 A인 학생의 학번을 모두 검색
기말 성적이 90점 이상인 학생의 학번과 이름을 검색
과목 C324에 등록하지 않은 학생의 이름을 검색

 

관계 연산 정리

관계 데이터 연산

  • 원하는 데이터를 얻기 위해 필요한 처리 요구를 relation에 수행하는 것
  • 관계 대수(relational algebra)
  • relation을 처리하기 위한 연산의 집합
  • 어떻게 질의를 수행할 것인가 명시하는 절차적 언어(How, What)
  • 관계 대수는 상용 관계 DBMS들에서 널리 사용되는 SQL의 이론적인 기초

관계 해석(relational calculus)

  • 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않음(What)
  • 비절차 언어(nonprocedurral language)
  • 튜플 관계 해석과 도메인 관계 해석

 

관계 대수 연산자

  • 일반 집합 연산자와 순수 관계 연산자로 구성
  • 일반 집합 연산자와 순수 관계 연산자로 구성

일반 집합 연산자

  • -합집합(UNION, ∪) ,교집합(INTERSECT, ∩), 차집합(DIFFERENCE, -)
  • 카티션프로덕트(CARTESIAN PRODUCT, ×)

순수 관계 연산자

  • SELECT, PROJECT, JOIN, DIVISION

 

관계 해석

수학의 프레디킷 해석에 기반, predicate : a function whose values is true or false

원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어

- 비절차 언어(nonprocedurral language)

분류

  • 튜플 관계 해석(tuple relation calculus), 튜플을 기준으로 데이터 조회
  • 도메인 관계 해석(domain relation calculus), 속성을 기준으로 데이터 조회

 

관계 대수의 한계

집단함수 : SUM, AVG, COCUNT, MAX, MIN

그룹화 : attribute들의 값에 의해서 그룹으로 분할되고, 분할된 각 그룹의 튜플들의 집합에 대해서 집단 함수를 적용

 

관계  해석

  • 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어
  • 튜플관계 해석 : 범위식, 튜플 변수, 한정 속성, 원자, 정형식
  • 도메인 관계 해석 : 도메인 변수, 원자, 정형식

 

 

 

 

 

 

반응형