728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶관계형 해석 (Relational Calculus)
- 관계형 대수는 원하는 정보를 어떻게 유도하는 가를 기술하는 절차적이다.
- 관계형 해석은 원하는 정보가 무엇이라는 것만 선언하는 비절차적인 특성을 가지고 있다.
- 관계형 해석과 관계형 대수는 동등하다.
- 관계형 해석과 관계형 대수는 서로 변환 가능하다.
- 관계형 해석의 두 가지 표현 방법
- 튜플 관계형 해석
- 도메인 관계형 해석
▶튜플 관계형 해석 (Tuple Relational Calculus)
- 튜플 해석식의 구성 요소
- 튜플 변수 또는 범위 변수
- R(t)
- t는 R의 튜플 변수이고, 취하는 값의 범위는 릴레이션 R의 튜플로 한정된다.
- ex. 학생(s), 과목(c), 수강(e)
- 한정 애트리뷰트 : t.A 또는 t[A]
- 튜플 변수 t가 가리키는 튜플의 애트리뷰트 A의 값이다.
- ex. s.학번, c.과목코드, e.성적
- 원자
- R(t)
- ex. 학생(s)
- t1.A θ t2.B
- ex. s.학번 = e.학번
- t.A θ c
- ex. s.학과 = '컴퓨터'
- A, B : 애트리뷰트, θ : 비교 연산자, c : 상수
- R(t)
- 정형식 : 원자, 논리 연산자, 그리고 정량자로 구성된 식
- 자유 변수 : 정량자(∃, ∀)로 한정되지 않는 튜플 변수
- 속박 변수 : 정량자로 한정된 튜플 변수
- ∃ : 존재 정량자, "there exists"
- ∀ : 전칭 전량자, "for all"
- ex. ∃e(e.학번 = s.학번 ∧ e. 과목 코드 = 'CO423'
- e : 속박 변수, s : 자유 변수
▶튜플 해석식 (Tuple Calculus Expression)
- 튜플 해석식의 형식
- { t1A1, t2A2,..., tnAn | F(t1,..., tn, tn+1,..., tn+m) }
- ti : 튜플 변수
- F(...) : ti에 대한 정형식
- 막대( | ) 왼편에 나오는 한정 애트리뷰트들은 목표 리스트로서 막대 오른편에 기술된 조건을 만족하는 결과로부터 추출된다.
- ex.
- {s.성명 | 학생(s)}
- 학생 전체 성명
- {s.성명 | 학생(s) ∧ s.학과='컴퓨터'}
- 컴퓨터학과 학생 성명
- {s.성명, s.학과 | 학생(s) ∧ ∃e(수강(e) ∧ e.학번=s.학번 ∧ e.성적='A+')}
- 성적이 A+인 학생의 성명과 학과
- {s.성명 | 학생(s)}
- **목표 리스트에는 자유 변수만 나올 수 있다.
▶도메인 관계형 해석 (Domain Relational Calculus)
- 튜플 관계형 해석과 기본 골격은 같지만 튜플 변수 대신 도메인 변수를 사용한다.
- 도메인 변수
- 학생(학번, 성명, 학과, 전화번호)에 대한 도메인 변수는 학생(x학번, x성명, x학과, x전화번호)으로 선언한다.
- ex. 학생 테이블에서 학과가 '컴퓨터'인 학생의 성명은?
학생 | x학번 | x성명 | x학과 | x전화번호 |
P. | '컴퓨터' |
▶도메인 해석식 (Domain Calculus Expression)
- 도메인 해석식의 형식
- { x1 , x2 ,…, xn|F(x1 ,…, xn , xn+1,…, xn+m) }
- xi : 도메인 변수
- F(x1 ,…, xn , xn+1,…, xn+m) : xi에 대한 정형식
- 막대 (|) 왼편에 나오는 도메인 변수들은 목표 리스트로서 막대 오른편에 기술된 조건을 만족하는 결과로 추출된다.
- ex.
- {x성명|(∃x학과) (학생(x학번, x성명, x학과, x전화번호) ∧ x학과='컴퓨터' ) }
▶QBE
- QBE (Query By Example)는 도메인 관계형 해석을 기초로 한 관계형 데이터 언어이다.
- 1970년 초 IBM의 Watson Research Center에서 개발되었다.
- QBE는 2차원 구문(two-dimensional syntax)을 가진다.
- QBE 질의는 "예로서" 표현된다.
- 행은 상수와 도메인 변수로 구성되는데, 혼돈을 피하기 위해 도메인 변수들은 _x와 같이 "_"가 앞에 나온다.
- ex. 학생 데이블에서 학과가 컴퓨터인 학생의 학번은?
학생 | 학번 | 성명 | 학과 | 전화번호 |
P._x | '컴퓨터' |
- 검색뿐 아니라 삽입, 삭제, 갱신이 가능하다.
- 삽입할 땐 별도의 조건 상자 기능을 제공해준다.
- OR는 두 개의 행을 사용해서 표현한다.
- AND는 하나의 행을 사용해서 표현한다.
- Join은 표 두 개를 사용해서 같은 _x를 사용하면 된다.
728x90
'컴퓨터공학 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] SQL - Structured Query Language2 (0) | 2022.11.11 |
---|---|
[데이터베이스] SQL - Structured Query Language (0) | 2022.11.10 |
[데이터베이스] 추가된 관계형 대수 (2) | 2022.10.15 |
[데이터베이스] 관계형 대수 (1) | 2022.10.15 |
[데이터베이스] 관계형 데이터베이스 (0) | 2022.10.14 |