데이터베이스, 디비라는 용어를 현업에서 많이 듣는데 정확한 개념이 모호했고 이번 학습을 통해 간단하게 개념 정리를 하도록 합니다. 😶
데이터
어떤 특징을 나타낼 수 있는 값과 그 값의 설명을 의미합니다.
데이터베이스
데이터들의 집합을 의미합니다.
데이터베이스 매니지먼트 시스템 (DBMS)
데이터베이스에 저장된 데이터의 구성, 저장, 관리를 위한 소프트웨어 패키지를 의미합니다. 우리가 개발할 때 이야기하는 디비라는 용어를 정확하게 말하면 DBMS라고 합니다.
데이터베이스 시스템
정보를 데이터베이스에 저장하고 관리해서 사용자에게 맞는 정보를 제공하는 시스템을 의미합니다.
DBMS가 나오기 이전에 컴퓨터에서 정보를 기록하고 관리하는 수단은 오로지 파일 처리 시스템으로만 이루어졌다고 합니다.
수강 업무는 수강 파일 데이터만, 성적 업무는 성적 파일 데이터만, 학적 업무는 학적 파일의 데이터만 관여합니다.
언뜻보면 깔끔해보이지만, 이런 심플한 구조로 데이터를 주고 받으며 생기는 문제점은 크게 4가지가 있습니다.
그렇다면 DBMS을 도입하고부터 어떻게 바뀌었을까?
업무을 실행하는 어플리케이션이 직접 데이터에 접근하는 것이 아니라, DBMS라는 매니저를 통해 일을 하게 됩니다. 이 유능한 매니저를 통하기 때문에 어플리케이션은 날 것의 데이터를 조금 더 개념적인 의미로 해석할 수 있습니다.
이전의 데이터 방식이 단순히 숫자 12만을 의미했다면 DBMS를 도입하고부터는 12에 '일'이라는 의미가 부여되면서 '12일'이라는 메타데이터를 갖게 되고 우리는 아, 숫자 12는 달력 날짜의 12일을 의미하는구나로 알게 됩니다.
DBMS는 A가 데이터를 처리하는 동안 다른 B, C 사용자가 같은 데이터에 접근할 수 없도록 막아줍니다. 이를 트랜잭션이라고도 합니다.
크게 외부 단계, 개념 단계 내부 단계로 나뉘어져 있습니다.
내부 단계는 각각의 데이터가 어떤 저장 장치에 저장되어 있는지를 표현하고,
개념 단계는 전체 데이터 구조를 파악하는 역할을 하며,
외부 단계는 필요한 데이터를 추출해서 뷰에 보여주는 역할을 하는 단계입니다.
DBMS는 앞서 말했듯 어플리케이션과 데이터의 중간에 껴서 데이터를 사용자에게 효율적으로 전달하는 역할을 합니다. 따라서 사용자는 데이터베이스, 즉 데이터를 쉽게 다룰 수 있도록 DBMS에 요청하기 위한 언어를 알아야 합니다.