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;
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을 정렬한 후 정렬된 테이블간의 조인이 이루어지는 방식
1. ACID는 데이터베이스에서 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 약어입니다. 여기서, ACID의 각 약어 뜻이 의미하는 것을 설명해주세요.
2. DBMS에서 A 테이블과 B 테이블에 대해 다음 JOIN 연산 수행 시 연산 결과를 작성해주세요.
3. DBMS는 JOIN 연산 수행시 쿼리 옵티마이저에서 JOIN 전략을 선택합니다. JOIN 전략들에 대해 간략하게 설명해주세요.