기술면접 대비 데이터베이스 예상 질문 정리
포스트
취소

기술면접 대비 데이터베이스 예상 질문 정리


데이터베이스 예상 질문 정리

기술 면접을 대비하기 위해서 데이터베이스 관련 예상 질문을 정리해봤다.

기술 면접은 여러가지 질문이 나올 가능성이 높고 시간은 유한하기 때문에

Oracle을 사용해서 면접 볼 기업과 기술 스택이 거의 겹치지 않을 것 같아

10문제 정도만 정리했다.

아주 기본적이고 당연히 알아야 하는 문제 위주로 내가 편히 말할 수 있는 언어로 작성했다.

아무래도 계속해서 더 공부하고 잊지 않도록 복습해야겠다.

</br>

</br></br>

  1. 데이터 베이스란 무엇인가요?

    1
    2
    3
    4
    
     데이터베이스란 일정한 규칙, 또는 규약에 의해 구조화 되어 저장되는 데이터의 모음입니다.
        
     데이터베이스는 실시간 접근과 데이터 공유가 가능합니다.
       
    

    </br></br>

  2. DBMS란 무엇이고, 그 기능에 대해 설명하세요.

    1
    
     DBMS(Data base management system)이란 데이터를 제어, 관리하는 통합 시스템을 말하며 데이터 베이스 안에 있는 데이터 들을 DBMS에서 정의해 놓은 특정 쿼리 언어를 통해 삽입, 조회, 수정, 삭제할 수 있습니다.
    

    </br></br>

  3. 관계형 데이터베이스와 NoSQL이 무엇인지 설명하고 둘의 차이점을 설명하세요.

    1
    
     관계형 데이터 베이스는 행과 열을 가지는 표 형식 테이블(릴레이션)간의 관계를 정의하여 그 관계를 기반으로 데이터를 저장, 관리하며 SQL이라는 언어를 써서 조작합니다, NoSQL(Not Only SQL)은 비정형 데이터를 다루기 위한 모델링 방식으로 데이터의 구조를 자유롭게 정의할 수 있고 중복 데이터를 허용할 수 있습니다. 대량의 분산된 데이터를 다루는데 특화되어있습니다.
    

    </br></br>

  4. INDEX가 무엇인지 설명하세요.

    1
    
     인덱스란 데이터베이스에서 테이블의 검색 속도를 향상할 수 있는 하나의 장치입니다. 인덱스는 책으로 비유하자면 목차와 같은 역할을 하며 B+트리나 해시테이블의 자료 구조로 이루어 집니다.
    

    </br></br>

  5. 트랜잭션이란 무엇이며 왜 사용해야 하는지 설명하세요.

    1
    
     트랜잭션은 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말하며 데이터베이스에 접근하는 방법은 쿼리이므로, 즉 여러개의 쿼리들을 하나로 묶는 단위를 의미합니다.
    

    </br></br>

  6. 트랜잭션의 특징을 설명하세요

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     트랜잭션은 ACID라고 하는 원자성, 일관성, 독립성, 지속성의 특징을 가집니다.
        
     원자성은 트랜잭션과 관련된 일이 모두 수행되거나 모두 수행되지 않는 상태를 의미합니다. 
        
     일관성은 트랜잭션 전후의 데이터베이스의 상태가 동일해야함을 의미합니다.
        
     독립성은 트랜잭션 수행 시 서로 끼어들지 못하는 것을 말합니다.
        
     지속성은 성공한 트랜잭션은 영원히 반영되어야 함을 의미합니다.
    

    </br></br>

  7. 트랜잭션의 커밋 연산과 롤백 연산에 관해 설명하세요.

    1
    2
    3
    4
    5
    
     커밋은 트랜잭션 단위로 수행되어 변경된 내용을 모두 영구적으로 저장하는 것을 말합니다.
        
     롤백은 에러나 이슈 등의 문제로 트랜잭션 전으로 모두 되돌리는 것을 말합니다
        
     커밋과 롤백 과정 덕분에 데이터의 무결성을 유지할 수 있습니다.
    

    </br></br>

  8. 조인의 종류와 그 특징에 대해 설명하세요

    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     조인이란 두 개 이상의 테이블을 묶어서 하나의 결과물로 조회하는 것을 말합니다. 
        
     내부 조인(inner join)은 두 테이블의 행 중 일치하는 행만 표기합니다.
        
     왼쪽 조인(left outer join)은 왼쪽 테이블의 모든 행이 결과 테이블에 표기됩니다.
        
     오른쪽 조인은 오른쪽 테이블의 모든 행이 결과 테이블에 표기됩니다.
        
     합집합(full outer join)은 두 테이블을 기반으로 조인 조건에 만족하지 않는 행까지 모두 표기합니다.
    

    </br></br>

  9. 정규화란 무엇이며 하는 이유는 무엇입니까?

    1
    
     정규화 과정은 테이블 간의 잘못된 종속 관계로 인해 데이터 베이스 이상 현상이 일어나는 것을 해결하거나 저장 공간을 효율적으로 사용하기 위해 중복을 최대한 줄여 데이터를 구조화하고, 불필요한 데이터를 제거해 데이터를 논리적으로 저장하는 과정입니다.
    

</br></br>

  1. 오라클과 MySQL의 차이를 설명하세요

1
2
3
 오라클이 MySQL보다 우수합니다.
 
 오라클은 대규모 트랜잭션 로드를 처리하고 성능 최적화를 위해 여러 서버에 대용량 DB를 분산합니다. MySQL은 단일 데이터베이스로 제한되어있어 대용량 데이터베이스로는 부적합합니다. 작은 프로젝트에서 적용시키기에 용이하며 트랜잭션 처리에 commit과 rollback만이 존재합니다.

</br></br>

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.