공부해봅시당
[쉽게 배우자! DataBase] DataBase와 DBMS란 무엇일까 본문
DataBase란?
먼저, DataBase의 사전적 의미를 살펴보도록 하자.
- 체계적, 조직적으로 정리된 전자식 또는 기타 수단으로 개별적 접근이 가능한 독립된 제작물 데이터 또는 기타 소재의 수집문 - EU
- 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 조직화된 모음 - ORACLE
- 중복을 피해 정보를 일원화(一元化)하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는 데이터의 집합을 유지하는 것 - 네이버 공학사전
위 사전적 정의에서 잘 정의되어 있지만 이 단어를 처음 접하는 사람은 도통 무슨 말인지 이해하기 어려울 것이다.
따라서 쉽게 DataBase 정의를 이해해보고자 한다.
DataBase는 간단하게 말하면 '데이터'를 '효율적'으로 '저장'하는 것을 말한다.
그렇다면 우리는 DataBase를 이해하기 위해 '데이터'의 의미와 '효율적'이라는 것의 의미, '저장한다'는 것의 의미만 이해하면 된다.
지금부터 순서대로 그 의미들을 살펴보도록 하자!
'Data(자료)'란 무엇일까
데이터의 정의를 이해할 때 꼭 짚고 넘어가야 하는 것은 '정보'와의 차이점이다.
보통 데이터와 정보를 같은 의미로 생각하는 경우가 많은데 데이터와 정보는 엄연히 다른 의미로 쓰인다.
Data, 즉 자료는 가공되지 않은 상태의 날 것을 말하고,
Information, 즉 정보는 Data(자료)를 특정한 목적을 가지고 가공하여 의미를 부여한 것을 말한다.
따라서 데이터와 정보의 가장 큰 차이점은 그것 자체만으로 '의미가 있느냐 없느냐'이다.
예를 들어 데이터가 퍼즐 조각 하나, 하나의 낱개를 말한다면 정보는 퍼즐조각으로 맞춰진 그림인 것이다.
퍼즐 조각 하나만 있을 때는 의미가 없듯, 데이터는 자료로써 존재할 뿐 그 자체로써는 의미가 없는 것이다.
대신, 퍼즐 조각이 있어야 퍼즐을 맞출 수 있는 것처럼 데이터가 있어야 정보를 만들 수 있기 때문에 데이터와 정보는 서로 관계가 있다고 할 수 있다.
이때, 우리에게 필요한 것은 데이터가 아닌 정보이다.
하지만 정보를 얻기 위해서는 데이터가 필요하기 때문에 데이터를 모아서 저장할 필요가 있다.
하지만 데이터를 마구잡이로 저장한다면?
어질러진 책상에서 내가 원하는 책을 찾는 것이 어려운 것처럼, 원하는 데이터를 찾기도 어려울 것이다.
따라서 효율적으로 데이터를 정리할 수 있어야 하는 것이다.
효율적으로 데이터를 저장한다는 것의 의미
과거에는 데이터를 파일로 저장했기 때문에 데이터가 여러 군데 흩어져서 겹치는 경우들이 많이 생겼다.
같은 내용이 여러 군데 저장되어 있으면 용량을 많이 차지하게 되어 비효율적이다.
더해 데이터가 겹쳤는데 서로 일치하지 않을 경우도 발생할 수 있다.
이런 문제는 과거에 '파일 시스템'으로 데이터를 저장했기 때문에 생겨났다.
여기서 우리는 '파일 시스템'이 무엇인가를 알아야할 필요성이 있다.
데이터 베이스의 역사 : 파일 시스템이란?
파일 시스템은 파일, 즉 데이터의 모임을 저장 장치에 저장하고 사용하기 위한 일종의 규칙이나 체계를 뜻한다.
파일에 이름을 붙이고, 쉽게 파일에 접근할 수 있도록 배치를 신경 쓰기도 하면서 파일과 관련된 기능을 수행하는 시스템인 것이다.
파일 시스템은 기본적으로 Create, Save, Search, Delete의 기능을 수행한다.
영어 단어 뜻 그대로, 생성하고 저장하고 검색하고 삭제하는 기능을 수행하는 것이다.
위의 기능을 수행할 때 파일 시스템은 파일에 접근하게 된다.
큰 문제가 없을 것 같지만 파일 시스템은 데이터 관리 측면에서 큰 문제가 있다.
바로 '파일로 데이터를 저장'하기 때문에 생기는 문제이다
예를 들어 학교에서 학생의 정보를 저장하는 상황을 가정해보자
학교에서 학생의 정보를 저장할 때 학생 정보와 휴학생 정보를 관리하는 부서가 따로 있을 경우, 아래와 같이 파일이 생성된다
아래 사진을 보자
같은 학교 학생임에도 학생과 휴학생 파일에 따로 관리를 하고 있는 모습이다.
이때, 한 학생이 휴학을 했다고 가정해보자.
휴학생 관리는 휴학생 폴더에서 하기 때문에 학적상태를 제대로 변경할 수 있을 것이다.
하지만 휴학생관리 부서에서 학생정보 관리 부서에 이를 제대로 전달하지 못한다면?
학생정보 관리 부서에서는 여전히 재학생 처리가 되어있는 것이다!
그럼 학생관리 부서에서는 학생이 재학상태이기 때문에, 학생이 등록금을 납부하지 않는다면 학생에게 불이익을 가할 수도 있는 것이다!
문제는 이뿐만이 아니다.
위 파일의 양식을 살펴보자.
휴학생 관리 파일의 양식과 학생 관리 파일의 양식이 다른 것을 알 수 있다.
이처럼 하나의 정보가 다른 폴더에서 다르게 관리되고 있어 데이터가 중복되고 일치되지 않을 뿐만 아니라 다른 폴더에서 다른 형식으로 저장되기 때문에 데이터를 활용할 때도 각 형식에 따라 다르게 활용을 해야 할 것이다.
이러한 문제들을 정리한 것이 아래 내용이다
- 데이터 중복성(data redundancy)
- 같은 내용의 데이터가 여러 곳에 중복하여 저장되는 것
- 위의 예시처럼 학생정보 파일과 휴학생관리 파일에서 데이터가 중복되어 저장될 수 있음
- 데이터 불일치(data inconsistency)
- 중복으로 저장된 데이터들이 서로 일치하지 않는 것
- 위의 예시처럼 학생정보 파일과 휴학생관리 파일에서 데이터가 불일치할 수 있음
- 데이터 표준화(data standard)의 어려움
- 일정 규모 이상의 정보시스템을 개발하기 위해서는 많은 수의 개발자들이 협력하여 작업해야 함
- 하지만 위의 예시처럼 학생정보 파일과 휴학생관리 파일의 형식이 다르다면 표준화는 불가능함!
- 데이터 보안성(data security)의 결여
- 데이터가 저장되어 있는 파일은 위 예시처럼 Text 형식이나 우리가 흔히 아는 형식으로 저장됨
- 위의 예시처럼 저장되어 있다면 우리의 정보를 누군가 알고 싶을 때 아무런 문제없이 정보를 알아갈 수가 있음!
위의 문제점 이외에도 가장 중요한 문제점 2가지가 더 있다.
아래 그림으로 이해해보자
이 문제를 정리한 것이 아래 내용이다.
- 데이터 종속성(Data dependency)의 문제
- 데이터의 구조 변화에 따라 응용프로그램이 영향을 받음
- 프로그램의 개발과 유지보수를 어렵게 함
- 데이터 무결성(Data integrity)의 침해
- 저장된 데이터의 내용이 의도했던 데이터의 형식과 범위를 준수해야 함
- 하지만 그 책임이 프로그래머에게 있었음
위 문제들을 해결한 것을 바로 효율적으로 저장한다고 하는 것이다
여기서 우리는 데이터 베이스의 철학을 알 수 있다
데이터 베이스의 철학에 기반한 데이터베이스와 DBMS의 이해
데이터 베이스의 철학은 아래와 같다
- 파일 형태로 여기저기 흩어져 있는 데이터, 정보들을 하나로 모아 관리하는 것
- 응용프로그램들이 운영체제를 통해 시스템 자원을 이용하는 것처럼 모아놓은 데이터들을 관리하고 사용자(응용프로그램)와 데이터 사이에 인터페이스 역할을 할 수 있는 S/W를 만드는 것
이때, 데이터의 집합을 데이터베이스라고 하고
데이터를 관리하는 S/W를 데이터베이스 관리 시스템, 즉 DBMS(DataBase Management System)이라고 부르는 것이다
따라서 파일시스템의 문제점을 해결한 것이 DBMS이므로, DBMS의 특징을 쉽게 이해할 수 있을 것이다.
다음은 DBMS의 특징이다
- 데이터 독립성 지원
- 데이터베이스 내에 있는 데이터의 변화가 응용 시스템에 영향을 미치지 않도록 함
- 데이터 무결성 유지
- 데이터베이스 내에 저장될 데이터의 타입, 길이, 값의 범위 등에 대한 정보를 가지고 있음
- 이를 위반할 경우 처리를 거절함
- 데이터 중복성 및 불일치 최소화
- 데이터베이스 내에서만 데이터를 관리하기 때문에 중복성과 불일치를 최소화할 수 있음
- 데이터 표준화의 용이성
- 데이터베이스 관리자 즉, DBA(Database Administration)가 존재하여 데이터를 표준화시킴
- 참고로 데이터베이스 관리자는 시스템이 아니라 사람임, 즉 직업임
- 높은 데이터 보안성
- DBMS는 사용자 권한에 따라 데이터 접근을 제한할 수 있음
- 데이터 공유의 용이성
- 여러 사용자의 요구를 동시에 처리하고, 데이터 이용이 쉬움
최종 정리
1. 용어
1) 데이터 베이스란? 데이터를 효율적으로 저장하는 것!
2) DBMS란? DataBase Management System의 약자로, 파일시스템의 단점을 보완하기 위해 생김
2. 파일 시스템과 DBMS의 비교
여기까지 다 읽은 여러분 리스펙!!!!
더 궁금한 점이 있다면 더 찾아보세용 그럼 20000~~
오류에 대한 지적은 언제나 환영합니당!!
참고자료
오세종, 『데이터베이스 설계 및 구축(개정 2판)』, 생능출판(2018), p16-p21.
https://codedragon.tistory.com/3802
데이터베이스 - 파일 시스템(파일 처리 시스템), 파일시스템의 문제점
Database(데이터베이스: DB) 유용한 데이터의 집합(필요로 하는 데이터를 지속적으로 저장한 연관된 정보의 집합) 즉, 특정 주제의 데이터를 수집하여 그 데이터의 성격에 맞도록 잘 설계하여
codedragon.tistory.com
https://m.blog.naver.com/qbxlvnf11/221127762091
파일 시스템 vs 데이터베이스 시스템 장단점 비교
《 파일 시스템(File System) 》파일 시스템은 파일(데이터의 모임)을 저장 장치에 저장하고 사용하기 위...
blog.naver.com
https://fallingstar.tistory.com/43
파일 처리 시스템(File processing system)의 문제점 과 데이터베이스
이제 부터는 파일 처리 시스템의 단점과 비교하여 데이터베이스 시스템의 장점을 알아 보도록 함. 1. 데이터의 중복과 비 일관성 (Data redundancy and inconsistency) 서로 다른 프로그래머가 동일한 정보
fallingstar.tistory.com
https://www.tutorialcup.com/ko/dbms/file-processing-system.htm
파일 처리 시스템-파일 시스템-파일 처리의 단점
파일 처리 시스템-구분 기호로 구분 된 각 정보 필드가있는 파일 형식으로 저장된 레코드입니다. 파일 시스템의 단점은 무엇입니까?
www.tutorialcup.com
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=bestheroz&logNo=102148439
파일 처리 시스템의 문제점
데이터베이스는 이전에 데이터를 저장하기 위해서 사용했던 파일 처리 시스템에 다음과 같은 문제점이 제기...
blog.naver.com
https://coding-factory.tistory.com/215?category=990785
[DB기초] DBMS의 기능 및 DBMS가 필요한 이유
DBMS가 필요한 이유 DBMS란? 1. DBMS란 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어이다. 2. DBMS는 기존의 파일 시스템이 갖
coding-factory.tistory.com
[DBA] DBA 란, DBA 가 하는일 알아보기
DBA 란 Database Administration 해석하면 데이터베이스 관리 입니다. 데이터베이스에 관련된 모든 관리를 하는 직업군을 의미한다고 보시면 좋습니다. DBA 가 하는일 그럼 모든 관리에는 어떤것들이 속
mozi.tistory.com
https://www.youtube.com/watch?v=ev3bcx4yvow
https://www.youtube.com/watch?v=cUhTifJ803U
'STUDY > DATABASE' 카테고리의 다른 글
[DATABASE] SQLD 데이터 독립성에서부터 스키마 3계층까지 (2) | 2024.03.08 |
---|---|
[자습시간! DataBase] 트랜잭션에 대해 알아보자 (0) | 2021.07.28 |
[자습시간! DataBase] JDBC와 DBCP에 대해 알아보자 (0) | 2021.07.12 |
[자습시간! DataBase] InnoDB와 MyISAM을 알아보자 (0) | 2021.07.12 |
[쉽게 배우자! DataBase] 대표적인 3대 DB를 알아보자 (2) | 2021.07.05 |