데이터베이스 기본 개념

kakasoo·2021년 8월 30일
0
post-thumbnail

배운 내용을 정리하고 있습니다.

여기서 설명하려는 내용

  • 데이터베이스의 필요성
  • 데이터베이스의 정의와 특성
  • 데이터와 데이터베이스

데이터베이스의 종류

데이터 저장 방식에 따라 계층적 구조, 네트워크 구조, 관계형 구조, 객체형 구조로 나뉜다.
그리고 이 구조에서 다시, 객체형 구조는 객체지향적 구조와 객체관계형 구조로 나뉜다.
위부터 차례대로 HDB, NDB, RDB, ODB ( OODB, ORDB )라고 불리는데,
현재로서는 RDB가 가장 완성도가 있고, 또한 시장을 점유한 상태라고 보면 될 것이다.
따라서 일반적으로 데이터베이스라는 말은 RDB를 가리키며,
우리가 사용하는 DBMS는 다 RDBMS 인 셈이다.

Q. RDB가 데이터베이스 중에서 가장 나은 형태인가?
복잡한 데이터 구조의 경우에는 ODB가 성능 상 나을 수도 있다고 하지만, 아직 시장에는 그 정도로 완성도 있는 ODB가 없는 듯 하다.
다만, 커뮤니티의 성장 폭이 크므로, 잃어버린 시간을 만회할 가능성도 있다고 한다.

아래 링크에게 이와 관련된 재밌는 내용을 확인할 수 있다.

What is an Object-Oriented Database?

데이터베이스의 정의

정의 : 특정 조직의 여러 사용자가 공유하여 사용할 수 있게 통합해서 저장, 운영하는 데이터의 집합.

  • 공유 데이터 : 특정 조직의 여러 사용자가 소유, 이용 가능한 공용 데이터
  • 통합 데이터 : 최소한의 중복과 통제 가능한 중복만 허용하는 데이터 ( 이후 계속 설명 )
  • 저장 데이터 : 컴퓨터가 접근할 수 있는 매체에 저장된 데이터
  • 운영 데이터 : 조직의 주요 기능을 수행하기 위해 지속적으로 꼭 필요한 데이터

위 네 가지의 특성을 이해하면 된다.

통합 데이터 : 정규화와 반정규화

데이터베이스라고 해서 모든 중복을 없앨 수는 없다.
중복을 최소화하기 위해서 정규화 과정을 거치긴 하지만, 효율을 위해 최소한의 중복은 필요하다.
반대로 데이터를 가져올 때는 정규화를 역으로 돌려 전체 데이터를 가져오게 하는데,
이 과정을 '반 정규화' 라고 한다.
반 정규화는 테이블 통합, 테이블 분할, 중복 테이블 추가, 중복 속성 추가 등이 있다.
반 정규화는 의도적으로 정규화 원칙을 위배하고 있는 셈이다.

데이터와 정보의 관계

  • 데이터 : 현실 세계에서 단순히 관찰되거나 측정하여 수집한 사실이나 값
  • 정보 : 의사 결정에 유용하게 활용할 수 있도록 데이터를 처리한 결과물
  • 정보 처리 : 데이터에서 정보를 추출하는 과정 또는 방법

정보 시스템과 데이터베이스

정보 시스템은 현실 세계의 데이터를 수집하여 정보 처리를 한 후 의사 결정자에게 제공한다.
이 때, 정보 시스템이 수집한 정보는 데이터베이스에 저장되어 사용된다.
정보 시스템은, 데이터베이스를 이용하여 정보를 처리하는 모든 종류를 의미하는 듯 하다.

데이터베이스의 특징

  • 실시간 접근성 : 사용자의 데이터 요구에 실시간으로 응답
  • 계속 변화 : 데이터의 계속적인 삽입, 삭제, 수정을 통해 현재의 정확한 데이터를 유지
  • 내용 기반 참조 : 데이터가 저장된 주소나 위치가 아닌 내용으로 참조
  • 동시 공유 : 서로 다른 데이터의 동시 사용 뿐만 아니라 같은 데이터의 동시 사용도 지원

데이터의 분류

  1. 정형 데이터 : 구조화된 데이터, 미리 정해진 구조에 따라 저장된 데이터
    • 엑셀이나 관계 데이터베이스의 테이블
  2. 반정형 데이터 : 구조에 따라 저장됐지만 데이터의 내용 안에 구조에 대한 설명이 함께 존재
    • 구조를 파악하기 위해서 별도의 파싱 과정이 필요
    • 보통 파일 형태로 저장
    • HTML, XML, JSON 형식의 문서, 웹 로그, 센서 데이터 등
  3. 비정형 데이터 : 정해진 구조가 없이 저장된 데이터
    • 소셜 데이터의 텍스트, 영상, 이미지, 워드, PDF 문서 등 멀티미디어 데이터. NOSQL 포함.
profile
자바스크립트를 좋아하는 "백엔드" 개발자

0개의 댓글