[정리] Database 와 DBMS

shininghyunho·2021년 5월 28일
0

CS

목록 보기
6/8

Database를 쓰게된 이유

데이터 베이스가 뭔지 알아보기 전에 예전에는 어떻게 사용했는지 알아보자.

예전에는 어플리케이션 데이터를 읽어오기 위해서 파일 시스템을 사용했다.
말 그대로 텍스트 파일같은 곳에 저장해놓고 읽고 수정하는 것이다.
이러한 파일 시스템 방식은 5가지 문제점이 있었다.(딱봐도 문제가 있다.)

  1. 무결성(Integrity) 문제

    무결성은 데이터가 얼마나 올바른지에 대한 이야기다. 내가 데이터를 올바르게 써놨는데 그게 내 의지와는 상관없이 무엇인가(또는 누군가)에 의해 일관성이 깨지는것이다.

    파일 시스템은 수정하는 제약이 없어 내용의 무결성이 쉽게 깨질 수 있다.

  2. 데이터에 종속되는 프로그램

    파일 시스템에서는 여러 프로그램이 같은 데이터를 사용한다면, 프로그램은 모두 데이터 파일의 위치와 내부 형식에 맞게 설정해줘야한다. 데이터에 새로운 항목이 추가되거나 삭제되면 이와 관련된 모든 프로그램을 수정해야만 한다.

  3. 동시 접근성

    파일 시스템에서는 같은 데이터에 대해 동시 접근이 허용되지 않는다.

  4. 보안

    데이터 파일은 파일이니 접근 권한에 대한 설정이 가능한데, 데이터 베이스는 DBMS를 통해 더 더양하고 편리한 보안 기능을 제공한다. (구체적으로 어떤?)

  5. 장애 복구

    파일 시스템은 데이터 파일을 변경하다 장애가 발생하면 어디까지 진행하다 사고가 났는지 알 수가 없다. 복구하려면 다른 프로그램이 알아서 처리해줘야한다.

Database

데이터 베이스는 위와 같은 파일 시스템의 문제점을 해결해주기 위해 등장하였다.
하지만 위에 설명은 DBMS에 의한 기능이지 database 자체 기능은 아니다.
database 자체 기능은 다음과 같다.

  1. 실시간 접근성
    프로그램이 원할때 적절한 Query에 대한 실시간 처리와 응답이 가능하다.

  2. 계속적인 변화
    데이터베이스 상태는 동적이어서 삽입, 삭제, 갱신으로 항상 최신의 데이터를 유지한다.

  3. 동시 공용
    목적이 다른 서로 다른 사용자들이 동시다발적으로 같은 데이터를 이용 할 수 있다.

  4. 내용에 의한 참조
    데이터를 참조할때 데이터의 주소나 위치가 아니라 데이터 내용으로 데이터를 참조 할 수 있다.

DMBS

dbms는 사용자와 db사이에서 사용자의 요구에 따라 정보를 생성해주고 db를 관리해주는 소프트웨어다.

  1. 데이터의 무결성
    데이터의 유효성 검사를 실시해 데이터가 항상 무결한지 체크한다. 그래서 조건에 맞지 않게 삽입할수도 수정할수도 없다.

    구체적인 무결성 종류와 설명으로는 다음과 같다.

  • 개체 무결성 - 기본키가 존재
  • 참조 무결성 - 외래키 데이터가 존재
  • 키 무결성 - 중복된 키 안됨
  • 도메인 무결성 - 허용된 범위값만 입력가능
  • 사용자 정의 무결성 - 데이터가 업무적 규칙을 따라야함
  1. 데이터의 독립성
    데이터베이스에서는 데이터와 그 데이터를 사용하는 프로그램과는 완전 독립하다. 그래서 데이터베이스에 데이터를 수정하더라도 응용 프로그램은 수정할 필요가 없다.

  2. 동시 사용 가능
    데이터베이스는 여러 사용자가 동시에 접근하여도 문제가 생기지 않게끔 처리해준다.

  3. 보안성
    DBMS의 기능을 이용하여 엄격한 보안기능 덕분에

    • 인증된 사용자가 허용된 범위에서만 접근이 가능하고
    • 간접적으로 노출된 데이터를 통해 다른 데이터를 추론하지 못하고
    • 데이터의 흐름을 꼼꼼하게 기록해준다.
  4. 장애 복구
    데이터베이스는 트랜잭션을 이용하여 데이터를 처리한다. 그래서 트랜잭션 안에서 발생한 장애는 쉽게 복구가 가능하다.

참고

코딩 팩토리
[azurecourse](https://azurecourse.tistory.com/556
0ver-grow

profile
shining itself

0개의 댓글

관련 채용 정보