[iOS] 데이터베이스/데이터베이스 관리 시스템(DBMS)

mmim·2022년 6월 16일
0
post-thumbnail

💬 데이터베이스는 많이 듣는 단어이지만... 이것에 대해서 대충 "저장소"정도로 알고 넘어갔던 것 같다.😭 자세히 알아보는 시간을 갖자.

데이터베이스(DB)

데이터베이스의 개념

데이터베이스(영어: database, DB)는 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합이다.

DB: 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합

특징

1️⃣ 실시간 접근성
2️⃣ 지속적인 변화
3️⃣ 동시 공유
4️⃣ 내용에 대한 참조
5️⃣ 데이터 논리적 독립성

장점

1️⃣ 데이터 중복 최소화
2️⃣ 데이터 공유
3️⃣ 일관성, 무결성, 보안성 유지
4️⃣ 최신의 데이터 유지
5️⃣ 데이터의 표준화 가능
6️⃣ 데이터의 논리적, 물리적 독립성
7️⃣ 용이한 데이터 접근
8️⃣ 데이터 저장 공간 절약

단점

1️⃣ 데이터베이스 전문가 필요
2️⃣ 많은 비용 부담
3️⃣ 데이터 백업과 복구가 어려움
4️⃣ 시스템의 복잡함
5️⃣ 대용량 디스크로 엑세스가 집중되면 과부하 발생

대표적인 데이터베이스

  • 계층형:
    -데이터 관계를 트리 형태로 정의하는 구조
    -데이터 중복 문제가 생김
  • 네트워크형 :
    -데이터 관계를 그물 형태로 정의하는 구조
    -계층형의 데이터 중복 문제는 해결
    -하지만 복잡한 구조탓에 추후 구조 변경 시 비용이 많이듬
  • 관계형(SQL):
    -행과 열로 구성된 테이블간의 관계를 나타내는 구조로 흔히 사용하는 DB 형태
    -SQL(Structured Query Language)을 사용하여 데이터 관리 및 접근
  • NoSQL:
    -관계형 DB보다 덜 제한적인 일관성 모델을 이용하여 키와 값 형태로 저장되고 키로 DB를 관리 및 접근

데이터베이스 관리 시스템(DBMS)

  • 데이터베이스를 조작하는 별도의 소프트웨어
  • DBMS를 통해 데이터베이스를 관리하여 응용 프로그램들이 데이터베이스를 공유하고, 사용할 수 있는 환경을 제공
  • 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공
  • 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스를 제공
  • 장애에 대한 복구 기능, 사용자 권한에 따른 보안성 유지 기능 등을 제공

데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서, 자료의 중복성을 제거하고 다른 특징들 중에 무결성, 일관성, 유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계

DBMS 기능

  • 정의 :
    데이터에 대한 형식, 구조, 제약조건들을 명세하는 기능
    데이터베이스에 대한 정의 및 설명은 카탈로그나 사전의 형태로 저장
  • 구축 :
    DBMS가 관리하는 기억 장치에 데이터를 저장하는 기능
  • 조작 :
    특정한 데이터를 검색하기 위한 질의, 데이터베이스의 갱신, 보고서 생성 기능 등을 포함
  • 공유 :
    여러 사용자와 프로그램이 데이터베이스에 동시에 접근하도록 하는 기능
  • 보호 :
    하드웨어나 소프트웨어의 오동작 또는 권한이 없는 악의적인 접근으로부터 시스템을 보호
  • 유지보수 :
    시간이 지남에 따라 변화하는 요구사항을 반영할 수 있도록 하는 기능

DBMS 유형

  • 관계형 데이터베이스 관리 시스템(RDBMS)
  • NoSQL DBMS
  • 인 메모리 데이터베이스 관리 시스템(IMDBMS)
  • 기둥형 데이터베이스 관리 시스템(CDBMS)

DBMS 종류

참고
:https://m.blog.naver.com/sundooedu/221301384166
:https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4
:https://ko.wikipedia.org/wiki/%EA%B4%80%EA%B3%84%ED%98%95_%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4

profile
예비 iOS 개발자의 기록

0개의 댓글