[ADsP] 1-1 데이터의 이해
<데이터(Data)의 정의 및 유형>
데이터의 정의
- 관념적이고 추상적이었던 개념에서 점차 기술적이고 사실적인 의미로 변화하고 있다.
- 옥스퍼드 대사전에서는 데이터를 '추론과 추정의 근거를 이루는 사실'로 정의하고 있으며, 이는 데이터를 단순한 객체로서의 가치뿐만 아니라 상호관계 속에서 가치를 갖는 것으로 설명한 것이다.
- 데이터는 '객관적 사실'이라는 존재적 특성을 갖는 동시에 '추론, 예측, 전망, 추정을 위한 근거'로 기능하는 당위적 특성도 갖는다.
데이터의 유형
데이터는 형태에 따라 크게 정성적 데이터와 정량적 데이터로 구분할 수 있다.
- 정성적 데이터(Qualitative Data): 자료의 성질과 특징을 자세히 풀어 쓰는 방식으로, 데이터의 형태와 형식이 명확하지 않아 활용할 때 상대적으로 많은 비용과 기술적 투자가 필요함
- 정량적 에티어(Quantitative Data): 수치로 명확하게 표현되는 데이터로, 데이터의 양이 증가하더라도 데이터 관리 시스템(DBMS 등)을 통해 저장, 검색, 분석 등의 활용이 편리함
데이터 유형 비교
구분 | 정성적 데이터 | 정량적 데이터 |
형태 | 언어, 문자 등 | 수치, 도형, 기호 등 |
특징 | 비정형 데이터로, 데이터 활용을 위한 저장/검색/분석 등에 많은 비용과 투자가 필요함 | 정형화된 데이터로, 정성적 데이터에 비해 적은 비용이 사용되고 시스템을 통해 데이터 활용이 용이함 |
예 | 설문조사의 주관식 응답, SNS에 올린 글, 기상 특보 등 | 지역별 온도, 풍속, 강수량 등 |
< 암묵지와 형식지>
암묵지와 형식지
- 가장 널리 알려진 지식의 차원은 폴라니(Polanyi)의 '암묵지와 형식지'이다.
암묵지와 형식지의 특징
구분 | 암묵지 | 형식지 |
개요 | - 학습과 체험을 통해 개인에게 습득되어 있지만, 겉으로 드러나지 않은 지식 - 시행착오와 오랜 경험을 통해 개인에게 습득된 무형의 지식 |
- 구체적이거나 문서화된 지식 - 공식적이고 체계적인 언어로 전달 가능한 지식 |
특징 | - 많은 조직이나 직업이 암묵적인 지식과 노하우에 의존하고 있어 사회적으로 중요하지만, 개인에게 체화되어 있어 공유되기 어려움 - 개인의 관심사나 상황 중심적인 지식이므로 공식화하기 어려움 - 관찰, 모방, 현장 작업과 같은 경험을 통해 획득할 수 있는 지식 |
- 체계적으로 정리되어 있어 전달 및 공유가 용이함 - 책, 설계도 등 체계화된 재료 등을 통해 획득할 수 있는 지식 |
예 | 김장김치 담그기, 자전거 타기 등 | 교과서, 메뉴얼, 비디오, DB 등 |
암묵지와 형식지의 상호작용
- 지식 경영은 개인의 암묵지와 집단의 형식지가 상호작용하며 '생성 -> 발전 -> 전환'되는 지식의 발전을 기반으로 한 기업의 경영을 의미한다.
- 암묵지와 형식지는 '공통화 -> 표출화 -> 연결화 -> 내면화'라는 4단계의 지식을 순서대로 전환하고 회전한다.
암묵지와 형식지의 4단계 지식 전환 모드
단계 | 의미 |
1단계: 공통화 (암묵지 - 암묵지) |
암묵적 지식(암묵지)을 다른 사람에게 알려주는 것(암묵지) |
2단계: 표출화 (암묵지 - 형식지) |
암묵적 지식(암묵지)을 책이나 교본(형식지)로 만드는 것 |
3단계: 연결화 (형식지 - 형식지) |
책이나 교본(형식지)에 자신이 알고 있는 새로운 지식(형식지)을 추가하는 것 |
4단계: 내면화 (형식지 - 암묵지) |
만들어진 책이나 교본(형식지)을 보고 다른 직원들이 암묵적 지식(노하우)을 습득하는 것 |
** 4단계 지식 전환 모드의 순서 '공통화 -> 표출화 -> 연결화 -> 내면화'를 그대로 암기해야 함. 'ㄱ과 ㄴ 사이에 표연이 있다!'
***** <DIKW 피라미드> *****
DIKW 계층구조
DIKW 계층구조 개요
- DIKW는 데이터, 정보, 지식을 통해 최종적으로 지혜를 얻어내는 과정을 계층구조로 설명한다.
- 데이터를 가공하여 얻을 수 있는 것은 정보, 지식, 지혜이다.
DIKW의 의미
- 데이터(Data): 타 데이터와의 상관관계가 없는 가공하기 전의 순수한 수치나 기호이다.
- 정보(Information): 데이터의 가공 및 상관관계 간의 이해를 통해 패턴을 인식하고, 그 의미를 부여한 데이터이다.
- 지식(Knowledge): 상호 연결된 정보 패턴을 이해하여 이를 토대로 예측한 결과물이다.
- 지혜(Wisdom): 근본 원리에 대한 깊은 이해를 바탕으로 도출되는 아이디어이다.
DIKW 피라미드
지혜: A마트의 다른 상품들도 B마트보다 저렴할 것이라고 판단한다.
지식: 상대적으로 저렴한 A마트에서 연필을 사야겠다.
정보: A마트의 연필 가격이 더 저렴하다.
데이터: A마트는 100원에, B마트는 200원에 연필을 판매한다.
**** <데이터베이스 이해> ****
데이터베이스(DB: Database)의 정의
- 데이터베이스는 데이터 저장 및 검색할 수 있는 복합체로 정의된다. 이때 데이터는 정형뿐만 아니라 비정형 데이터를 포함한다.
- 초기에는 텍스트, 숫자 형태의 데이터를 있는 그대로 저장하는 장치를 의미하였다(정형 데이터).
- 정보기술 발달 후 저장하는 데이터가 이미지, 동영상을 포함한 멀티미디어로 확대되었다(비정형 데이터).
- 이후 단순한 데이터 저장에서 정보를 저장하는 지식 베이스로 진화하였다.
- 데이터베이스는 단순한 저장소의 개념을 넘어 첨단 정보기술을 바탕으로 원하는 데이터를 저장 및 검색할 수 있는 복합체이다.
데이터베이스의 특징
데이터베이스는 '통합, 저장, 공용, 변화되는 데이터'를 특징으로 한다.
특징 | 의미 |
통합 데이터 (Integrated) |
데이터베이스는 같은 내용의 데이터가 중복되어 있지 않음 |
저장 데이터 (Stored) |
자기디스크나 자기테이프 등과 같이 컴퓨터가 접근할 수 있는 저장매체에 저장됨 |
공용 데이터 (Shared) |
여러 사용자에게서 서로 다른 목적으로 데이터베이스의 데이터가 공동으로 이용됨 |
변화되는 데이터 (Changed) |
새로운 데이터의 추가, 기존 데이터의 삭제, 갱신으로 항상 변화하면서도 항상 현재의 정확한 데이터를 유지해야 함 |
데이터베이스와 DBMS의 차이
- 데이터베이스(DB)는 체계적으로 구성된 데이터의 집합을 의미한다
- 데이터 베이스 관리 시스템(DBMS)은 해당 데이터베이스를 효율적으로 관리하고 조작할 수 있게 도와주는 소프트웨어이다.
- DBMS는 데이터베이스를 관리하고 사용자에게 데이터에 접근할 수 있는 인터페이스를 제공한다.
<데이터베이스 용어 BASIC>
데이터베이스 관련 용어
- 테이블(Table): 단일 주제에 대해 행(가로, Row, Record)과 열(세로, Column, Field)로 구성되는 정보의 집합이다.
- 관계형 데이터베이스: 행(튜플, Tuple), 열(속성, Attribute)의 집합체로, 테이블(릴레이션, Relation)이라고 한다.
- 도메인(Domain): 하나의 속성이 취할 수 있는 같은 타입의 원자 값들의 집합이다.
- 카디날리티(Cardinality): 릴레이션에서 튜플의 개수를 의미한다.
DD, ERD
(1) DD(Data Dictionary)
- 자료에 관한 모든 정보를 모아 두는 저장소로, 자료 사전이라고도 한다.
- 자료의 이름, 표현 방식, 자료의 의미와 사용 방식, 다른 자료와의 관계를 저장한다.
(2) ERD(Entity Relationship Diagram)
- 실체와 이들의 관계를 도형으로 표현한 것이다.
- 실체의 상관관계 다이어그램은 사용자와 애플리케이션 개발자 간의 자료를 공통적으로 이해할 수 있게 하는 유용한 매체가 된다.
- 데이터베이스의 테이블이 실체(Entity)로 정의될 수 있으며, Entity는 속성(Attribute)로 구성된다.
- Relationship은 Entity 간의 관계를 의미하며, 두 Entity 간에 선으로 표시된다. 선의 모양에 따라 의미를 부여할 수 있고, 선 위에 숫자를 표기하기도 한다.
**** <데이터베이스 용어 ADVANCED> ****
Entity간 대응 관계의 종류
- 대응 관계를 표시할 때는 '왼쪽 : 오른쪽'의 관계를 '1 : 1', '1 : N', 'N : 1', 'N : M' 등으로 나타낼 수 있다.
- 1: N, N : 1, N : M에서는 왼쪽과 오른쪽이 1 : 1로 연결된 것이 있을 수 있다.
대응관계 | 특징 | |
1 : 1 관계 |
![]() |
하나의 개체가 하나의 개체에 대응함 예) 모든 고객과 모든 상품이 1 : 1로 연결되어 있음 |
1 : N 관계 |
![]() |
하나의 개체가 여러 개체에 대응함 예) 고객 1명이 여러 개(N)의 상품과 연결되어 있음 |
N : 1 관계 |
![]() |
여러 개체가 하나의 개체에 대응함 예) 여러 명의 고객(N)이 1개의 상품과 연결되어 있음 |
N : M 관계 |
![]() |
- 여러 개체가 여러 개체에 대응함 - 1 : N, N : 1이 모두 포함된 경우 예) 고객 1명이 여러 개의 상품(N)과 연결된 선과 여러명의 고객(N)이 상품 1개와 연결된 선이 모두 있음 |
** 대응 관계에서는 1 : N과 N : 1의 그림을 구분할 수 있어야 함
SQL(Structured Query Language)
(1) SQL(Structured Query Language)의 개념
- 데이터베이스를 구축하고 활용하기 위해 사용하는 언어로, 데이터베이스와 통신을 위해 고안되었다.
- RDBMS의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
- D. 챔벌린과 레이먼드 F. 보이스가 처음 개발하였다.
(2) SQL 명령어
구분 | 종류 |
DDL | - 데이터 정의 언어(Data Definition Language) - 명령어: CREATE, ALTER, DROP, RENAME, TRUNCATE - 데이터베이스 테이블의 구조를 생성, 수정, 제거하는 명령 |
DML | - 데이터 처리 언어(Data Manipulation Language) - 명령어: SELECT, INSERT, UPDATE, DELETE - 데이터 검색, 새로운 행 삽입, 기존 행 수정, 삭제하는 명령 |
DCL | - 데이터 제어 언어(Data Control Language) - 명령어: GRANT, REVOKE - 데이터베이스에 대해 접근 권한을 부여하거나 회수함 |
TCL | - 도구 명령 언어(Tool Command Language) - 명령어: COMMIT, ROLLBACK, SAVEPOINT - DML로 실행한 변경사항을 저장 관리하는 명령 |
** DDL, DML, DCL을 구분할 수 있도록 해야 함
(3) SQL 문법
1) SQL 집계 함수
- COUNT(*), COUNT(열): 데이터 타입에 상관없이 개수를 집계
- SUM(열), MIN(열), MAX(열), AVG(열) -> 숫자 데이터에 대해 합계, 최소, 최대, 평균을 구함
2) DML 중 SELECT 문
SELECT 컬럼 FROM 테이블 WHERE 조건식 GROUP BY 그룹화할 컬럼 HAVING 조건식 ORDER BY 정렬 컬럼 |
- SELECT * FROM My_Table WHERE AGE BETWEEN 20 AND 25;
=> My_Table의 AGE 컬럼의 값이 20 ~ 25까지의 사원을 조회
- SELECT COUNT(*) FROM My_Table;
=> My_Table의 모든 컬럼 별 데이터 개수를 집계하여 반환
- SELECT 과목, AVG(성적) AS 평균성적 FROM 학생성적 GROUP BY 과목 HAVING AVG(성적) >= 85;
=> '학생성적' 테이블을 '과목'으로 그룹화하고, 각 그룹의 평균 성적이 85 이상인 그룹만을 선택함. HAVING 절은 그룹에 대한 조건을 지정하는 데 사용되며, 여기서 ABG(성적) >= 85는 평균 성적이 85 이상인 그룹을 선택하는 조건을 의미함
메타데이터 인덱스
(1) 메타데이터(Metadata)
- 데이터에 관한 데이터로 데이터의 특성, 구조, 포맷, 원천, 의미 등을 설명하는 정보이다.
- 데이터를 분석하고 관리하는 데 도움이 되는 유용한 정보를 포함한다.
- 데이터의 구조화와 이해를 돕는 데 중요한 역할을 한다. 데이터의 의미, 관련성, 가치, 출처 등을 명시함으로써 데이터를 효율적으로 활용할 수 있도록 한다.
예) 스마트폰이나 디지털 카메라로 사진을 찍었을 경우 각 사진의 속성을 찾아보면 카메라 자체의 정보, 촬영 시간, 노출, 플래시 사용 여부, 해상도, 이미지 크기 등의 정보를 볼 수 있는데 이를 메타 데이터라고 한다.
- 특정 데이터베이스의 테이블에 저장된 데이터의 구조, 데이터 필드의 명칭, 데이터 유형, 작성일, 업데이트 날자 등을 설명하는 데이터이다.
(2) 인덱스(Index)
- 데이터베이스에서 테이블의 동작 속도를 높여주는 자료 구조이다.
- 테이블 내의 1개 혹은 여러 개의 컬럼을 이용해 생성할 수 있다.
**** <DBMS(Database Management System)> ****
DBMS의 개념
- 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 처리해주고 데이터베이스를 관리해주는 소프트웨어이다.
- DBMS의 종류에는 RDBMS와 ODBMS가 있으며, 우리나라에서 일반적으로 많이 사용되는 DBMS는 RDBMS(관계형)이다.
RDBMS와 ODBMS
구분 | 설명 |
RDBMS | - 관계형 데이터베이스관리시스템(Relational DBMS) - 행과 열로 이루어진 정형화된 테이블로 구성된 데이터 항목들의 집합체 예) Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL, IBM DB2 등 |
ODBMS | - 객체 지향 데이터베이스관리시스템(Object Oriented DBMS) - 객체들을 생성하여 계층에서 체계적으로 정리하고, 계층들은 다시 하위 계층이 상위 계층으로부터 속성과 방법들을 물려받을 수 있음 - 복잡한 데이터 구조를 표현하고 관리함 예) ObjectDB, db4o(database for objects) 등 |
** 복잡한 데이터 구조, 객체, 계층이라는 단어가 보이면 ODBMS이고 관계, 테이블, SQL 등의 단어가 사용되면 RDBMS
DBMS의 장단점
(1) DBMS의 장점
- 데이터의 이로간성과 무결성 유지를 위해 데이터가 정확하고 일관되며, 중복이 최소화되어 데이터의 신뢰성을 높일 수 있다.
- 계정을 가진 모든 사용자의 데이터 공유와 동시 접근이 가능하다.
- 사용자들이 동시에 트랜잭션(Transaction)하는 경우에도 즉각적으로 결괏값을 확인할 수 있다.
- 데이터 엑세스 권한을 제어하고 보안을 제공하여 민감한 정보를 보호할 수 있다.
- SQL과 같은 질의 언어를 사용하여 데이터에 쉽게 접근하고 조작할 수 있다.
(2) DBMS의 단점
- 데이터베이스 관리로 모든 데이터 문제를 해결할 수는 없다.
- DBMS 도입 및 유지에 비용이 발생한다.
- 구축 및 유지 보수, 관리를 위해 전문 지식과 복잡한 설정이 필요하다.
- 시스템에 문제가 발생하면 모든 데이터에 영향을 미칠 수 있다.
- 새로운 버전, 시스템 업그레이드 시 호환성 문제가 발생할 수 있다.
NoSQL(Non-SQL, Non-Relational, Not Only SQL)
- 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용하는 데이터의 저장 및 검색을 위한 메커니즘을 제공한다.
- 디자인 단순화, 수평적 확장성, 세세한 통제 등을 포함한다.
- 기존의 RDBMS가 가진 특성뿐만 아니라 다른 특성들을 부가적으로 지원한다.
- NoSQL의 종류에는 MongoDB, Apache HBase, Redis, Apache Cassandra 등이 있다.
<데이터베이스 설계>
데이터베이스 설계 절차
데이터베이스 설계 절차는 '요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계' 순서로 이루어진다.
요구 조건 분석 | 데이터베이스 사용자, 사용 목적, 사용범위, 제약 조건 등을 정리하여 명세서를 작성함 |
개념적 설계 | - 정보를 추상적인 개념으로 표현하는 과정 - DBMS에 독립적인 개념적 데이터 모델을 생성함 - 결과물: E-R 다이어그램(Entity Relationship Diagram) |
논리적 설계 | - 데이터 모델을 구체적인 스키마로 변환하여 데이터 구조를 정확하게 정의하고, 데이터 모델을 정규화하여 테이블을 관리 가능한 크기와 논리적 관계로 나눔 - 자료를 컴퓨터가 이해할 수 있도록 특정 DBMS의 논리적 구조로 변환함 |
물리적 설계 | - 데이터를 저장할 장치를 선택하고 인덱스를 구성하여 데이터 검색을 최적화함 - 데이터베이스의 보안, 백업 및 복구 전략을 개발하여 데이터의 안전성 보장함 |
** 설계 절차는 암기해 둘 것. '요개논물'
**** <시대별 기업 내부 데이터베이스 솔루션> ****
1980년대 기업 내부 데이터베이스 솔루션
(1) OLTP(On-Line Transaction Processing, 온라인 거래 처리)
- 주 컴퓨터와 통신 회선으로 접속된 복수의 사용자 단말에서 발생한 트랜잭션을 주 컴퓨터에서 처리하여 그 결과를 사용자에 되돌려 보내주는 처리 형태이다.
예) 상품 주문, 회원 정보 수정, 은행 거래, 항공편 예약 등
(2) OLAP(On-Line Analytical Processing, 온라인 분석 처리)
- 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 제공할 수 있는 기술이다.
- 다차원의 데이터를 대화식 질의를 통해 분석하는 정보 분석용 소프트웨어(Software)이다.
예) 10년간 A사의 직급별 임금 상승률 등
(3) OLTP는 '실시간 트랜잭션 데이터 처리'에 OLAP는 '대량의 데이터에 대한 복잡한 분석과 보고 지원'에 사용한다.
2000년대 기업 내부 데이터베이스 솔루션
(1) CRM(Customer Relationship Management)
- 고객별 구매 이력 데이터베이스를 분석하여 고객에 대한 이해를 돕고, 이를 바탕으로 각종 마케팅 전략을 실행하여 높은 이익을 창출할 수 있도록 하는 솔루션이다.
- 고객 데이터를 중심으로 구축되며, 고객에 대한 기록, 요구 사항, 구매 이력, 서비스 요청 및 마케팅 활동 등을 추적하고 분석하여 개인화된 고객 경험을 제공함으로써 고객 유치 및 충성도를 향상시키는 데 도움을 준다.
예) 장바구니에 들어 있는 물건에 대해 지속적으로 알람을 주거나 할인 정책을 마련해 구매를 유도하거나 고객이 많은 지역에서 행사를 하거나 고객들이 선호하는 제품을 알아내어 마케팅 정보로 활용한다.
(2) SCM(Supply Chain Management)
- 제조, 물류, 유통 업체 등 유통 공급망에 참여하는 모든 업체들의 협력을 바탕으로 정보기술(Information Technology)를 활용하여 재고를 최적화하기 위한 솔루션이다.
- 기업이 외부 공급 업체 또는 제휴 업체와 통합된 정보 시스템으로 연계하여 시간과 비용을 최적화하기 위한 것이다.
=> 자재 구매 데이터, 생산, 재고 데이터, 유통/판매 데이터, 고객 데이터로 구성된다.
(3) SCM은 물류 공급에 대한 관리, CRM은 고객에 대한 관리를 목표로 한다.
***** <분야별 기업 내부 데이터베이스 솔루션> *****
제조부문 기업 내부 데이터베이스 솔루션
(1) 데이터웨어하우스(Data Warehouse)
- 기업 내의 의사결정 지원 애플리케이션을 위한 정보를 제공하는 하나의 통합된 데이터 저장 공간이다.
- 데이터들은 시간적 흐름에 따라 변화하는 값이며 일정 기간 유지한다.
- 데이터웨어하우스(Data Warehouse)의 4대 특징
데이터의 통합: 데이터들은 전사적 차원에서 일관된 형식으로 정의됨 |
데이터의 시계열성: 관리되는 데이터들은 시간의 흐름에 따라 변화하는 값을 저장함 |
데이터 주제 지향적: 특정 주제에 다라 데이터들이 분류, 저장, 관리됨 |
비소멸성(비휘발성): Batch 작업에 의한 갱신 이외에 변하지 않음(빈번한 삽입, 삭제 아님) |
데이터웨어하우스의 개요도
(2) 데이터 마트(Data Mart)
- 전사적으로 구축된 데이터웨어하우스로부터 특정 주제, 부서 중심으로 구축된 소규모 단일 주제의 데이터웨어하우스이다.
- 재무, 생산, 운영과 같이 특정 조직의 특정 업무 분야에 초점을 두고 있다.
(3) ERP(Enterprise Resource Planning)
- 제조업을 포함한 다양한 비즈니스 분야에서 생산, 구매, 재고, 주문, 공급자와의 거래, 고객 서비스 제공 등 주요 프로세스 관리를 돕는 여러 모듈로 구성된 통합 애플리케이션 소프트웨어 패키지이다.
(4) BI와 BA
BI(Business Intelligence)
- 기업의 데이터웨어하우스(Data Warehouse)에 저장된 데이터에 접근해 경영 의사결정에 필요한 정보를 획득하고 이를 경영활동에 활용하는 것
- 데이터를 통합/분석하여 기업 활동에 연관된 의사결정을 돕는 프로세스를 의미함
- 하나의 특정 비즈니스 질문에 답변하도록 설계됨
- 가트너(Gartner)는 '여러 곳에 산재하여 있는 데이터를 수집하여 체계적이고 일목요연하게 정리함으로써 사용자가 필요로 하는 정보를 정확한 시간에 제공할 수 있는 환경'으로 정의함
- 관련 키워드: ad hoc report
BA(Business Analytics)
- 경영 의사결정을 위한 통계적이고 수학적인 분석에 초점을 둔 기법으로, 성과에 대한 이해와 비즈니스 통찰력에 초점을 둔 분석 방법
- 사전에 예측하고 최적화하기 위한 것으로, BI보다 진보된 형태임
- 관련 키워드: Optimization, Forecast, Insigt
금융 부분 기업 내부 데이터베이스 솔루션
- 블록체인(Block Chain): 기존 금융회사의 중앙 집중형 서버에 거래 기록을 보관하는 방식에서 벗어나 거래에 참여하는 모든 사용자에게 거래 내용을 보내주며 거래 때마다 이를 대조하는 데이터 위조 방지 기술이다.
- 그 외에도 EAI, EDW, ERP, e-CRM 등의 기술이 있다.
유통 부문 기업 내부 데이터베이스 솔루션
- KMS(Knowledge Management System): 지식 관리 시스템의 약자로, 조직 내의 지식을 체계적으로 관리하는 시스템이다.
- RFID(Radio Frequenct IDentification)
- 무선주파수(RF, Radio Frequenct)를 이용하여 대상을 식별할 수 있는 기술
- RF 태그에 사용 목적에 알맞는 정보를 저장하여 적용 대상에 부착한 후 판독기에 해당하는 RFID 리더를 통해 정보를 인식함