임용/데이터베이스

Chapter 01 정보 환경

뚜비히히 2023. 4. 10. 21:09

1.1 정보 처리 시스템

1.1.1. 정보와 데이터

  • 데이터(data)는 현실 세계(real world)로부터 단순한 관찰이나 측정을 통해서 수집된 사실(fact)이나 값(value)를 말한다. 따라서 이 데이터는 숫자로 표현되는 수치는 물론이고 어떤 문자들로 표현되는 스트링(string), 텍스트(text), 이미지(image), 그래픽스(graphics)도 포함한다.
  • 정보(information)란 어떤 상황에 대한 적절한 결정(decision making)을 할 수 있게 하는 지식(knowledge)으로서 데이터의 유효한 해석(interpretation)이나 데이터 상호간의 관계(relationship)를 말하는 것이다. 
  • I = P(D)     (I : Information, P  : Processor, D : Data)

데이터와 정보와의 관계(I=P(D))

  • 정보 추출 방법을 데이터 처리(data processing) 또는 보다 넓은 의미로 정보 처리(information processing)라고 한다. 
  • 정보의 유용성을 갖기 위해서는 정확성(accuracy)현재성(currency)을 가지고 있어야 한다. 
    • 정보가 의사 결정에 유용한 역할을 할 수 있기 위해서 데이터는 계속적으로 현재의 당면한 문제들에 관련된 것이어야 하고, 또 필요시에는 컴퓨터를 통해 언제라도 이용할 수 있도록 수집(collected), 조직(organized), 저장(stored)되어 있어야 한다.
  • 데이터(정보)가 자본, 사람, 기술과 더불어 기업의 4대 요소로 된 것은 기업 경영에 관한 의사 결정에 중요한 역할을 하기 때문이다. 

 


1.1.2 정보 시스템

  • 정보 시스템(information system)이란 한 조직체의 활동에 필요한 데이터를 수집, 조직, 저장해 두었다가 필요시에 처리해서 의사 결정에 유효한 정보를 생성하여 분배하는 수단이다. 

정보 시스템

  • 경영 정보 시스템(MIS : Management Information System)이란 기업 업무의 기획(planning), 운영(operation), 그리고 통제(control)에 필요한 의사 결정을 위하여 가장 정확하고 최신의 정보를 제공하는 수단으로 사용되는 정보 시스템이라고 한다. 
  • 의사 결정 지원 시스템(DDS : Decision Support System)이란 하나의 전문적인 목적보다는 여러 가지 복합적이고 광범위한 의사 결정 목적을 위해 통합적인 기능을 수행하는 정보 시스템으로 구축된 것이다.
  • 다양한 소스의 데이터를 별도로 추출하여 관리하는 것이 효율적인데 이것을 데이터 웨어하우스(data warehouse)라 한다.  
  • 데이터 웨어하우스의 규모가 대형화디고 복잡하게 될 때 관련된 데이터를 찾아내고 필요한 정보 또는 지식을 생성하는 과정을 데이터 마이닝(data mining)이라 한다. 
  • 지식 관리 시스템(knowledge management system)이란 데이터에서 한 단계에 수준 높은 지식을 직접 저장하고 관리하여 활용하게 하는 시스템이다. 
  • 한 부서가 필요로 하는 정보를 제공하여 주는 서브시스템, 즉 정보 시스템의 일부를 응용 시스템(application system)이라 하고, 이 응용 시스템의 기능을 수행하는 프로그램들을 응용 프로그램(application program)이라 한다. 

1.2 데이터 처리 시스템

1.2.1. 일괄 처리 시스템 

  • 일괄 처리(batch processing)란 응용의 특성상 데이터를 수집해서 분류하고 정렬시킨 다음에 일괄 처리하는 데이터 처리 방법을 말한다. 즉, 이것은 유사한 트랜잭션을 한데 모아 일정 시간에 한꺼번에 처리함으로써 사용자의 요구를 만족시키고 시스템의 효율성을 높이는 데 그 목적이 있다. 
    • 트랜잭션(transaction)이라 함은 논리적 작업 단위로서 하나의 단위로 처리되어야 하는 분리될 수 없는 연산 그룹을 말한다. 
    • 시스템 하에서 여러 가지 트랜잭션(transaction)들을 한데 모아 일괄적으로 처리하기 때문에 각 트랜잭션 당 처리 비용이 적게 들게 된다. 또한 시스템 측면에서는 단위 시간당 처리되는 작업 수가 많게 되어 자연히 시스템 성능을 높일 수 있다.
    • 일괄 처리를 하기 위해서는 먼저 원시 데이터(raw data)를 한 곳에 수집하여 분류해야 된다. 분류된 원시 데이터는 다시 컴퓨터가 다시 판독할 수 있도록 기록 정리하여 화일(file)에 수록한다. 

