[데이터베이스] 1. 데이터베이스의 개념 및 구조

정보 시스템


1. 정보와 데이터

  • 데이터 (Data)
    • 실세계에서 관찰 또는 측정된 사실 (fact) 또는 값(value)
    • 숫자(number), 문자(character), 문자열(string), 텍스트(text), 이미지(image)로 표현
  • 정보 (Information)
    • 상황에 따라 적절한 결정(decision making)을 할 수 있게 하는 지식(knowledge)

⬇️ 예시

 

2. 정보 시스템(Information System)

  • 조직체의 활동에 필요한 데이터를 수집(collect), 조직(organize), 저장(store)하고 데이터 처리를 통해 의사 결정에 유용한 정보를 생성하는 수단

  • 정보 시스템의 명칭
    • 경영 정보 시스템 (MIS, Management Information System)
    • 군사 정보 시스템 (Military Information System)
    • 행정 정보 시스템 (Administration Information System)
    • 인사 정보 시스템 (Personal Information System)
    • 의사 결정 지원 시스템 (DSS, Decision Support System)
      • 데이터 웨어하우스 (Data warehouse)
      • 데이터 마이닝 (Data Mining)
    • 지식 관리 시스템 (Knowledge Management System)

예) 여러분이 수강신청, 휴복학, 성적조회 등을 위해 사용하는 시스템의 명칭은? 학사행정 시스템

 

데이터 처리 시스템


⬇️ 작업방식 : 정보시스템에서 작업을 처리하는 방식에 따라 구분함

 

1. 배치 처리(batch processing)

  • 초창기 컴퓨터의 작업처리 방식
  • 현재도 사용
  • 한꺼번에 처리(일괄처리)
  • 일괄 처리 - 동일한 트랜잭션(transaction, 작업)을 모아 일정 시간에 한번에 처리

예) 전화비 고지서 생성, 납세 고지서 생성, 등록금 고지서 생성

2. 온라인 처리(on-line processing) 

  • 요청된 작업(트랜잭션)은 즉시 처리
  • 예) 인터넷 뱅킹, 수강신청, 현재까지 사용한 통신 요금 실시간 확인

일괄 처리 vs 온라인 처리

 

  일괄 처리 온라인 처리
처리작업수/단위시간 많다 작다
운영 비용 상대적으로 저렴 고비용
트랜잭션당 처리 비용 작다 크다
대기시간(Response) 길다 짧다

 

  • 여기서 트랜잭션이란?
    • 데이터베이스에서 처리하는 작업의 단위
    • ex) 은행계좌로 계좌이체 조회 → DB에서는 계좌이체가 트랜잭션, 수강신청
  • 대기시간(Response)
    • 어떤 일을 처리하는 데 걸리는 시간

 

⬇️ 정보 시스템의 구조

 

1. 중앙 집중 시스템(centralized system)

  • 데이터와 자원을 한 곳에 집중하여 처리
  • 좋은 컴퓨터 하나만을 가지고 처리
  • 예) 메인프레인 컴퓨터

 

2. 분산 시스템(distributed system)

  • 분산처리 시스템( distributed processing system)으로도 불림
  • 다수의 컴퓨터를 네트워크로 연결하여 하나의 시스템처럼 데이터를 처리
  • 좋은 컴퓨터는 아니지만 컴퓨터를 나눠서 할 일을 처리
  • 오늘날 대부분의 데이터 처리 시스템이 사용하는 방식
  • ⬇️ 예) 클라이언트-서버(client-server), P2P(peer-to-peer)

  • 클라이언트-서버 시스템 : 클라이언트가 서버에게 요청한 데이터/서비스를 네트워크를 통해서 처리하는 과정
    • World Wide Web : 가장 거대한 client-server 시스템
  • P2P : 각 노드는 필요에 따라 서버 또는 클라이언트로 동작할 수 있는 동등한 능력을 가진 동료들과 함께 데이터를 주고받음
💡클라이언트-서버 분산 시스템과 P2P 분산시스템의 차이점

클라이언트-서버 구조는 클라이언트가 자원을 요청하고 서버가 그것을 제공하는 비대칭적 기능이고, P2P는 필요에 따라 각 노드가 서버 또는 클라이언트로 동작할 수 있는 동등한 능력을 가진 peer들끼리 데이터를 주고받는 대칭 기능임

 

  • 클라우드 컴퓨팅(Cloud Computing)

 

데이터베이스의 정의, 특성, 개념


  • 데이터베이스(DataBase)
    • 한 조직의 여러 응용 프로그램들이 공유하여 사용하는 통합되고 저장된 운영 데이터의 집합
    • 정보시스템을 구성하는 핵심적인 요소
  • 데이터베이스 관리 시스템 (DBMS, DataBase Management System)
    • 데이터베이스를 사용할 수 있게 하는 소프트웨어(Software)
    • ⬇️ DBMS 종류

데이터베이스의 조건

 

1. 통합된 데이터 (integrated data)

  • 최소의 중복 (minimal redundancy)
  • 통제된 중복 (controlled redundancy) → 같은 데이터 내에서 중복된 데이터를 가지고 있으면 안됨

⬇️ 데이터의 중복 관리 예

→ 같은 데이터를 여러 개 가지고 있으면 안됨

2. 저장 데이터 (stored data)

  • 컴퓨터가 접근할 수 있는 매체에 저장되어야 함

3. 운영 데이터 (operational data)

  • 조직의 업무를 위한 데이터

4. 공용 데이터(shared data)

  • 조직의 여러 사람들과 응용프로그램이 공유하여 사용

 

데이터베이스의 특성

 

1. 온라인 접근성(on-line accessibility)

  • 질의(query)에 대한 온라인 응답

2. 계속적인 변화(continuous evolution)

  • 지속적으로 데이터 삽입, 갱신, 삭제
  • → 새로운 데이터 추가

3. 동시 공용(concurrent sharing)

  • 여러 사용자가 동시에 데이터를 접근할 수 있음

4. 내용에 의한 참고(content reference)

  • 데이터의 조건 또는 특성만 알려주면 그것을 접근할 수 있음
  • 데이터의 주소 또는 위치를 알 필요는 없어야 함

 

데이터의 구성

- 데이터베이스를 구성하는 데이터는 크게 보아 다음과 같이 구분할 수 있음

 

1. 개체(Entity)

  • 현실 세계의 개념 또는 정보의 단위
  • 예) 사람, 학생, 교수, 강의실 ..
  • 속성(attribute)들로 구성

2. 관계(Relationship)

  • 개체(집합)들 관의 관계

 

데이터베이스의 구조


  • 논리적 구조(logical structure)
    • 엑셀 파일과 같은 것이라고 생각하면 됨
    • 일반 사용자 또는 응용프로그래머 입장의 데이터 베이스 구조
    • 관계형 데이터베이스의 경우 레코드들로 이루어진 테이블
  • 물리적 구조(physical structure)
    • 하드웨어적인 관점
    • 저장 장치에 기록되는 물리적인 배치 구조
    • 디스코블록, 포인터 체인, 인덱스, 오버플로우 등…