데이터베이스
데이터베이스의 정의
데이터베이스 용어의 발전 과정
- 첫 등장: 1950년대, 미군
- 군수물자 관리를 위해 수집된 자료를 일컫는 “Data”
- 기지: “Base”
- 공식적인 첫 사용: 1963년
- 미국 SDC가 개최한 심포지엄
- “대량의 데이터를 축적하는 기지” 개념으로 공식적인 용어 첫 사용
- 최초의 현대 데이터베이스 관리 시스템: IDS(GE 소속 C.바크만 개발)
- 국내에서의 첫 사용: 1975년
- 미국의 CAC가 한국과학기술정보센터(KORSTIC)를 통해 처음 시작한 것이 그 시초
데이터베이스의 다양한 정의
- EU: “데이터베이스의 법적 보호에 관한 지침”
- 체계적이고 조직적으로 정리되고, 전자식 또는 기타 수단으로 개별 접근 가능한 독립된 저작물 / 데이터 / 기타 소재의 수집물
- 대한민국: “저작권법”
- 소재를 체계적으로 배열 또는 구성한 편집물
- 개별적으로 그 소재에 접근하거나 그 소재를 검색 가능하도록 한 것
- 법률적으로, 기술 기반 저작물로 인정
- 컴퓨터용어사전, 정보통신용어사전(TTA)
- 동시에 복수 업무의 적용을 지원할 수 있도록 복수의 이용자 요구에 대응
- 데이터를 받아들이고 저장 및 공급하기 위해 일정한 구조에 따라 편성된 데이터의 집합
- 위키피디아
- 체계적으로 정렬된 데이터의 집합
- 데이터의 양과 이용 빈도 상승하면서 → 대용량의 데이터를 저장, 관리, 검색, 이용할 수 있는 컴퓨터 기반 데이터베이스로 진화함
- 한국데이터산업진흥원
- 문자, 기호, 음성, 화상, 영상 등 상호 관련된 다수 콘텐츠
→ 정보처리 및 정보통신기기에 의해 체계적으로 수집 및 축적
→ 다양한 용도, 방법으로 이용 가능하도록 정리한 정보의 집합체
- 문자, 기호, 음성, 화상, 영상 등 상호 관련된 다수 콘텐츠
DB vs DBMS
- DB(Database)
- 체계적으로 수집 및 축적 → 다양한 용도와 방법으로 이용 가능하도록 정리한 정보의 집합체
- DBMS(Data-Base Management System)
- 사용자가 쉽게 DB를 구축 및 유지 가능하도록 하는 관리 소프트웨어
데이터베이스의 특징
보편적 특징
- 통합된 데이터(Integrated data)
- 동일한 내용의 데이터는 통합되어 있음(중복 X)
- 저장된 데이터(Stored data)
- 컴퓨터 기술을 바탕으로, 컴퓨터가 접근 가능한 저장 매체에 저장되어 있음
- 공용 데이터(Shared data)
- 여러 사용자, 다른 목적으로 데이터베이스에 접근해 그 데이터를 공동으로 이용 가능함
- 일반적으로 대용량 / 복잡한 구조
- 변화하는 데이터(운영 데이터, Operational data)
- 다양한 데이터의 변화를 통해, 항상 최신의 정확한 데이터 상태를 유지
- 새로운 데이터 삽입
- 기존 데이터의 변화(수정 및 삭제)
- 다양한 데이터의 변화를 통해, 항상 최신의 정확한 데이터 상태를 유지
이외 다양한 특성
- 정보의 축적 및 전달
- 기계 가독성: 대량의 정보를 일정한 형식으로 정보처리기기(컴퓨터 등)가 읽고 쓰는 것이 가능
- 검색 가능성: 원하는 정보 검색 가능, 다양한 방법
- 원격 조작성: 원거리에서도 얼마든지 활용 가능(정보 통신망 활용)
- 정보의 이용
- 다양한, 사용자가 요구하는 정보를 신속하게 획득 가능
- 불필요한 정보는 거르고, 원하는 정보만 신속히 획득 가능
- 정보의 관리
- 일정한 질서 및 구조에 따라 → 정리, 저장 및 관리
- 방대한 양의 정보를 체계적으로 축적
- 새로운 내용의 추가 및 갱신 용이
- 정보기술의 발전
- 정보처리, 검색/관리 소프트웨어, 관련 하드웨어, 네트워크 기술의 발전 견인 용이
- 기타 경제/산업적 측면
- 데이터베이스는 다양한, 원하는 정보를 신속/정확하게 전달 가능한 인프라 → 경제 및 산업활동의 효율성 제고 / 사용자의 편의성 증진
데이터베이스 활용
기업의 데이터베이스
- 인하우스 DB
- 1990년대 정보통신망 구축 가속화 → 일관된 체계로 구축 및 운영하는 데에 중점(기업 경영 전반에 관한 모든 자료)
- 이후 ERP로 확대 → 전사자원관, 경영 활동의 기반
- OLTP / OLAP
- OLTP(Online Transaction Processing): 1990년대 중반 이전
- 기업활동에서 영역별로 구축되던 단순 자동화 중심의 시스템
- 목적: 실시간성으로, 각각의 Transaction 단위에 초점
- ex) 마트에서 물건을 구매 → 결제(혹은 계좌이체)하는 그 순간에 맞춰서 실시간으로 데이터가 처리 및 수집됨
- 경영정보시스템(MIS), 생산 자동화, 통합 자동화 등
- MIS: 1990년대 중반 이전, 정보의 수집 및 이를 기업 내에서 공유하기 위한 시스템
- OLAP(Online Analytical Processing): 데이터 마이닝 기술 등의 등장에 의한 영향
- 단순한 ‘정보 수집 및 공유’ 구조에서 탈피, 분석이 중심이 되는 시스템 구축
- 목적: 각각의 데이터가 쌓인 전체 데이터에 초점
- OLTP를 거쳐 적재된 데이터에 초점 → 데이터 분석을 통해 의사결정에 활용 가능한 정보 제공
- OLTP(Online Transaction Processing): 1990년대 중반 이전
- EAI(Enterprise Application Integration)
- 하나의 기업이 여러 개의 서비스를 보유한 경우 → 이를 중앙에 두고 관리하면서 연결 루트를 간소화시킴
- 서비스 간 연계가 필요할 경우, 그 루트 수는 서비스 수에 비례하여 기하급수적으로 증가함 → 이를 간소화시켜주는 기술