일괄 처리 시스템의 작업 과정


1.2.2 온라인 처리 시스템

  • 온라인 처리 시스템은 일괄 처리 방식이 필요로 했던 사전 준비 작업 없이 곧바로 데이터를 처리하는 방식을 말한다. 즉, 데이터는 생성되고 그 출처로부터 곧바로 컴퓨터에 전송되고, 전송된 데이터는 컴퓨터가 즉시 처리해서 그 결과를 원하는 장소로 보내 주는 시스템온라인 처리 시스템(on-line processing system)이라고 한다. 
  • 온라인 처리 시스템은 그 처리 결과를 기다렸다가 바로 다음 의사 결정에 반영할 수 있기 때문에 이것을 온라인 실시간 처리(on-line real time processing)라고도 한다. 
  • 데이터가 입력되는 즉시 처리가 되는 실시간 처리가 아니라 일정 시간에 일괄 처리하기 때문에 단순히 온라인 일괄 처리 시스템(on-line batch processing system)이다. 
  • 온라인 처리 시스템에서는 데이터 처리를 위한 대기 시간이 없기 때문에 사용자 중심 처리 방식이라 한다. 
  • 일괄 처리에 있어서의 데이터 입력에 따른 데이터의 분류 및 정리 작업이 절약된다. 또한 데이터의 입력이 일반 현지 요원에 의해 그 생성 출처에서 바로 이루어지므로 데이터 오류도 입력 시에 즉시 발견, 교정할 수 있어서 데이터 처리의 회전 주기를 단축시킨다. 
  • 온라인 시스템은 많은 원격 터미널(remote terminal)들과 계속적으로 통신을 유지해야 되고 이를 위한 통신 제어기(communication controller)가 필요하기 때문에 그 구조가 자연히 복잡하게 된다. 

1.2.3 분산 처리 시스템

  • 전통적인 데이터 처리 시스템은 데이터가 저장된 곳을 중심으로 그 기능들이 집중되는 것이 보통인데 이러한 것을 중앙 집중 시스템(centralized system)이라고 한다. 
  • 분산 처리 시스템(distributed processing system)은 지리적(물리적)으로 분산되어 있는 처리기와 데이터베이스를 네트워크로 연결시켜 사용자는 마치(논리적으로) 하나의 시스템을 사용하는 것처럼 데이터를 처리해 주는 시스템이다. 
  • 분산 처리기(distributed processor)는 지리적으로 분산 설치되어 있는 복수의 컴퓨터, 즉 지역 처리기(local processor)를 말한다. 

분산 처리 시스템

  • 통신 네트워크(communication network)라고 하는 것은 지역적으로 분산되어 독립적으로 운영될 수 있는 처리기들을 연결시켜 자원을 공유하게 함으로써 논리적으로 하나의 시스템과 같이 운영되도록 하는 네트워크를 의미한다. 
  • 통신 네트워크로 연결되어 있지 않고 분산되어 있는 시스템들은 비 중앙 집중 시스템(decentralized system)이라 하여 분산 시스템(distributed system)과 구분하는 것이 보통이다.
  • 분산 데이터베이스(distributed databse)는 데이터가 지리적으로 분산 저장되어 있는 형태의 데이터베이스를 말한다. 
  • 데이터를 처리해 주거나 전송해 주는 컴퓨터 처리기를 서버(server)라 하고, 데이터의 처리나 전송을 요청하는 컴퓨터 처리기를 클라이언트(client)라 한다. 
  • 하나의 데이터베이스만 유지하는 중앙 집중 시스템에서는 하나의 서버에 여러 개의 클라이언트가 공용하는 형태가 되는 반면 데이터베이스가 지역적으로 분산 관리되고 있는 분산 시스템에서는 각 처리기는 데이터의 처리 요구에 따라 클라이언트가 되기도 하고 서버가 되기도 한다. 그러기 때문에 분산 처리 시스템을 클라이언트/서버 시스템(client/server system)으로 표현하기도 한다. 

