일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 명제
- Binary notation
- 진리표
- Digital Logic Circuits
- ermodel
- GPT-1
- Sentiment Analysis
- 모순명제
- dnf
- 모두의네트워크
- truth table
- full adder
- Circuit
- Tautology
- 모두의네트워크정리
- Contradiction
- half adder
- Logical statement
- 이진법 십진법 변환
- 모두의네트워크요약
- cnn
- 십진법
- CNF
- Decimal notation
- Gate
- 써킷
- 항진명제
- statement equivalence
- 명제 동치
- relationaldatabaseschema
- Today
- Total
NLP Learner in Switzerland
데이터베이스시스템 2019년도 중간고사 문제 및 답안[Q1~Q4] 본문
@University of Zurich
Question 1
[답] 2번 : 2
R relation에서 selection(σ) C<4 결과 A,B,C 183, 281 튜플2개
S relation에서 projection(π) D,E 결과 D,E 28, 97 튜플2개
R과 S의 Cartesian product(Χ) 튜플 수는 2개*2개 = 4개이며
projection(π) B,E 결과 B,E 88 87 88 87이지만 중복이 제거되므로 88 87만 남아서 2개가 된다.
[답] 3번
1번 : Cartesian product의 결과 A,B,C,A,C,D,E 컬럼을 가진 테이블이 정상적으로 얻어지지만 σ A<12를 수행할 때 어떤 A를 가리키는지 알 수가 없다.
2번 : σ A>=3, C<3의 syntax error → A>=3 AND C<3으로 바꾸어야 한다
4번 : r UNION s를 수행하려면 두 relation의 변수 갯수가 같아야 한다.
Question 2
[답] 4번
1번 : destination table의 DID가 booking table의 foreign key로 연결되어 있어 삭제시도시 에러가 난다.
2번 : booking의 primary key(DID, LName, Year)의 값이 모두 같은 튜플이 이미 존재하므로 삽입시 에러가 난다.
3번 : UPDATE의 SET에 multiple조건을 주려면 AND가 아닌 콤마(,)로 이어야 한다.
Question 3
[답] 4번
booking table의 rename(ρ) D,L,Y,Price2 수행 후 cartesian product를 하면 컬럼이 8개인 테이블이 생성된다.
π(price)σ(price>price2)를 수행하면 price최솟값만 빼고 전부 도출된다.
이를 전체 price 리스트에서 빼주면 price최솟값만 남게된다.
[답] 1번
2번 : 2018년도에 예약자 전체와 2019년도 예약자 전체에서 중복이 제거된 last name이 도출된다. 이 경우 당연히 두개년도 모두 예약한 사람은 알 수가 없다.
3번 : 2018년과 2019년 둘다 예약하지 않은 사람을 빼주었지만 둘 중 1개년도만 예약한 사람은 그대로 남아있어서 정답이 될 수 없다.
4번 : 2018년 booking리스트와 2019년 booking리스트를 join하면 매치되는 값을 찾아야 가능한데, year값이 달라서 같은 튜플을 찾을 수 없으므로 join이 되지 않는다.
[답] 2번
1번 : destination이 CH인 destination ID와 customer의 last name 전체를 cartesian곱해주면 모든 고객 last name에 CH의 ID가 붙은 튜플리스트가 도출된다. 거기서 booking 전체의 last name과 ID를 빼주면 CH리스트가 다 빠지게 되버린다.
3번 : destination이 CH인 튜플을 전부 포함하는 booking의 튜플은 destination의 튜플 전체를 커버할 수가 없기 때문에 아예 결과값이 없다.
4번 : destination이 CH인 튜플 중 destination ID컬럼만 뽑고, 이 ID를 전부 포함하는 booking의 last name, year, price는 해당 고객 모두가 같은 last name, year, price를 가지지 않는 이상 결과값이 도출되지 않는다.
Question 4
[답] (a) 2번, (b) 1번
(a) 모든 같은 destination ID와 같은 year에 대해서라고 ALL quantifier를 주었고, customer는 각각 다른 사람이다(C1, C2)(b) C1→C2와 C2→C1 두개를 모두 만족하는 결과값이므로 symmetric한 결과가 나온다. 또한 last name이 같은 서로 다른 고객도 도출될 수 있으므로 둘다 맞는 statement이다.
[답] 3번
destination이 home country가 아닌 경우를 제외하는 식으로 접근한다. 즉, booking리스트에 있는 customer에서 booking된 destination이 home country가 아닌 경우를 빼는 것이다.
'Database SQL > Exercise' 카테고리의 다른 글
데이터베이스시스템 2020년도 중간고사 문제 및 답안[Q1~Q3] (0) | 2021.04.30 |
---|---|
데이터베이스시스템 2019년도 중간고사 문제 및 답안[Q5~Q7] (0) | 2021.04.29 |
View 구현 예제 (0) | 2021.04.27 |
Advanced SQL query 구현 예제 (0) | 2021.04.26 |
SQL query 구현 예제 (0) | 2021.04.25 |