chap95 / TS_study

JS 와 TS 스터디
1 stars 1 forks source link

6주차 - luce 정답지 #23

Open luceinaltis opened 3 years ago

luceinaltis commented 3 years ago

1. ACID는 데이터베이스에서 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 약어입니다. 여기서, ACID의 각 약어 뜻이 의미하는 것을 설명해주세요.

Atomicity: 원자성, 트랜잭션들은 더 이상 분해될 수 없는 단위로 실행되며 모든 것이 실행되거나, 실행되지 않음을 보장하는 것을 의미합니다 Consistency: 일관성, 데이터의 형식이 바뀌거나 데이터의 총량이 비정상적으로 변하지 않음을 의미합니다 Isolation: 독립성, 트랜잭션 수행 시 다른 트랜잭션의 수행에 의해 영향을 받지 않음을 의미합니다. Durability: 지속성, 수행된 트랜잭션이 영원히 반영되는 것을 의미합니다.


2. DBMS에서 A 테이블과 B 테이블에 대해 다음 JOIN 연산 수행 시 연산 결과를 작성해주세요.

Table a x y
a l
b m
Table b x z
c 10
a 20
b 30

SELECT FROM a INNER JOIN b ON a.x = b.x; SELECT FROM b LEFT OUTER JOIN a ON b.x = a.x; SELECT * FROM a CROSS JOIN b;

result


3. DBMS는 JOIN 연산 수행시 쿼리 옵티마이저에서 JOIN 전략을 선택합니다. JOIN 전략들에 대해 간략하게 설명해주세요.

Nested Loop Join: outer table과 inner table을 for 문으로 하나하나 대입하는 방식 Hash Join: outer table과 inner table을 해시함수를 통해 같은 해시값을 같는지 대입하는 방식 Merge Sort Join: outer table과 innter table을 정렬한 후 정렬된 테이블간의 조인이 이루어지는 방식