1.3 데이터베이스의 정의

  • 데이터베이스(database)란 어느 한 조직의 여러 응용 시스템들이 공용할 수 있도록 통합, 저장된 운영 데이터의 집합이라고 정의할 수 있다.
    • 첫째, 데이터베이스는 통합 데이터(integrated data)이다. 데이터가 통합되어 있다는 것은 데이터베이스에서 똑같은 데이터가 원칙적으로 중복되어 있지 않다는 것을 말한다. 중복성을 완전히 배제하는 것이 아니고 경우에 따라 효율성을 증진시키기 위하여 불가피하게 일부 데이터의 중복을 허용하기도 한다. 이러한 중복은 항상 파악할 수 있고 관리할 수 있다. 이것을 최소의 중복(minimal redndancy) 또는 통제된 중복(controlled redundancy)이라고 한다. 
    • 둘째, 데이터베이스는 저장 데이터(stored data)이다. 자기 디스크나 데이프와 같이 컴퓨터가 접근할 수 있는 저장 매체에 저장된 데이터를 말하는 것이다. 
    • 셋째, 데이터베이스에 저장되어 있는 데이터는 운영 데이터(operational data)이다. 어떤 조직도 그 고유의 기능을 가지고 있고 그 기능을 수행하기 위해 반드시 유지해야 될 데이터가 있기 마련인데 이것을 운영 데이터라 한다. 
    • 넷째, 데이터베이스는 공용 데이터(shared data)이다. 이것은 어느 하나의 응용 프로그램이나 응용 시스템을 위한 데이터가 아니라 그 조직에 있는 여러 응용 시스템들이 공동으로 소유하고 유지하며, 이용하는 공용 데이터라는 것이다. 

1.4 데이터베이스의 특성

  1. 실시간 접근성(real-time accessibility)
    컴퓨터에 접근할 수 있는 저장 장치에 저장 관리되고 있는 데이터베이스는 임의적이고 비정형적인 질의(query)에 대하여 실시간 처리로 응답할 수 있어야 한다.
  2. 계속적인 변화(continous evolution)
    데이터베이스는 새로운 데이터의 삽입(insertion), 기존 데이터의 삭제(deletion), 갱신(update)으로 항상 그 내용이 변할 뿐 아니라 이러한 변화 속에서 현지의 정확한 데이터를 유지해야 한다.
  3. 동시 공용(concurrent sharing)
    데이터베이스는 서로 다른 목적을 가진 응용들이 공용할 수 있도록 하기 위한 것이기 때문에 여러 사용자가 동시에 자기가 원하는 데이터에 접근하여 이용할 수 있어야 한다. 
  4. 내용에 의한 참조(contents reference)
    데이터베이스 환경 하에서 데이터의 참조는 저장되어 있는 데이터 레코드들의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용(data contents), 즉 데이터가 가지고 있는 값(value)에 따라 참조된다. 

1.5 데이터베이스의 개념적 구성요소

1.5.1 개체

  • 데이터베이스 분야에서 개체 또는 엔터티(entity)라고 하는 것은 데이터베이스에 표현하려고 하는 유형, 무형의 객체(object)로써 서로 구별되는 것을 뜻한다. 
  • 현실 세계에 대해 사람이 생각하는 개념이나 정보의 단위로서 의미
  • 컴퓨터가 취급하는 파일의 레코드(record)에 대응한다.
  • 하나의 개체는 하나 이상의 속성, 즉 애트리뷰트(attribute)로 구성되고 각 속성은 그 개체의 특성이나 상태를 기술해 준다. 
  • 속성, 즉 애트리뷰트(attribute)라고 하는 것은 이름을 가진, 데이터의 가장 작은 논리적 단위가 된다. 

개체 타입과 개체 인스턴스

 


1.5.2 관계

  • 어느 한 개체를 기술하는 속성들 간의 속성 관계(attribute relationship)와 개체 집합과 개체 집합 사이의 관계를 나타내는 개체관계(entity relationship)으로 나누어 볼 수 있다. 
  • 속성 관계는 한 개체 내에서만 존재, 개체 내 관계(intra-entity relationship)라 하고 개체 관계는 개체 외부에 존재, 개체 간 관계(inter-entity relationsip)라 한다. 
  • 개체와 관계를 도식으로 표현한 다이어그램을 E-R 다이어그램(entity-relationship diagram)이라 한다. 

E-R 다이어그램


1.6 데이터베이스의 구조

  • 데이터베이스의 논리적 구조(logical structure)는 사용자가 생각하는 데이터의 논리적 표현이다. 즉, 데이터를 이용하는 일반 사용자나 응용 프로그래머의 입장에서 보는 데이터베이스 구조로서 데이터가 배치되어 있다고 간주하는 가상적인 논리적 구조를 말한다. 
    • 이 논리적 구조에서 취급하는 데이터 레코드들을 논리적 레코드(logical record)라고 한다.
  • 데이터베이스의 물리적 구조(physical structure)라고 하는 것은 디스크나 테이프와 같은 저장 장치 위에 물리적으로 저장되어 있는 데이터의 실제 구조를 말한다. 이것은 저장 장치의 입장에서 본 데이터베이스 구조로서 저장 데이터의 물리적 배치를 표현한 것이다.
    • 이 데이터베이스의 물리적 구조에서 취급하는 데이터 레코드들을 저장 레코드(stored record)라 한다.