TIL. 데이터베이스의 구성요소, 구조

hyuko·2022년 10월 25일
0

🔥개체 (entity)

  • 내가 표현하고 싶은 주체를 개체 entity라고 하고
    그 개체에는 각각의 개체 타입이 있고, 각 개체 하나하나를 개체 인스턴스라고 하며, 그 개체들의 집군을 개체 집합이라 한다.

🔥관계(relationship)

  • 속성 관계(attribute relationship)
    • 개체 내(intra-entity) 관계: 특성(properties)
  • 개체 관계(entity relationship)
    • 개체 간(inter-entity) 관계

🔥Database의 구조

  • 논리적 구조(logical organization)
    • 사용자의 관점에서 본 데이터의 개념적 구조
    • 데이터의 논리적 배치(logical allocation)
    • 논리적 레코드(logical record)

  • 물리적 구조(physical organization)
    • 저장 관점에서 본 데이터의 물리적 배치(physical allocation)
    • 저장장치에 저장된 데이터의 실제 구조(actual structure)
    • 추가 정보를 포함
      • 인덱스, 포인터 체인, 오버플로 구역 등
    • 저장 레코드 (stored record)

데이터 베이스 관리 시스템 등장배경

파일 시스템(file system)

  • 데이터를 파일로 관리하기 위해 파일을 생성, 삭제, 수정, 검색하는 기능을 제공하는 소프트웨어
  • 응용 프로그램마다 필요한 데이터를 별도의 파일로 관리함

    파일 시스템의 문제점

  • 같은 내용의 데이터가 여러 파일에 중복 저장된다.
  • 응용 프로그램이 데이터 파일에 종속적이다.
  • 데이터 파일에 대한 동시 공유, 보안, 회복 기능이 부족하다
  • 응용 프로그램 개발이 쉽지 않다.
    ★ 파일 시스템의 주요 문제점
    • 같은 내용의 데이터가 여러 파일에 중복 저장된다
      • 저장 공간의 낭비는 물론 데이터 일관성과 데이터 무결성을 유지하기 어려움
      • 종속성 문제!

데이터베이스 관리 시스템

  • DBMS(DataBase Management System)

  • 파일 시스템의 문제를 해결하기 위해 제시된 소프트웨어

  • 조직에 필요한 데이터를 데이터베이스에 통합하여 저장하고 관리

    데이터 베이스 관리 시스템의 주요 기능

  1. 정의 기능 : 데이터베이스 구조를 정의 하거나 수정할 수 있다.
  2. 조작 기능 : 데이터를 삽입, 수정, 삭제, 검색하는 연산을 할 수 있다.
  3. 제어 기능 : 데이터를 항상 정확하고 안전하게 유지할 수 있다.

데이터베이스의 장점 및 단점

  • 장점
    • 데이터 중복을 통제할 수 있다.
    • 데이터 독립성이 확보된다.
    • 데이터를 동시 공유할 수 있다.
    • 데이터 보안이 향상된다.
    • 데이터 무결성을 유지할 수 있다.
    • 표준화할 수 있다.
    • 장애 발생 시 회복이 가능하다.
    • 응용 프로그램 개발 비용이 줄어든다.

  • 단점
    • 비용이 많이 든다
    • 백업과 회복 방법이 복잡하다.
    • 중앙 집중 관리로 인한 취약점이 존재한다.

데이터 베이스의 발전

  • 1세대: 네트워크 DBMS, 계층 DBMS
    • 네트워크 DBMS: 데이터베이스를 그래프 형태로 구성
      • IDS(Intergrated Data Store)
    • 계층 DBMS: 데이터베이스를 트리 형태로 구성
      - IMS(Information Management System)

  • 2세대: 관계 DBMS
    • 관계 DBMS: 데이터베이스를 테이블 형태로 구성
      - 예) 오라클(Oracle), MS SQL 서버, 액세스(Access), 인포믹스(Informix), MySQL

  • 3세대: 객체지향 DBMS, 객체관계 DBMS
    • 객체지향 DBMS: 객체를 이용해 데이터베이스를 구성
      • 예) 오투(O2), 온투스(ONTOS), 젬스톤(GemStone)
    • 객체관계 DBMS: 객체 DBMS + 관계 DBMS

profile
백엔드 개발자 준비중

0개의 댓글