데이터 베이스
1. DB 구조 & 설계
1) Primary key가 무엇인지 설명해 주세요.
Primary key와 Foreign key에 대해 설명하시오
Candidate key에 대해 설명하시오
Alternate Key에 대해 설명하시오
Composite Key에 대해 설명하시오
2) 슈퍼키와 후보키의 차이점을 설명해 주세요.
3) 데이터베이스의 무결성에 관해 설명해 주세요.
4) 관계형 데이터베이스의 N:M 관계에 대해서 설명해 주세요.
1:N 관계에 대해서 설명해 주세요.
5) left outer join, inner join 차이를 설명해 주세요.
6) RDB와 NoSQL를 비교 설명해 주세요.
구분
관계형 데이터베이스
NoSQL 데이터베이스
데이터 저장
2차원 테이블로 저장
분산형 구조임. 도큐먼트, 키-값, 그래프 등 다양한 형태로 저장
데이터 중복
중복 없음
중복 데이터가 있어서 데이터 갱신 시 이를 처리해야 함
스키마
스키마가 있어서 데이터의 무결성 보장
스키마가 없고 유연한 데이터 처리 가능
DBMS
Oracle, MySQL, SQLite
MongoDB
2. Transaction
1) 트랜잭션을 설명해 주세요.
원자성/일관성/고립성/지속성이 뭔가요?
2) 데이터베이스의 트랜잭션 수행 과정 중 오류가 발생하면 어떻게 처리해야 할까요?
3) 데이터베이스에서 락은 무엇인가요?
4) 락의 목적은 무엇인가요?
5) 데이터베이스의 교착상태(DeadLock)이란 무엇인지 설명해주세요.
6) 데드락을 해결하려면 어떻게 해야 하나요.
3. Index
1) 인덱스가 무엇인가요
쉽게 설명하기 인덱스는 책마다 마지막 페이지에 있는 색인(index)와 같은 역할을 하는 자료구조입니다. 책에서 어떤 용어나 단어를 찾기 위해 첫 페이지부터 끝 페이지까지 전체를 훓지 않아도 인덱스를 찾아보면 몇 페이지에 적혀 있는지 바로 찾을 수 있는 것과 비슷합니다.
2) 인덱스가 왜 필요한가요?
3) 인덱스를 어떤 컬럼에 사용하는 것이 좋을까요?
기준
적합성
카디널리티
높을수록 적합(데이터 중복이 적을수록 적합)
선택도
낮을수록 적합
조회 활용도
높을수록 적합(where 절에서 많이 사용되면 적합)
수정 빈도
낮을수록 적합
4) 인덱스를 사용 중일 때 데이터를 삭제하면 발생할 수 있는 문제는 무엇일까요?
5) 데이터를 검색할 때 해시테이블의 시간 복잡도는 0(1)이고 b+tree는 O(logn)으로 더 느린데, 왜 인덱스는 해시테이블이 아닌 b+tree로 구현되나요?
4. 이상 현상
1) 데이터베이스의 이상 현상이란 무엇이며 어떻게 해결할 수 있나요?
Last updated