정보 시스템 (Information System)
데이터(Data)
비트들의 모음,
현실 세계로부터 단순한 관찰이나 측정을 통해 수집된 사실(Facts)이나 값(Value)
정보(Information)
데이터를 처리한 결과로 만들어 진다.
어떤 상황에 대한 적절한 결정(Desicion Making)을 할 수 있게 하는 근거이며
데이터의 유효한 해석(interpretation)이나 문맥(context)을 부여해 준다.
정보 시스템 (Information System)
한 기관을 위해 데이터를 수집, 조직, 저장하고
필요 시에 처리하여 의사 결정에 유용한 정보를 생성, 분배하는 수단이다.
데이터 베이스 시스템 (DataBase System)
정보 처리 시스템이 그 기능을 효과적으로 수행할 수 있게 하는 가장 기본이 되는 도구
데이터 베이스의 활용 예
경제
비즈니스 분야에서 중요한 비즈니스 데이터를 저장하고, 그 데이터의 정확성을 유지하고
필요할 때 이용이 가능하도록 하는 모든 기능을 데이터베이스에 의존한다.
예) Wal-Mart에서의 데이터 베이스
- 데이터 베이스: 모든 판매 기록을 저장한다.
- 회사를 운영하고 판매 전략을 세우기 위해 데이터 분석할 때 이용한다.
물품 판매 비교 및 변화 <= 정보
- 지식을 창출한다. (장바구니에 담은 목록을 data mining한다.)
- 축적된 지혜를 만든다. (고객의 성향 및 일반적인 행동을 분석한다.)
대량의 데이터 관리가 필요한 대부분의 응용은 데이터베이스 시스템을 이용한다.
위의 그림은 DIKW 계층도이다. 데이터를 통해 지식을 창출해내는 과정을 보인다.
데이터베이스 시스템 구성요소
데이터베이스 시스템은 소프트웨어와 데이터의 결합으로
크게 네 가지의 구성요소로 이뤄져 있다.
물리적 데이터베이스
데이터 내용을 포함하는 파일들의 집합이다.
한 조직의 여러 응용 시스템들이 공용(Shared)하기 위해
통합(Integrated), 저장(Stored)한 운영(Operational) 데이터들의 집합이다.
데이터의 특성
- 통합된 데이터(Integrated Data)
데이터들은 중복을 최소화하고(Minimal Redundancy)
중복된 데이터들은 통제되어야 한다.(Controlled Redundancy)
- 저장 데이터(Stored Data)
데이터들은 컴퓨터가 접근할 수 있는 저장 매체에 저장되어야 한다.
- 운영 데이터(Operational Data)
한 조직의 고유 기능을 수행하기 위해 필요한 데이터이다.
예를 들어 학교 학생들을 저장하는 데이터베이스를 설계한다고 했을 때,
해당 학생의 인적사항, 학번, 과 등이 필요할 것이다.
이들을 운영 데이터라고 할 수 있다.
- 공용 데이터(Shared Data)
한 조직에 있는 여러 응용 프로그램이 공동으로 소유, 유지, 이용하는 데이터를 말한다.
데이터베이스의 특징
- 온라인 접근성(Online Accessibities)
각 데이터들은 질의에 대한 실시간 처리 및 응답을 가능하다.
- 계속적인 변화(Continuous Evolution)
새로운 데이터의 삽입, 기존 데이터의 삭제, 갱신으로
현재의 상태를 유지하는 것이다. (동적인 특성이라고 할 수 있다.)
- 동시 공용(Concurrent Sharing)
서로 다른 목적을 가진 데이터를 여러 사용자가 동시에 사용하는 것이다.
- 내용에 의한 참조(Content Reference)
위치나 주소가 아닌, 값에 따라 참조한다.
스키마(메타 데이터)
물리적 데이터베이스의 내용을 명세한 것이다.
데이터베이스에 대한 기술(Description)로 데이터 구조, 타입, 제약 조건과 같은 것을 말한다.
DBMS 카탈로그에 저장되며 카탈로그에 저장된 데이터를
메타 데이터(Meta Data)라고도 부른다.
데이터베이스 시스템은 자기 기술적(Self-Describing)이고,
시스템 카탈로그로부터 데이터베이스에 대한 정의를 가져와 데이터베이스에 접근하므로
다양한 데이터베이스들을 접근할 수 있다.
데이터베이스 관리 시스템 (DataBase Management System)
줄여서 DBMS라고도 불리며 데이터베이스 안의 내용을
접근하고 변경할 수 있는 소프트웨어이다.
응용 프로그램과 데이터의 중재자로서 모든 응용 프로그램들이 데이터베이스를
공용할 수 있게 관리해주는 소프트웨어 시스템이다.
기능
데이터 베이스의 기능은 세 가지로 나눌 수 있다.
- 정의(Definition) 기능
하나의 저장 구조로 여러 사용자의 관점을 만족시킬 수 있도록
데이터베이스를 정의할 수 있는 기능이다.
정의 기능의 요건은 아래와 같다.
1. 데이터의 논리적 구조를 명세해야 한다.
2. 물리적인 저장 구조를 명세해야 한다.
3. 물리적/논리적 사상을 명세해야 한다.
- 조작(Manipulation) 기능
사용자는 인터페이스를 통해 데이터베이스를 조작할 수 있다.
사용자의 요구에 따라 체계적으로 데이터베이스를 접근하고, 조작할 수 있는 기능으로
데이터의 검색(Read), 갱신(Update), 삽입(Insert), 삭제(Delete) 등의 데이터베이스 연산을 지원한다.
조작 기능의 요건은 아래와 같다.
1. 사용이 쉽고 자연스러워야 한다.
2. 연산을 완전하게 명세할 수 있어야 한다.
3. 데이터를 효율적으로 접근할 수 있어야 한다.
- 제어(Control) 기능
공용 목적으로 관리되는 데이터베이스의 내용에 대해 데이터의 정확성과 안전성을 유지하는 기능이다.
제어 기능의 요건은 아래와 같다.
1. 데이터의 삽입, 삭제, 갱신 작업에 대한 데이터의 무결성(Integrity)을 유지해야 한다.
2. 정당한 사용자가 허가된 데이터만 접근할 수 있도록 보안 유지 및 권한 검사를 진행해야 한다.
3. 여러 사용자가 데이터베이스를 동시에 접근하여 데이터를 처리할 때,
데이터베이스와 처리결과가 항상 정확성을 유지하도록
병행 수행을 제어해야 한다.(Concurrency Control)
데이터 정의, 관리 언어
스키마를 정의하고 데이터베이스에 접근하기 위해 사용되는 언어이다.
사용자 또는 프로그래머가 데이터 정의, 관리 언어를 통해 입력한다.
입력된 명령어들은 DBMS를 통해 실제 데이터에 접근하여 관리할 수 있다.
가장 아래쪽의 두 원통 모양은 데이터베이스인데,
좌측은 데이터베이스의 스키마, 우측은 실제 저장된 데이터베이스이다.
데이터베이스 시스템 사용자
최종 사용자(End User)
데이터베이스에 저장된 정보를 이용하여 필요한 작업을 수행하는 사람을 말한다.
일반 사용자는 간단한 인터페이스를 통해 시스템에 접근할 수 있지만
데이터베이스의 내용을 직접 변경하는 것은 불가능하며.
데이터베이스에 대한 지식을 가진 사용자는
데이터베이스의 데이터에 대해 삽입, 갱신, 삭제 등의 작업을 수행할 수 있다.
데이터베이스 설계자
사용자의 요구를 수렴하여 시스템 명세서를 만든다.
정보의 내용을 명세하고 데이터베이스를 구축하는 소프트웨어 전문가로
개념적 설계, 논리적 설계, 물리적 설계를 담당한다.
응용 개발자
데이터베이스 시스템을 이용하여 응용 프로그램을 설계하고 개발한다.
사용자 인터페이스, 데이터 분석 프로그램,
다양한 비즈니스 서비스와 같은 응용 프로그램을 설계 및 개발한다.
데이터베이스 관리자(DataBase Administrator)
데이터베이스를 관리하며 해당 업무는
1. 데이터베이스 시스템의 접근 통제
2. 데이터의 정확성과 무결성의 유지
3. 데이터베이스 성능 감시와 향상
으로 이루어져 있다.
DBMS를 구성하는 전형적인 모듈을 나타내는 다이어그램이다.