그림으로 배우는 데이터베이스

프로그램을 위한 필수 지식, 데이터베이스

 

데이터라는 말이 보편적인 용어가 된지는 오래되었습니다. 프로그램을 위해서는 필수적으로 알아야 하는 지식이지만, 일상적으로도 데이터라는 말은 자주 사용됩니다. 데이터 분석이라는 분야가 떠오르면서 더 중요해지기도 하였습니다. 딥러닝과 AI 모델의 품질을 높이기 위해서도 양질의 데이터는 필수입니다.

데이터를 저장하는 곳을 ‘데이터베이스’라고 부릅니다. 흔히 데이터의 집합이라고 말합니다. 그리고, 이러한 데이터베이스가 많아지면 관리하는 시스템이 필요합니다. 이를 ‘데이터베이스 관리 시스템’이라고 합니다. 정확히는 분리되는 개념이지만 흔히 동일한 의미로 IT업계에서는 사용됩니다. 데이터베이스(Database, DB)와 데이터베이스 관리 시스템(Database Management System, DBMS)을 구분하여 이야기 하는 사람이 잘 없습니다. 여러가지 종류의 DB 중 하나를 선택하면 그에 대한 DBMS가 사실상 정해지기 때문니다.

수많은 데이터를 사람이 쉽게 인식하기 위해서는 정리가 필요합니다. 그 중 가장 보편적인 방식이 표 형태 일 것입니다. 이러한 표 형태를 기반으로 데이터를 관리하도록 한 방법이 관계형 데이터베이스 입니다. 초창기 IT시스템에 사용된 대부분의 데이터베이스는 관계형 데이터베이스 입니다. 관계형 데이터베이스에 대한 지식은 데이터를 저장하고, 조작하고, 관리하는데 가장 기본이 됩니다.

 


그림으로 배우는 데이터베이스
사카가미 코오다이 저/양성건 역 | 영진닷컴 | 2022년 07월 05일

 

우리가 사용하는 프로그램이나 앱은 사실 데이터를 일목요연하고 보여주는 도구입니다. 그 데이터는 프로그램이나 앱을 사용하는 사람이 필요한 정보를 쉽게 찾아볼 수 있도록 해야 합니다. 이런 요구사항을 반영하기 위해 데이터를 등록하고, 검색해서, 꺼내볼 수 있도록 하는 방법이 고안되었습니다. 데이터는 활용될 때 정보가 되고, 그 정보들이 모이면 지식이 됩니다.

데이터를 어느 한 곳에 정리해서 모아두면 언제든지 보고 싶은 정보를 빠르게 꺼내 볼 수 있고, 여러 가지의 사실을 분석하여 새로운 정보를 얻어 낼 수 있습니다.14쪽

이러한 데이터가 쌓이고 쌓이면 그 다음부턴 관리도 중요해집니다. 사용자가 필요한 시점에 빠르게 검색 되어야 합니다. 데이터의 정합성도 고려해야 합니다. 보안이 필요한 정보의 경우엔 암호화나 필요한 사람만 이용할 수 있도록 해야 합니다. 오류를 발견했을 때는 빠른 복구도 필요합니다. 이러한 모든 일련의 일들을 데이터베이스 관리 시스템이 한다고 보면 됩니다.

이 책은 데이터베이스와 데이터베이스 관리 시스템의 개념을 폭 넓게 배울 수 있는 입문서 입니다. 책 제목에서도 보이듯이 초보자들을 배려하여 많은 그림을 담고 있습니다. 데이터의 기초 개념부터 시작하여 데이터베이스 조작 언어(SQL), 데이터베이스 관리, 운용, 보안, 활용의 전반적인 내용을 다루고 있습니다. 데이터베이스에 관한 거의 모든 지식을 다룬다고 봐야 합니다.

초보자의 눈높이에 맞게 필요한 정보만을 가장 빠르게 익힐 수 있도록 했다고 봐야 합니다. 하지만, 꼭 필요한 정보는 놓치지 않도록 한 것 같습니다. 프로그래머의 입장에서 SQL에 대한 이해가 필수인데 부분을 한 챕터를 배정하여 길게 설명한 부분이 그렇습니다.

데이터베이스에 저장되는 데이터의 품질을 위해서 데이터 베이스 모델링도 중요합니다. 이러한 관점에서 데이터베이스 설계시 필요한 부분도 별도로 분류하였습니다. 데이터 타입 분류, 제약의 필요성, 중복방지, 데이터의 식별을 위한 키 설정 등에 대한 이유를 확인할 수 있습니다.

책의 본문에 나오는 이해하기 어려운 용어는 별도로 정리한 용어집을 제공합니다. 책을 한번 훑고 난 후 이러한 용어집에 설명된 용어에 대해 조금 더 깊이 파고 든다면 데이터베이서 전문가에 이르기도 빠를 것입니다.

세상은 더 빠르게 변하고 있습니다. IT시스템의 성능도 향상됩니다. 데이터 수집의 양도 이제는 한계가 없습니다. 클라우드를 통해 데이터를 수집하고 이렇게 수집된 데이터는 인공지능이라는 모델을 통해 프로그램이나 앱에 반영됩니다. 하지만, 이러한 과정에서의 기본에 대한 이해는 반드시 필요합니다. 데이터에 대한 정의, 데이터베이스에 대한 기본, 데이터베이스 관리 시스템의 이해를 빠르게 익히고 싶으신 분들이 보면 좋을 것 같습니다.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.