📖 데이터베이스 (Database) 정의

  • 데이터베이스는 공동의 목적을 지닌 다수의 사람이 공유하고 관리하는 데이터의 집합을 의미합니다. 일반적으로 컴퓨터 시스템에 저장되는 구조화된 정보 또는 조직화된 데이터의 모음입니다.

  • 데이터베이스(Database)는 체계적으로 구성된 데이터의 모임이며, 이러한 데이터는 일반적으로 컴퓨터 시스템을 통해 접근, 관리, 조작됩니다. 데이터베이스는 일반적으로 효율적인 데이터 저장, 검색 및 업데이트를 위해 설계되며, 데이터의 일관성, 무결성, 보안을 유지하기 위한 다양한 메커니즘을 포함합니다.



📖 데이터베이스를 접하는 경우

  • 우리는 현재 빅데이터 시대를 살고 있습니다. 지금 이 순간에도 수 많은 데이터가 쏟아져 나오고 있으며 국가나 기업들은 경쟁우위를 갖기 위해 의미 있는 데이터를 수집하고 정제합니다.

  • 공공기관에서 수집하는 교통 데이터를 통해서 버스와 열차의 현재 위치와 도착 예정 시간을 현재 확인할 수 있으며, 유튜브나 넷플릭스 등등 OTT 서비스 기업은 사용자들의 데이터를 분석해 맞춤형 콘텐츠를 제공하고 있습니다.



📖 데이터베이스 알아보기

📌 개념

  • 우선 데이터는 관찰 혹은 측정을 통해 얻을 수 있는 값이나 사실로 숫자, 문자, 그림, 소리 등 가공되지 않은 1차 자료입니다. 또한 데이터는 정형 데이터와 비정형 데이터 두 종류로 나누어 집니다.

정형 데이터 : 일정한 체계를 가지고 있는 데이터로 사용자가 쉽게 이해하고 시스템에 바로 적용할 수 있습니다. 이후 언급될 SQL 기반 관계형 데이터베이스에 사용되는 데이터입니다.

비정형 데이터 : 일정한 체계가 없는 데이터로 사진이나 비디오, 오디오 등이 여기에 해당합니다. 체계가 없기 때문에 검색이나 분석이 매우 어렵지만 정형 데이터에 비해 유연하다는 장점을 가지고 있습니다. 특정한 틀이 없는 NoSQL 데이터베이스에 사용됩니다.


📌 등장 배경

  • 1950년대 미국에서 군대를 효율적으로 관리하기 위해 데이터베이스가 등장하게 됩니다. 데이터베이스는 다수의 사람들이 공유하여 사용할 목적으로 데이터를 일정한 형식으로 구조화해 통합하고 관리하는 데이터의 집합입니다. 데이터의 관리 효율을 높이기 우해서 중복을 제거하고 구조화한 것입니다.

  • 여기서 데이터의 구조화란 단순한 측정값에 불과한 데이터를 목저게 맞게 속성별로 정리하는 것을 말합니다.


📌 구조화되어 있지 않은 데이터

  • 저희 가족을 예시로 들어보겠습니다. 저는 외동으로 가족 구성원이 엄마, 아빠, 저까지 3명입니다. 엄마는 나이가 50살이고 키가 155cm입니다. 아빠는 나이가 55살, 키가 170cm입니다. 저는 나이가 25살이고 키가 174cm입니다.
구성원나이
엄마155cm50살
아빠170cm55살
174cm25살
  • 위의 표는 구조화되지 않았던 저의 가족 데이터를 표 형식으로 구조화한 것입니다. 이렇게 흩어져 있던 데이터들을 엑셀 같은 프로그램을 활용해 표로 구조화하면 체계적으로 분류하고 보관이 가능하게 됩니다. 특히 데이터베이스 안의 데이터들은 다음과 같은 특징을 갖습니다.

공유 데이터 (Shared data) : 개인이 아닌 공동으로 사용하기 위해 저장된 데이터입니다.
통합 데이터 (Integrated data) : 흩어져 있는 데이터의 중복은 관리가 어려워 중복을 허용하지 않습니다. 따라서 중복을 최소화하여 중복으로 발생할 수 있는 불일치 현상을 제거해야 합니다.
저장 데이터 (Stored data) : USB와 같이 컴퓨터가 접근 가능한 매개체에 저장해야 합니다.
운영 데이터 (Operational data) : 조직의 목적을 달성하기 위해 사용되는 데이터입니다.

  • 데이터베이스 관리 시스템(DBMS)은 사용자가 데이터 베이스를 효율적으로 관리하기 위한 소프트웨어로 데이터의 생성, 조회, 수정, 삭제 기능을 제공합니다. 그리고 이 개념은 우리가 CRUD로 부르는 것들 입니다. 또한 데이터베이스 관리 시스템을 크게 관계형 데이터베이스 관리 시스템 (RBDMS, Relational Database Management System)과 비관계형 데이터 베이스 관리 시스템(Non-RDBMS, Non-Relational Database Management System)로 구분이 가능합니다.

📌 관계형 데이터베이스 관리 시스템

  • 정형화된 데이터를 분석하기 위해 테이블로 데이터를 표현하는 소프트웨어로 SQL 시스템이라고도 합니다.

  • 하나의 고성능 컴퓨터에 데이터를 저장하며, SQL 언어를 사용합니다. 현재 사용되는 대부분의 데이터베이스는 관계형 데이터베이스 모델을 기반으로 하며, 잘 알려진 데이터베이스 관리 시스템으로는 MySQL, Oracel 등등이 존재합니다.

📌 특징

무결성 (Intrgrity) : 중복 데이터가 서로 다른 값을 가지고 있다면 실제 값으로 반영하여 데이터를 정확하게 유지해야 합니다.
일관성(Consistency) : 모든 데이터가 일정한 형식을 갖춰 일관성을 갖습니다.
경제성(economic efficiency) : 데이터의 중복을 제거해 기억 공간이 절약됩니다.
보안성 (Security) : 데이터를 암호화하여 보호가 가능합니다.

profile
나 혼자 보려고 만든 개발 일기

0개의 댓글