시스템과 실세계

시스템이란?

하나이상의 구성요소들이 상호관계를 갖거나 상호작용을 하면서 어떤 목표를 추구하거나 다른 시스템과 관련한 기능과 역할을 담당하는 하나의 집합체다.

실세계란?

관심의 대상이 존재하는 시스템을 의미한다. 여기서 관심의 대상은 반드시 가시적인 물리적 존재만을 의미하는 것은 아니다.

데이터베이스 개념

서로 연관된 정보의 중복을 최소화하여 한 곳에 모아 저장함으로써 다수의 사용자로 하여금 필요한 정보를 공유하도록 한 정보의 집합체

파일처리 시스템의 문제점

파일처리 시스템에서 응용 프로그램들은 서로 파일들을 공유하지 않고 독자적인 파일들을 이용하고 관리하기 때문에 다음과 같은 문제가 생긴다.

  • 응용프로그램들이 각각 사용하는 파일들은 공유가 어렵다.
  • Data Redundancy 데이터 중복성 : 동일한 내용의 정보가 여러 개의 파일 내에 중복 저장되는 경우가 종종 발생한다.
  • Data inconsistency 데이터 불일치성 : 서로 다른 곳에 중복 저장된 데이터가 동일하게 수정되지 않는 경우가 생긴다.
  • Data dependency 데이터 종속성 : 응용프로그램이 파일의 형식에 종속되어 파일구조가 변경되면 이 파일을 이용하는 응용프로그램 또한 변경해야 한다.
  • 파일 상호간에 호환성이 없는 경우가 있다.

데이터베이스 시스템의 특성

  • 실시간 접근성

    실시간 처리는 생성된 데이터를 즉시 컴퓨터에 바로 반영할 수 있게 하는 처리 방식을 말한다.

  • 계속적인 변화

    데이터베이스의 상태는 동적이다. 데이터베이스는 데이터 삽입, 삭제, 갱신을 통하여 실세계를 정확히 반영하는 데이터를 유지하면서 변화한다.

  • 동시 공유

    여러사용자가 하나의 응용프로그램으로 동시에 접근하는 데이터도 아니며, 여러 응용프로그램이 동시에 데이터에 접근하여도 순차적으로 공유하는 개념과도 다르다. 진짜 동시!!

  • 내용에 의한 참조

    레코드의 물리적인 주소가 아니라 하나의 논리적인 단위로 취급하고 접근한다.

데이터베이스 추상 레벨과 데이터 독립성

데이터베이스는 사용자가 데이터에 대한 물리적 저장구조와 유지보수에 대한 상세한 내용을 모르더라도 논리적 개념만을 이용하여 데이터를 참조할 수 있어야한다.

데이터 추상화

  1. 물리적 레벨 : 디스크상의 실린더, 트랙, 섹터 위치, 데이터 크기등을 기술한다. 내부스키마
  2. 논리적 레벨 : 데이터 종류와 데이터 사이에 존재하는 관계를 나타낸다. 외부스키마, 개념적스키마
  3. 뷰 레벨 : 데이터베이스의 부분만을 나타내어 다른 부분을 접근하지 못하도록 보안 메커니즘 제공

인스턴스와 스키마

특정 시점에서 데이터 베이스에 저장된 데이터들의 모임을 데이터베이스의 인스턴스라고 하고, 전체 설계를 데이터 베이스 스키마 라고 한다.

데이터 독립성

  • 물리적 독립성

물리적 데이터의 변경은 응용프로그램의 변경을 유발하지 않고 물리적 스키마를 변경할 수 있어야한다.

  • 논리적 데이터 독립성

응용 프로그램의 변경을 유발 시키지 않고 논리적 스키마를 변경할 수 있어야한다.

데이터 베이스 시스템 구성

  • DBMS 데이터베이스 관리 시스템

    데이터 베이스 내의 모든 데이터 접근은 데이터베이스 관리 시스템을 통해서만 가능하다.

  • 응용프로그램

    데이터 베이스관리 시스템과 상호작용한다.

  • 사용자

    데이터 베이스 관리시스템을 이용하는 사람 모두 사용자가 된다. 일반 사용자, 응용프로그래머, 데이터베이스 관리자로 나눈다.

데이터 언어

  • 데이터 정의어

    스키마 만들때 사용

  • 데이터 조작어

    데이터 검색, 삽입, 갱신, 삭제를 위한 명령어들

  • 질의어

    응용프로그램에 데이터 정의어 또는 조작어를 포함시켜 데이터를 접근하는 방법, 질의어는 데이터 정의와 조작 그리고 관리를 위한 명령어들을 포함한다.