본문 바로가기

데이터 분석

데이터 분석 2단계: 준비 (Preparation) - DB, 데이터베이스

출처: 파워포인트 기본 Stock Image

데이터베이스(DB, Database)란?

데이터를 준비하기 전에 데이터를 담고 있는 데이터베이스가 무엇인지 알아보자. 네이버 검색을 통해 나온 두산백과에서 정의하고 있는 데이터베이스란 아래와 같다. 

 

여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 자료항목의
중복을 없애고 자료를 구조화하여 저장함으로써 자료의 검색과 갱신의 효율을 높인다. 현대적인 의미의 데이터베이스 개념을 확립한 사람은 당시 제너럴일렉트릭(GE)에 있던 C. 바크만으로 그는 1963년 IDS(Integrated Data Store)라는 데이터베이스 관리 시스템을 만들었다.

 

다시 말해서, 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것이 데이터베이스(DB, Database)이다. , 1. 하나 이상의 자료의 ‘모음이고 2.  자료를 구조화하여 상관 관계를  명확하게 확인할  있으며, 3. 유지보수가 쉽게 되어 있는게 데이터베이스이다

 

데이터 베이스의 특징

  • 실시간 접근성(Real-time Accessibility): 임의적이고 비정형적인 질의(Query)에 대해 실시간 처리/응답한다.
  • 계속적인 변화(Continuous Evolution): 갱신삽입삭제 등에 의해 지속 변화한다.
  • 동시공유(Concurrent Sharing): 여러 사용자가 동시에 사용 가능하다.
  • 내용에 의한 참조(Content Reference): 데이터의 위치나 주소가 아닌 내용(값) 의해 참조된다.

 

데이터베이스의 구성

하나 이상의 자료로 이루어져 있는게 대부분의 데이터베이스이다데이터 베이스 안에 있는  자료의 집합을 데이터 테이블(Data Table)이라고 한다그리고 데이터 테이블 안에는 여러가지 속성(Attribute) 또는 필드(Field) 또는 변수(Variable) 있고 속성들의 개별값을 튜플(Tuple) 또는 레코드(Record) 또는 Observation이라고 한다

 

데이터사이언스 관련 자료를 찾다보면 영어로된 용어가 필요할 때가 있다. Variable/ Observation이 익숙해 위와 같이 만들었다.

 그러면 그런 데이터베이스 안에 있는 자료들 간의 상관관계데이터 테이블 간의 관계는 어떻게 명확하게 보여줄  있을까

 

관계적 데이터베이스(Relational Database)

 

 관계적 데이터 베이스를 위해서 우리는 Prime Key Foreign Key 이해해야 한다

 

  • 기본키 (Prime Key): 변하지 않는 유니크한 값이며프라임  값을 중심으로 다른 항목의 값들이 존재한다고 보면 된다여러 데이터 테이블 중에서 프라임 키가  항목을 정했다면 프라임 키는 어느 데이터 테이블에서든 변하지 않는다
  • 외래키(Foreign Key):  기본키가 다른 테이블에서는 외래키가 된다 테이블에서는 기본키가 1개이며, 2개는   없다하지만 외래키는 여러개여도 상관없다다른 테이블들과 관계가 많은 테이블일 수록 외래키가 많다

 

어차피 데이터분석 업무를 하는 사람이라면대부분 데이터베이스 구축을 직접하지는 않는다직급이 올라가거나회사를 소유하게 되었을 때는 데이터베이스 구축에 관여할 수도 있지만 말이다. (작은 규모의 회사, 스타트업은 제외) 보통 데이터베이스 구축과 연관이있는 직종은 데이터 엔지니어, 데이터웨어하수으 스페셜리스트비즈니스 인텔리전스 애널리틱스 등이다 다듬어진정규화된 (Normalized) 데이터가 구축되어 있고, 유지보수가 잘 되었다면데이터 분석업무가 한결 수월할 것이다

 

데이터베이스에 대한 설명 - 스키마(Schema)

 

데이터베이스가 구축된 후에는 구축된 데이터베이스에 대한 설명이 필요하다 회사마다 데이터베이스를 기술하는 방법이 상이할  있는데데이터 베이스의 구조를 전반적으로 기술한 것을 ‘스키마(Schema)’ 라고 한다스키마에는 기본적으로 어떤 테이블들이 해당 데이터베이스에 있는지 테이블에는 어떤 속성/필드가 있는지 설명되어 있다앞서 회사마다 스키마가 상이하다고 했지만크게 Star Schema, Snowflake Schema 2가지 방법에서 벗어나지 않는다. 2 방법에 대해  구체적으로 알고 싶다면 아래 링크를 참조하자.  

(https://www.guru99.com/star-snowflake-data-warehousing.html)

 

나중에 Query 작성하여 원하는 데이터를 뽑아낼 데이터베이스 스키마가 있어야 효율적으로 작업할  있다다른 글인 ‘R’에서 설명하였듯이데이터 분석을 위해서는 기본적으로 SQL 다룰  알아야 한다전문가처럼 다룰 필요는 없지만기초 수준의 지식을 가지고 있다가필요할 때마다  검색을 통해 부가 /고급 기능을 찾아내   있는 정도만 되면 된다

 

SQL 코딩하는 방법 (SQL 코드를 Query라고 한다.) 추후에 다른 카테고리의 글을 통해서 설명하도록 하겠다