- KMS(Knowledge Management System)
- 지식 경영 시스템
- 목적: 기업이 보유 가능한 모든 지식을 영끌하여 통합하는 구조 → 문제 해결력 향상
- 보유 가능한 지식: 직원 개개인의 지식, 프로젝트 경험, 과거 사례 등
- CRM(Customer Relationship Management) 및 SCM(Supply Chain Management)
- 개요
- 2000년대 기업 DB 구축의 쌍두마차
- 유통, 판매 및 고객 데이터가 CRM과 연동 → 상호 간 밀접 연관관계
- SCM vs CRM
- SCM(Supply Chain Management)
- (유통 부문) 공급망 관리
- “원자재 → 기업 → 고객” 유통단계 최적화
- CRM(Customer Relationship Management)
- (제조 부문) 고객관계관리
- (마케팅 측면) 기업 내 외부적 분석을 통해 → 신규 고객 창출 or 기존 고객 이탈 방지가 목적
- SCM(Supply Chain Management)
- 개요
- BI(Business Intelligence)
- (제조 부문) 기업의 의사결정 프로세스
- 목적: 기업 경영에 관한 결정이 올바른 의사결정을 거칠 수 있도록 기업의 데이터를 가공 및 분석
- RTE(Real Time Enterprise)
- (제조 부문) 기업의 업무 프로세스에서 발생하는 정보를 실시간 통합 및 전달 → 신속한 대응이 가능하도록 하는 스피드 경영
산업 부분별 데이터베이스
- 제조 부문
- 데이터베이스 기술의 가장 핵심적인 적용 분야
- 2000년대 기준 비교
- 2000년대 이전 vs 2000년대 이후
- 2000년대 이전: 부품 테이블, 재고 관리 영역 등
- 2000년대 이후: 전 공정을 포함하는 범위로 확대(부품 설계 / 제조 / 유통 등)
- 2000년대 초반 - 2000년대 중반
- 2000년대 초반: 기업 별 고유 시스템 형태로 구축 → 솔루션 유형으로 발전
- 2000년대 중반 이후: 중소기업에 대한 인하우스 DB 구축 투자 증가
- 2000년대 이전 vs 2000년대 이후
- 제조업 분야에서의 대표 화두: RTE(Real Time Enterprise)
- 기업의 비즈니스 프로세스를 투명하고 민첩하게 유지 → 환경 변화에 따른 적응 속도 최대화
- 비중 점차 확대(대기업-중소기업 간 협업적 IT화)
- 최근 제조업 분야에서의 주류 DB: 기업 내부 인하우스 DB 구축
- 진보된 정보기술 적용
- 대표적으로 ERP 시스템 도입과 함께 DW, CRM, BI 등
- 금융 부문
- 1998년: 금융 부문 업무 프로세스 효율화 / e비즈니스 활성화 / 금융권 통합 시스템 구축 크게 확산
- IMF 이후 총체적 부실 타파를 위한 노력(금융사 간 합병, 지주회사 설립 등)을 지속한 결과
- 2000년대 초반: (메인 테마) 데이터베이스 간 정보 공유 및 통합 / 고객 정보의 전략적 활용
- EAI, ERP, e-CRM 등
- 2000년대 중반
- DW 적극 도입 → 관련 DB 마케팅 증대를 위한 노력 가시화
- 대용량 DW → 이를 위한 최적의 BI 기반 시스템 구축속도 급속 확산
- 1998년: 금융 부문 업무 프로세스 효율화 / e비즈니스 활성화 / 금융권 통합 시스템 구축 크게 확산
- 유통 부문
- (2000년대 이후) 전반적인 IT 변화 환경 직면 → CRM 및 SCM 구축
- 상거래를 위한 각종 인프라 구축
- KMS를 위한 별도 백업시스템 구축
- 다양한 고객 분석 툴을 통한 기존 데이터베이스와 연계
→ BSC(균형성과관리), KPI(핵심성과지표), 웹 리포팅 등 - 최근 RFID(전자태그) 등장 → 대량 상품 거래에 적용될 경우 파급효과가 매우 클 것
사회 기반 구조의 데이터베이스
- (1990년대) 사회 각 부문의 본격적인 정보화 → DB 구축 추진 활발
- 이후 SOC(사회간접자본) 차원에서 EDI(전자 데이터 교환) 활용 본격화 → VAN(부가가치통신망)을 통한 정보망 구축
- 이외
- 지리/교통부문 DB 고도화
- 사회 각 부문(의료/교육/행정 등)으로 공공DB 구축 확대
- 사회 부문별 구축 데이터베이스
- 물류 부문
- 종합물류정보망 for ‘실시간 차량 추적’
- 구성: CVO 서비스, EDI 서비스, 물류 정보 DB 서비스, 부가서비스
- CALS(Commerce At Light Speed)
- 경영통합정보시스템
- 제품의 라이프사이클 전반에 관련한 데이터 통합, 공유 및 교환 가능
- 제품의 설계, 개발, 생산, 유통, 폐기 등
- 교통수단 별 운영정보시스템
- PORT-MIS: 항만운영정보시스템
- XROIS: 철도운영정보시스템
- 종합물류정보망 for ‘실시간 차량 추적’
- 지리 부문
- 4S 통합기술
- GIS 응용에 활용
- 지리정보유통망 가시화
- 지리정보 통합관리소 운영 → 지리정보 수요자에 정보 제공
- 지리 DB 시스템 예시
- GIS(Geographic Information System) → 지리정보시스템
- LBS(Location-Based Service) → 위치정보서비스
- SIM(Spatial Information Management) → 공간정보 관리시스템
- 4S 통합기술
- 교통 부문
- ITS(지능형교통정보시스템)
- 교통정보, 기초자료 및 통계 제공
- 대국민 서비스 확대
- ITS(지능형교통정보시스템)
- 의료 부문
- 의료정보시스템
- 처방전달시스템, 임상병리, 전자의무기록, 영상처리시스템, 병원의 멀티미디어, 원격의료, 지식정보화
- 발전 양상
- HL7 국내 표준화 작업 → 전국적 진료 정보 공유 체계 구축, 계획 수립
- U헬스 실현 → 기존 의료정보 데이터베이스 기반 활용
- 의료 DB 시스템 예시
- PACS(Picture Archiving and Communication System)
- U-Health(Ubiquitous-Health)
- 의료정보시스템
- 교육 부문
- 첨단 ICT(정보통신기술) 활용 → 각종 교육정보의 개발 및 보급, 정보 활용 교육
- 대학 정보화 / 교육행정 정보화 위주의 사업 추진
- NEIS(교육행정정보시스템) → 학사 뿐 아닌, 기타 교육행정 전 업무 처리 시스템
- 물류 부문
데이터베이스 종류
목적에 따른 DBMS 분류
- 계층형, 네트워크형, 관계형, NoSQL 등
- 가장 많이 사용: 관계형, NoSQL
- 관계형 데이터베이스(RDBMS)
- 행과 열로 이뤄진 테이블에 데이터 저장
- 하나의 열 → 하나의 속성 및 같은 속성의 값만 가짐
- 엑셀과 유사, 정형 데이터에 특화
- RDBMS 예시
- Oracle, MySQL(Oracle)
- MS-SQL(Microsoft)
- DB2 Infomix(IBM)
- MariaDB(Sun Microsystems)
- Derby(Apache)
- SQLite(오픈소스)
- NoSQL(Not only SQL)
- RDB의 SQL을 보완 및 개선한 비관계형 데이터베이스
- 비정형 데이터, 대용량 데이터에 특화(분석 및 분산처리)
- NoSQL 예시
- Document-Oriented DB
- CouchDB, MongoDB, Elasticsearch, Cloudant
- Key-Value DB
- Dynamo(아마존), Redis, Riak, Coherence, SimpleDB
- Column-Oriented DB
- Bigtable(구글), Cassandra, HBase, HyperTable
- Document-Oriented DB
- 기타 데이터베이스 종류
- 계층형 DBMS
- 데이터가 부모-자식 형태를 갖도록 관계를 맺어 관리
- 데이터 중복 문제 발생하기 쉽다는 단점 존재
- 네트워크형 DBMS
- 각 데이터간 연결 → 복잡한 그물 형태로 데이터 관리
- 데이터 중복 문제는 해결, 하지만 구조 복잡성에 의해 구조 변경이 어려움
- 분산형 DBMS
- 분산된 여러 개의 데이터베이스를 하나의 DB로 인식하고 사용 가능한 DBMS
- 객체지향 DBMS
- 데이터 유형을 사용자가 정의하는 타입으로 지정해서 저장 및 관리 가능한 DBMS
- 비정형 데이터도 사용자가 원하는 방식에 따라 표기 가능
- 계층형 DBMS
SQL
- Structure Query Language
- DBMS에서 DB에 명령을 내리리는 데이터베이스의 하부 언어
- SQL 언어 문법
- 데이터 추출 및 분석에 사용되는 문법은 대부분 DB(Oracle, MySQL, MS-SQL 등)에서 거의 동일
- 세부적인 문법은 DB마다 다름
- SQL 언어 분류
- DDL(Data Definition Language, 데이터 정의 언어)
- CREATE: DB 내 테이블 생성 명령어
- ALTER: 테이블 정보 변경 명령어
- RENAME: 테이블 이름 변경 명령어
- DROP: 테이블 삭제 명령어
- DML(Data Manipulation Language, 데이터 조작 언어)
- INSERT: 테이블에 데이터 삽입하는 명령어
- SELECT: 테이블 내 데이터 조회 명령어
- UPDATE: 테이블 내 데이터 변경 명령어
- DELETE: 테이블 내 데이터 삭제 명령어
- 그 외
- DCL(테이블 제어 언어)
- GRANT: DB 사용자에 권한 부여하는 명령어
- REVOKE: DB 사용자로부터 권한 회수 명령어
- TCL(트랜잭션 제어 언어)
- COMMIT: 사용자에 의해 변경된 데이터 일괄 적용 명령어
- SAVEPOINT: 현재 데이터 상태 기억하는 명령어
- ROLLBACK: 변경사항들에 대한 명령 철회 및 특정 SAVEPOINT로 회귀
(COMMIT이 되지 않았을 경우 적용)
- DCL(테이블 제어 언어)
- DDL(Data Definition Language, 데이터 정의 언어)
chat_bubble 댓글남기기
댓글남기기