후니의 IT인프라 사전

[오독완 챌린지] 기술 면접 대비 CS 전공 핵심 요약집 (5일차) 본문

도서리뷰/IT 도서

[오독완 챌린지] 기술 면접 대비 CS 전공 핵심 요약집 (5일차)

james_janghun 2023. 9. 10. 11:35

오늘도 독서완료!

데이터 베이스는 그 용어를 처음에는 잘 익히는게 중요합니다. 스키마라는게 있는게 이는 데이터의 구조와 표현 방식, 제약 조건을 정의하는 역할을 합니다.

 

그리고 데이터 베이스에는 여러 종류가 있지만 가장 많이 사용하는게 관계형 데이터 베이스입니다. RDB라고도 합니다. 2차원 테이블을 사용해 데이터의 구조와 데이터 간 종속성을 나타내는 데이터베이스입니다.

 

관계형 테이터베이스에서 데이터의 개념적 모델을 릴레이션이라고 하고, 릴레이션을 실제로 구현한 개체를 테이블이라고 합니다. 대표적으로 MySQL이 있습니다.

 

다음은 비관계형 데이터베이스인 NoSQL이 있는데 MongoDB가 대표적입니다.

 

관계형 테이터 베이스를 좀 더 자세히 알아보면, 키(key)라는게 있습니다.

키는 데이터베이스에서 튜플을 구분하기 위한 속성 또는 속성의 집합으로, 유일성과 최소성이라는 특징을 가집니다.

유일성은 하나의 키 값으로 튜플을 식별할 수 있는 특성을 말하며, 최소성은 튜플을 식별하는데 필요한 속성만으로 이루어져 있는 특성을 말합니다.

 

인덱스(index)는 데이터베이스에서 튜플의 검색 성능을 높이기 위해 속성 값과 튜플이 저장된 주소를 저장하는 것을 말합니다. 인덱스를 통해서 검색 속도를 높일 수 있지만, 인덱스 테이블을 위한 별도의 저장공간이 필요하다는 단점이 있습니다. 또한 정렬되어 있기 때문에 데이터의 추가, 삭제 등 변동이 생길 경우 모든 데이터의 인덱스 값에 영향을 미칠 수 있어 속도가 느릴 수 있습니다.

 

ORM(Object-Relational Mapping)은 객체와 관계형 데이터베이스를 매핑하는 도구를 의미합니다. 데이터베이스를 프로그래밍 언어의 객체 관점으로 바라볼 수 있어 객체 지향 프로그래밍 언어를 이용해 프로그램을 개발할 때 편리합니다.