- 데이터베이스 12 : 관계 대수 Relationship Algebra - 기본 연산자2024년 09월 25일 17시 16분 41초에 업로드 된 글입니다.작성자: UXO Studio
01 관계형 모델의 예제 스키마
02 Select
03 Project
04 Union
05 Set Difference
06 Cartesian Product
01 관계형 모델의 예제 스키마
ex) 관계형 모델의 예제 스키마
개체로부터 생성된 릴레이션들
- Customer = (customer-name, street, customer-city)
- Branch = (branch-name, branch-city, assets)
- Account = (branch-name, account-number, balance)
- Loan = (branch-name, loan-number, amount)
관계로부터 생성된 릴레이션들
- Depositor = (customer-name, account-number)
- Borrower = (customer-name, loan-number)
02 Select
Notation: σP(r)
- 릴레이션 r에서 조건 P를 만족하는 레코드들의 집합으로 구성된 새로운 릴레이션을 생성
조건 P: 논리/비교 연산자들로 구성
주요 연산자들: ∧, ∨, = , ≠, <, ≤, >, ≥
Example
- Account 테이블에서 'Brighton' 지점의 정보?
σbranch-name = 'Brighton'(Account)
- 'Brighton' 지점에서 잔고가 $800 이상인 계좌?
σbranch-name ='Brighton' ∧ balance > 800(Account)
03 Project
Notation: πA1, A2, …, Ar(r)
- 릴레이션 r의 속성 A1, A2, …, Ar을 가져와서 새로운 릴레이션으로 생성
Examples
- Account 테이블에서 계좌 번호와 잔고?
πaccount-number, balance(Account)
- Account 테이블에서 잔고가 $600 이상인 계좌의 번호와 잔고?
πaccount-number, balance( σbalance > 600(Account))
Composition of Relational Operations
04 Union
Notation: r ∪ s
- 릴레이션 r 또는 s에 존재하는 모든 레코드들로 구성된 새로운 릴레이션을 생성
card(r ∪ s) ≤ card(r) + card(s)
- r과 s는 동일한 스키마를 가져야 함
Attribute 수 동일
Attribute type 동일 (Domain: Equal)
Example
- 은행과 거래하는 모든 고객들의 이름?
πcustomer-name(borrower) ∪ πcustomer-name(depositor)
05 Set Difference
Notation: r – s
- 릴레이션 r에는 속하지만 s에는 존재하지 않는 레코드들로 구성된 새로운 릴레이션을 생성
card(r – s) ≤ card(r)
- r과 s는 동일한 스키마를 가져야 함
Attribute 수 동일
Attribute type 동일 (Domain: Equal)
Example
- 은행에 예금은 하면서 대출은 받지 않은 모든 고객들의 이름?
πcustomer-name(depositor) – πcustomer-name(borrower)
06 Cartesian Product
Notation: r × s
- 릴레이션 r과 s의 레코드들의 모든 가능한 조합으로 구성된 새로운 릴레이션을 생성
degree(r × s) = degree(r) + degree(s)
card(r × s) = card(r) × card(s)
Example
- ‘Perryridge’ 지점에서 대출받은 고객들의 이름?
Loan = (branch-name, loan-number, amount)
Borrower = (customer-name, loan-number)
πcustomer-name( σloan.loan-number = borrower.loan-number( σbranch-name = ‘Perryridge’(Loan × Borrower)))
#관계형모델 #Select #Project #Union #SetDifference #CartesianProduct #관계형데이터베이스 #SQL연산 #데이터베이스쿼리 #릴레이션연산 #관계대수 #SQLSelect #SQLProject #SQLUnion #SQLSetDifference #SQLCartesianProduct #DBMS #데이터베이스스키마 #CustomerRelation #AccountRelation #BorrowerRelation #DepositorRelation #SQL쿼리예제
'Data > Database' 카테고리의 다른 글
ER 모델을 이용한 데이터 모델링 - (0) 2024.11.08 데이터베이스 13 : 관계 대수 Relationship Algebra - 추가 연산자 (5) 2024.10.01 데이터베이스 11 : 관계형 데이터베이스의 구조 (0) 2024.09.25 데이터베이스 10 : 전체 시스템 구조 미리보기 (0) 2024.09.25 데이터베이스 09 : 데이터베이스 사용자와 관리자 (0) 2024.09.25 다음글이 없습니다.이전글이 없습니다.댓글