항해99 3기

2021.12.15 면접 질문 준비(수정필요) - Part 1. 전산 기초 : 데이터베이스

na_o 2021. 12. 17. 20:30
728x90
  • 데이터베이스
    • 데이터베이스를 사용하는 이유
      • 데이터베이스가 등장하기 전에는 파일시스템으로 데이터를 관리해 왔는데
      • 파일시스템은 파일마다 같은 내용이 있는 '중복'이나
      • 데이터를 변경하면 변경한 데이터와 연관되어있는 데이터를 모두 수정해야하는 '비일관성'
      • 여러가지의 문제점이 있었습니다
      • 이것을 해결하기 위해 데이터베이스가 등장했습니다
    • 데이터베이스 성능
      • 데이터베이스는 하나의 데이터베이스에 여러 응용프로그램이 접근이 가능하기 때문에 데이터의 중복을 최소화할 수 있습니다
      • 또한, 데이터베이스는 한 군데에서 데이터를 관리할 수 있기 때문에 보안성이 향상되고 보안 비용이 절감됩니다
    • 데이터의 무결성?
    • https://yang1650.tistory.com/28

 

  • Index
    • Index 란 무엇인가 :
      • 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조입니다
    • Index 의 자료구조
      • 컬럼의 값으로 생성된 해시를 기반으로 인덱스를 구현하는 '해시 테이블'
      • 자식 노드가 2개 이상인 B-Tree를 개선시킨 자료구조인 'B+Tree'가 있습니다(https://potatoggg.tistory.com/174)
    • Primary index vs Secondary index
      • Primary index :
        • 키 값에 대한 테이블의 데이터 행을 정렬하는 인덱스의 한 유형
        • 테이블의 데이터를 정렬해서 저장되는 순서를 정의
      • Secondary index :
        • 데이터와 인덱스를 각각 다른 위치에 저장
        • 인덱스는 해당 데이터의 위치에 대한 포인터를 포함하고 있다.
    • Composite index :
      • 인덱스를 생성할 때 두 개 이상의 컬럼을 합쳐서 인덱스를 만드는 것을 의미한다.
      • 주로 SQL 문장에서 WHERE 절의 조건 컬럼이 2개 이상이 AND로 연결되어 함께 사용이 되는 경우에 많이 사용하게 된다.

 

  • 객체무결성 도메인무결성 ...무결성
    • 정규화에 대해서
      • 정규화 탄생 배경
        • 하나의 릴레이션에서 여러 엔티티의 attribute를 혼합하면 데이터의 중복이 일어나 저장 공간이 낭비된다.
        • 또한 이러한 중복으로 인해 하나의 릴레이션에서만 변경되고 다른 릴레이션들에선 변경되지않는 데이터의 불일치 문제도 일어나 어느것이 정확한지 알 수 없게 된다.
        • 이러한 문제의 해결을 위해 정규화 과정을 거치는 것.
    • 정규화란 무엇인가
      • 데이터베이스의 설계를 재구성하는 테크닉으로, 이를 통해 불필요한 데이터의 중복을 없앨 수 있고,
      • 데이터 저장을 논리적으로 하여 삽입/수정/삭제 시 발생하는 문제들을 방지할 수 있다.
    • 정규화의 종류
      • 정규화 과정을 거치면 정규형을 만족하게 되는데, 정규형에는 제1정규형, 2정규형, 3 정규형,..이 있다.
      • 1 정규형 :
        • 각 로우마다 컬럼의 값이 1개씩만 있어야 함
    • 제 2 정규형 :
      •  
    • 정규화의 장단점
      • 장점
        • 데이터베이스 변경시 발생하는 갱신이상 문제들을 해결해준다.
        • 정규화된 테이블들과 그 테이블들간의 관계는 현실 세계에서의 개념과 그들의 관계를 반영하여 사용자에게 더 의미 있게 데이터 모델을 제공 할 수 있음.
      • 단점
        • 릴레이션이 분해 되기 때문에 JOIN(릴레이션간의 연산)이 많아짐
    • https://excited-hyun.tistory.com/104