티스토리 뷰
위와 같은 릴레이션들이 있다.
Reserves의 sid는 외래키이며 Sailors의 sid(기본키)를 참조한다.
또한 Reserves의 또다른 외래키 bid는 Boats의 bid(기본키)를 참조한다. 따라서 선원과 보트의 관계는 M:N관계인것을 알 수 있다.
Q1. 배 103을 예약한 뱃사람의 이름을 구하시오.
오른쪽과 같은 3가지 답이 가능하지만 솔루션 1번이 가장 최적화된 관계대수이다.
2번은 I/O코스트가 매우 크다.
Q2. 적색 배를 예약한 뱃사람의 이름을 구하시오.
아래 관계대수식이 좀더 최적화된 식이다.
Q5. 적색 배나 녹색 배를 예약한 뱃사람의 이름을 구하시오.
이 질의의 결과로 Dustin,Horatio,Lubber라는 이름을 얻게 된다.
Q6. 적색 배와 녹색 배를 예약한 뱃사람의 이름을 구하시오.
Q3.Lubber가 예약한 배의 색을 구하시오.
Q4. 적어도 한 척의 배를 예약한 뱃사람의 이름을 구하시오.
Sailros와Reserves를 자연조인한다음, 프로젝션(sname)
-> 질의의 결과로 Dustin, Horatio, Lubber 를 얻게 된다.
Sailros테이블에 보면 Horatio라는 동명이인이 존재한다.
결과 릴레이션에는 중복을 제거 한 상태로 보여주기 때문에 Horatio는 딱 한번만 나타날 것이다.
Q7.적어도 두 척의 배를 예약한 뱃사람의 이름을 구하시오.
나이가 20세를 초과하고 적색 배를 예약하지 않은 뱃사람들의 sid를 구하시오.
프로젝션sid(Sailors 에서 age>20인 튜플들을 셀렉션 한 결과) -
프로젝션sid((Boats에서 color가 red인 튜플을 셀렉션한 결과) 자연조인 (Reserves) 자연조인 (Sailors))
'컴퓨터 공학과 졸업 > 데이터베이스' 카테고리의 다른 글
DMBS와 파일시스템 장단점 및 DBMS종류 (0) | 2017.10.16 |
---|---|
관계대수 예제 2 ppt (0) | 2017.10.14 |
관계대수,조인 (1) | 2017.10.12 |
스키마의 종류 (0) | 2017.10.05 |
슈퍼키,후보키,대체키,기본키,부분키,외래키 (0) | 2017.10.03 |
- Total
- Today
- Yesterday
- computed
- typescript
- await
- Action
- es6
- state
- Babel
- atomic design
- props
- type alias
- storybook
- useRef
- return type
- mobx
- react
- reactdom
- reflow
- Polyfill
- server side rendering
- async
- Next.js
- design system
- webpack
- rendering scope
- hydrate
- javascript
- promise
- reducer
- react hooks
- useEffect
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |