Database 기술 정리

By lhcsoft - 4월 26, 2019

Database에서 주로 사용하는 기술에 대해서 간략히 설명한다.

1. Index   

   책에서 특정 내용을 찾으려고 책 전체의 내용을 봐야 한다면 시간이 오래 걸릴것이다.
   이를 위해 책에는 목차가 있고, 목차를 통해 특정 내용을 빨리 찾을 수 있게 된다.

   DB Index도 마찬가지이다.

   DB Index는 자료구조 형태로 DB의 row 내용을 정렬해서 관리한다.
   Index를 사용하면, 일반적으로 검색을 하는 것보다 빠르게 검색할 수 있다.
   그러나, 단점도 있다.
   Index 정보를 유지하기 위해 별도의 저장공간이 필요하고, DB 내용 변경시 Index 정보를 생성하기  위한 별도의
   Operation Time이 필요하다.

   이러한 관점에서 Index 사용에 대한 장단점을 살펴보자.
   - Index 사용의 장점

     검색 속도가 향상된다.
     이는 주로 row가 많고, 검색을 많이 해야 하는 Table에 대해서 하는 것이 좋다.
     Index의 필드의 값이 TRUE, FALSE 처럼 단순하지 않고 다양한 값을 가지는 경우에 유용하다. 

   - Index 사용의 단점

     Insert, Delete, Update시에 Index 정보 관리를 위해 추가 Operation Time 필요하다.
     Index 정보를 유지하기 위한 별도의 저장공간 필요하다.

2. Join
   2개 이상의 테이블에 대해서 검색할때 사용하는 기능이다.
   Join에는 다음과 같은 방법이 있다.(여기서는 정리차원에서 간략히 항목만 나열한다)
   - Inner Join: Join 조건에서 값이 일치하는 행만 반환하는 경우 사용한다.
   - Outer Join(Left or Right): Join 조건에서 한쪽 값이 없더라도 행을 반환하는 경우 사용한다.

3. Foreign Key(외래키)
    Table의 한 필드가 다른 Table의 기본키(이하 PK)를 참조할때, 이를 Foreign Key(이하 FK)라고 한다.
    이는 두 Table의 관계성을 연결하기 위해 사용한다.
    FK를 사용하기 위해서는 2개의 Table이 존재한다. 
    - 종속 Table: FK를 포함하고 있는 Table
    - 상위 Table: 종속 Table에서 참조하고 있는 PK를 가지고 있는 Table
    이렇게 FK를 사용하는 이유는 데이터 무결성을 위한 것이다.
    즉, 종속 Table에서 Record 추가시 상위 Table의 PK가 아닌값으로 FK 값을 지정하면 에러를 반환한다.
    참고로, FK는 상위 Table의 PK 칼럼과 이름이 달라도 상관없다. 

위 내용은 개인적으로 검토한 내용이므로 참고만 하시기 바랍니다.

감사합니다.

  • Share:

You Might Also Like

0 개의 댓글