관계해석: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 7: | Line 7: | ||
== 종류 == | == 종류 == | ||
=== 튜플 관계해석 === | === 튜플 관계해석 === | ||
; 튜플을 기준으로 데이터 조회 | |||
* 셀렉트 연산 | * 셀렉트 연산 | ||
** { t | EMPLOYEE(t) and t.SALARY>5000 } | ** { t | EMPLOYEE(t) and t.SALARY>5000 } | ||
Line 17: | Line 18: | ||
=== 도메인 관계해석 === | === 도메인 관계해석 === | ||
{ SALARY, ADDRESS | (EMPLOYEE(FNAME,MNAME,LNAME,SALARY,ADDRESS) and FNAME='John" and MNAME='B' and LNAME='Smith') } | ; 속성을 기준으로 데이터 조회 | ||
* { SALARY, ADDRESS | (EMPLOYEE(FNAME,MNAME,LNAME,SALARY,ADDRESS) and FNAME='John" and MNAME='B' and LNAME='Smith') } | |||
== 관계 해석 기호 == | == 관계 해석 기호 == |
Revision as of 06:40, 9 November 2019
- 수학의 프레디킷 해석(predicate calculus)에 기반을 두고 있다.
- E. F. Codd가 데이터베이스에 적용할 수 있도록 설계하여 제안하였다.
- 릴레이션을 정의하는 방법을 제공한다.
- 기본적으로 관계해석과 관계대수는 관계 데이터베이스를 처리하는 기능과 능력 면에서 동일하다.
종류
튜플 관계해석
- 튜플을 기준으로 데이터 조회
- 셀렉트 연산
- { t | EMPLOYEE(t) and t.SALARY>5000 }
- 프로젝트 연산
- { t.FNAME, t.LNAME | EMPLOYEE(t) }
- 셀렉트 + 프로젝트
- { t.FNAME, t.LNAME | EMPLOYEE(t) and t.SALARY > 50000 }
- 조인 + 셀렉트 + 프로젝트
- { e.FNAME, e.LNAME | EMPLOYEE(e) and DEPARTMENT(d) and (d.DNAME = 'Research' and d.DNUMBER = e.DNO) }
도메인 관계해석
- 속성을 기준으로 데이터 조회
- { SALARY, ADDRESS | (EMPLOYEE(FNAME,MNAME,LNAME,SALARY,ADDRESS) and FNAME='John" and MNAME='B' and LNAME='Smith') }
관계 해석 기호
- ∃: 존재한다(There exist)
- ∈: t가 r에 속함( t ∈ r )
- ∀: 모든 것에 대하여(for all)
- ∪: 합집합