Database

Database. 1일차 - DB의 개념과 역사, 데이터모델

머용? 2024. 1. 24. 18:28

데이터베이스(Datebase - DB)

: 데이터를 저장하는 창고.

  • 효율적인 데이터 관리

  • 데이터를 통합하여 관리

  • 데이터 누락 및 중복 방지

    • DBMS 특징 (ACID)
      • 데이터 독립성 : 물리적, 논리적 독립성
      • 데이터 무결성 : 데이터의 유효성 검사를 통해 데이터 무결성을 구현
      • 데이터 보안성 : 계정관리, 권한 설정
      • 데이터 일관성 : 데이터의 불일치성을 배제
  • 여러 사용자가 실시간으로 데이터 사용이 가능

  • DB가 있기전에는 파일 형태로 데이터를 관리
    : 파일 형태의 가장 큰 문제점은 데이터를 업데이트 하면 기존 버전의 데이터를 알 수 없다는 것

DB의 역사

: 1963년 SDC(System Development Corporation)에서 개최한 세미나에서 처음 등장

  • 시작 : 1960년 이전에는 파일 시스템
  • 1세대 : 네트워크 DBMS -> 계층 DBMS
  • 2세대 : 관계 DBMS
  • 3세대 : 객체 DBMS -> 객체관계 DBMS
  • 4세대 : NoSQL DBMS -> NewSQL DBMS

관계 DBMS가 견고히 자리잡고 있고 많이사용됨.
빅데이터 시대에 들어와서는 NoSQL이 자주 사용되고 있고, GPT 시대에 와서는 벡터 DBMS가 퍼지고 있는 추세이다.





데이터 모델

: 데이터를 어떻게 저장하고 관리할지에 대한 방법의 차이

  • 계층형 데이터 모델 : 윈도우 파일 시스템의 디렉터리 구조를 연상하면 된다. 정보를 디렉터리 형태로 분류하기 때문에 복잡한 구조를 묘사할 수 없다는 단점이 있다.

    • 구조 : 데이터를 트리 구조로 표현하며, 각 레코드는 하나의 상위 레코드에 대한 하위 레코드를 가질 수 있다.
    • 특징 : 상위 레코드와 하위 레코드 간의 부모-자식 관계가 정의되어 있다. 주로 트리 구조로 표현되는 조직도나 파일시스템과 같은 계층적인 데이터에 유용하다.
  • 네트워크형 데이터 모델 : 계층형 데이터베이스의 단점을 보완하기 위해 자료간 연결(link)을 망(network) 형태로 자유롭게 연결할 수 있도록 개선했다. 그러나 자료구조 변경시 디스크에 저장된 데이터의 물리적 구조를 재구성 해야하는 번거로움이 존재한다.

    • 구조 : 계층형 데이터 모델과 유사하지만, 각 레코드는 여러 부모 레코드를 가질 수 있다. 부모와 자식간의 관계가 복잡하다.
    • 특징 : 각 레코드 간의 관계를 명시적으로 정의하며, 네트워크 형태의 그래프로 표현된다. 주로 복잡한 관계의 데이터를 다루는데 사용된다.
  • 관계형 데이터 모델 :

    • 구조 : 테이블 형태로 데이터를 저장하며, 각 테이블은 레코드(행)과 필드(열)로 구성된다. 테이블 간의 관계를 정의하여 데이터를 관리한다.
    • 특징 : 표 형태로 데이터를 저장하고, SQL(Structured Query Language)을 사용하여 데이터를 조작한다. 가장 널리 사용되는 모델 중 하나이며, 관계형 데이터베이스 시스템(RDBMS)에서 지원된다.
  • 객체 지향형 데이터 모델 :

    • 구조 : 현실 세계의 개체(Entity)와 그들 간의 상호작용을 모델링한다. 클래스와 객체의 개념을 기반으로 한다.
    • 특징 : 데이터와 해당 동작을 함께 캡슐화하며, 객체 간의 관계를 강조한다. 소프트웨어 개발에서 객체 지향 프로그래밍 언어에서 주로 사용된다.

현재까지도 관계형 데이터 베이스가 중요하게 활용되는 이유는 사람들이 이해하기 쉬운 2차원 표 형태로 데이터를 저장하면서도, 매우 복잡한 자료의 데이터를 정교하게 조합할 수 있기 때문이다.