기술 예상 질문

5w31892p·2023년 3월 27일
0

CS_Study

목록 보기
3/9

데이터베이스

  1. 인덱스란 무엇이고, 일반적인 원리 설명
    인덱스란 데이터 검색 속도를 높이기 위해 사용하는 자료구조로,
    검색할 데이터와 일치하는 인덱스 키를 먼저 찾고, 인덱스 키를 이용해 원하는 데이터를 검색합니다.
    • 인덱스 키 : 검색에 사용되는 컬럼 값 담고 있음
    • 인덱스 키를 찾는 과정 : 인덱스 스캔
  2. 모든 요소에 인덱스를 걸지 않는 이유
    모든 요소에 인덱스를 걸게 되면, 인덱스의 크기가 커지고, 그에 따라 데이터베이스의 크기도 커지기 때문에 유지 관리 비용이 증가하게 되므로 필요한 요소에만 인덱스를 거는 것입니다.
  3. 복합 인덱스란 무엇이고 그 원리는?
    복합 인덱스란 두개 이상의 컬럼을 합쳐서 인덱스를 만드는 것입니다.
    인덱스는 조합된 컬럼의 데이터를 통해 생성되고, 검색할 때에도 조합된 컬럼을 통해 검색을 수행하게 됩니다.
  4. 트랜잭션이란 무엇이고, 원자성 | 일관성 | 고립성 | 지속성이란?
    트랜잭션이란 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위입니다.
    트랜잭션의 특징에는 원자성, 일관성, 고립성, 지속성이 있는데,
    원자성은 실행이 성공한다면 데이터베이스에 모두 반영되거나 어느 하나라도 오류가 발생한다며 해당 실행은 모두 취소되는 것을 의미하고,
    일관성은 성공 시 언제나 일관성 있는 데이터베이스 상태로 변환하고, 트랜잭션 수행전과 수행 완료 후의 상태가 같타야 함을 의미합니다.
    고립성은 둘 이상의 트랜잭션이 동시에 실행될 때 각각의 트랜잭션은 다른 트랜잭션에 영향을 끼칠 수 없는 것이고,
    지속성은 성공한 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되는 것을 의미합니다.
  5. 정규화란 무엇이고, 대표적인 장단점은?
    정규화란 데이터 중복을 줄여 데이터를 구조화 하는 과정입니다.
    중복데이터를 줄여 데이터베이스 용량을 줄일 수 있다는 장점이 있고, 단점으로는 정규화된 데이터베이스는 설계가 복잡해지기 때문에 개발비용이 많이 든다는 점이 있습니다.

0개의 댓글