데이터베이스(Database, DB) 개념과 데이터 모델(Data Model) 종류 4가지

임로빈·2024년 1월 11일

데이터베이스 Day 1

데이터베이스(Database, DB)란?

데이터 저장소

  • 효율적인 데이터 관리
  • 데이터를 통합하여 관리
  • 데이터 누락 및 중복 방지
  • 여러 사용자가 실시간으로 데이터 사용 가능
  • DB라는 것이 있기 전에는 파일 형태로 데이터 관리
    - 파일 형태의 가장 큰 문제점
    : 데이터를 업데이트하면 기존 버전의 데이터를 알 수 없음.

파일 시스템 | 네트워크 DBMS - 계층 DBMS | *관계 DBMS* - 객체 DBMS | 객체관계 DBMS | NoSQL DBMS - NewSQL DBMS 순으로 등장했으나, 현재까지 관계 DBMS가 많이 사용된다. 빅데이터 시대가 도래하면서 NoSQL이 많이 쓰이고, GPT 시대가 오면서 벡터 DB라는 것들이 널리 쓰인다.

데이터 모델

데이터를 어떻게 저장하고 관리하는지 방법 차이

  • 계층형 데이터 모델
    - 윈도우 파일 시스템의 디렉터리 구조 연상, 복잡한 구조 묘사 불가

    • 데이터를 트리 구조로 표현
      -> 각 레코드가 하나의 상위 레코드에 대한 하위 레코드 가짐
    • 상위 레코와 하위 레코드 간 부모-자식 관계 정의
      -> 주로 트리 구조로 표현된 조직도/파일 시스템과 같은 계층적인 데이터에 유용
  • 네트워크형 데이터 모델
    - 계층형 단점 보완 -> 자료간 연결(link)망(network) 형태로 자유롭게 연결하도록 개선 -> But 자료구조 변경 시 디스크에 저장된 데이터의 물리적 구조를 재구성해야하는 번거로움이..

    • 계층형과 유사하나, 각 레코드가 여러 부모 레코드를 가질 수 있음 == 부모와 자식 간 관계가 복잡!
    • 각 레코드 간 관계를 명시적으로 정의하며, 네트워크 형태의 그래프로 표현 -> 주로 복잡한 데이터 관계를 다루는 데 사용
  • 관계형 데이터 모델
    사용성이 뛰어남. 심플한데 속도가 빠르고 복잡한 구조를 나타낼 수 있어 대체불가.
    - 테이블 형태로 데이터 저장: 각 테이블은 레코드(행)와 필드(열)로 구성 -> 테이블 간 관계 정의 및 관리
    - 표 형태로 데이터 저장 & SQL(Structured Query Language)을 사용하여 데이터 조작
    - 가장 널리 사용하는 데이터 모델 / 관계형 데이터베이스 시스템(RDBMS)에서 지원

  • 객체 지향형 데이터 모델(Object Oriented Model)
    - 객체 그 자체를 저장
    - 현실 세계의 개체(Entity)와 그들 간의 상호 작용을 모델링한다. 클래스와 객체 개념을 기반으로 한다.
    - 데이터와 해당 동작을 함께 캡슐화하며, 객체 간의 관계를 강조한다. 소프트웨어 개발에서 객체 지향 프로그래밍 언어에서 주로 사용.
    - OO은 객체와 객체 간 관계를, 관계형은 테이블과 테이블 간 관계를 표현하는 데 차이.

관계형 데이터 베이스가 중요하게 활용된다. 이해하기 쉬운 2차원 표 형태로 데이터를 저장하면서 매우 복잡한 자료의 데이터를 정교하게 조합할 수 있어서. 백엔드에서 RDBMS를 이해하는 게 매우 중요하다.

profile
https://readyoun.tistory.com/

1개의 댓글

comment-user-thumbnail
2024년 10월 1일

No other offline game can compare to the charm of the Dino Game

답글 달기