본문 바로가기
Programming/Database

Database #1 정보시스템

by 하하호호 2021. 10. 20.
반응형

 

 

#자료

- 측정을 통해 얻은 단순한 값을 의미한다.

- 처리되지 않은 데이터를 의미한다.

 

#정보

- 자료를 처리하여 얻은 값이다.

- 자료에 대한 분석을 통해 얻은 지식이다.

 

#일괄처리 시스템

- 입력데이터를 모아두고 처리를 한번에 하는 것이다.

- 컴퓨터가 굉장히 비싼 시절에 사용하던 방식이다.

- 전화요금, 급여계산 등등

 

#온라인 처리 시스템 

- 데이터 발생시 즉시 컴퓨터가 트랜잭션을 수행하는 방법이다.

- 좌석예약, 은행 입출금 업무, 우주선 업무 등

 

# 분산처리 시스템

- 분산되어 있는 처리기를 통신 네트워크로 연결(인터넷 LAN)해서

논리적으로 하나의 시스템을 사용하는 것처럼 운영하는 방식이다.

지역에서 처리하지 못하는 것은 중앙 컴퓨터에서 처리한다.

- 시스템 장애 발생 시 다른 처리기로 신뢰성을 증진시킨다.

 

 

# 데이터 베이스

- 응용 시스템들이 데이터를 공유할 수 있도록 운영에 필요한 

모든 데이터를 통합해서 컴퓨터에 저장한 데이터를 의미한다.

- 현실세계의 데이터를 컴퓨터에 저장하는 작업이다.

  • 공용 데이터
  • 운영 데이터
  • 통합 데이터
  • 저장 데이터

# Database 특징

  • 동일 데이터 중복성을 최소화 한다.
  • 새로운 데이터를 삽입,삭제,갱신을 통해 업데이트 가능
  • 질의에 대한 실시간 접근이 가능해야 한다.
  • 사람들이 동시에 공유가 가능해야 한다.
  • 메모리 주소가 아닌 값에 따른 참조가 가능
  • 개체 사이의 관계성을 저장한다.

# Database 등장배경

  • 최신 정확한 정보를 신속하게 이용
  • 여러 사용자가 데이터를 공유하게 된다.
  • 현실 세계를 빠르게 반영하기 위해 삽입, 삭제, 갱신을 통해 현재의 데이터를 동적으로 유지
  • 데이터 가용성 증대를 위해 중복을 최대한 배제한다.
  • 물리적인 주소가 아닌 값에 따른 참조가 필요하다.

# Database 구성 요소

  • 속성 Attribute || Fields : 데이터 베이스를 구성하는 가장 작은 논리적 단위 / 파일 시스템 필드 개념
  • 개체 Entity 정보를 나타내는 논리적 단위 / 파일 시스템의 레코드에 해당 / 속성이 모인 집합/ 개체는 단독으로 존재한다. / 모든 개체는 구별이 가능하다.
  • 개체타입 Entity Type || Entity Schema 속성에 대한 조건이 포함된 논리적인 정의, 설계를 의미한다.
  • 개체 인스턴스 Entity Instance 실제 속성에 값이 들어가 있는 상태를 의미한다.

 

# Database 관계

  • 속성관계 : 개체를 기술하기 위해 개체가 가진 성질을 파악해 속성으로 구성하고, 속성과 속성 사이의 관계를 가지고 개체를 기술하게 된다. 속성관계 개체내 관계라고 한다. (Intra Entity Relationship)
  • 개체관계 : 개체와 개체 사이의 관계를 의미하는 것이다.

 

 

 

 

# Database 구조

  • 논리적 구조 : 프로그래머가 DB를 바라보는 관점에서 데이터 배치 형태를 의미하는 것. 논리적 레코드를 가지고 전개한 모형을 의미한다.
  • 물리적 구조 : Data가 실제적인 물리적 저장 장치에 배치되어 있는 형태를 의미한다.

 

# Database 3단계

  • 외부단계 : 사용자 관점에서 DB를 사용할 수 있도록 외부 스키마가 마련된 단계
  • 개념단계 : 전체 정보를 표현하는 단계
  • 내부단계 : 저장 장치에 대한 물리 적 형태를 표현하는 단계 , 하나의 내부 스키마를 가지게 된다.
  • 스키마 : 데이터 조건값에 대한 정의를 의미한다. 

 

# 스키마 Schema 스키마란?

  • 현실세계를 컴퓨터로 옮기는 과정에서 하나의 레코드를 구성하게 되는데, 만들어진 데이터와 제약사항을 포함한 개념을 의미한다.
  • DB의 전체적인 논리적 설계를 의미하고, 데이터 객체, 성질, 관계, 제약조건에 관한 정의를 총칭하는 개념
  • 시간에 따른 불변의 특성을 가진다. 외부 명령없이는 변형이 안된다.
  • 스키마는 데이터 구조적 특성을 의미하고 인스턴스에 의해 규정된다.

# 스키마 3층 구조

  • 외부 스키마 : 논리적 구조, 사용자들이 원하는 논리적 구조를 정의한다. 각각의 사용자를 위해 사용되므로 여러개 존재한다.
  • 개념 스키마 : 데이터를 조직 전체의 데이터베이스 구조를 논리적으로 정의하는 개념, 모든 개체들의 관계 정의, 데이터 베이스의 접근 권한, 보안, 무결성 원칙을 가진다.
  • 내부 스키마 : 전체 데이터 베이스의 물리적 저장 형태를 기술하는 개념이다. 인덱스 존재

# Database 독립성

  • 논리적 데이터의 독립성 : 응용 프로그램의 수정 없이 논리적 데이터 스키마를 변경할 수 있다.
  • 물리적 데이터의 독립성 : 물리적 저장 장치를 바꾸어야 하는 경우에도 응용 프로그램 변경없이 물리적 데이터 구조를 변경할 수 있다.

# DBMS(데이터 베이스 관리 시스템) 정의

  • Oracle, MySQL, MongoDB, PostgreSQL 등을 의미한다.
  • 데이터 집단과 데이터를 관리하는 프로그램의 집합체로서 운영체제 위에서 작동한다. 데이터 베이스의 생성과 조작을 담당하는 소프트웨어 시스템이다. 

# DBMS 구조

  • 운영체제 위에 존재
  • 질의처리기(Query Process) : 사용자가 요청한 질의어를 데이터베이스 로우레벨로 변경
  • 예비 컴파일러(Precompiler) : 응용 프로그램의 데이터 조작어(DML)을 추출
  • DML 컴파일러 : 예비 컴파일러에서 추출된 DML을 목적코드로 변환하는 처리기
  • 런타임 데이터베이스 처리기(Runtime Database Processor) : 병렬로 DB접근을 실행시키는 처리기
  • 저장 데이터 관리기(Stored Data Manager) : Disk에 적재된 파일과 데이터 사전을 관리한다.
  • 데이터 언어 : SQL
  • 데이터베이스 관리자 : DBA
  • DML이란(Data Manipulation Language )? - 검색, 등록, 삭제, 갱신을 위한 DB 언어
  • DDL이란(Data Definition Language)? - 데이터베이스 생성, 수정, 삭제 등 전체의 골격을 결정하는 언어

 

 

# Database 관리 시스템의 필수 기능

  1. 데이터 정의 기능(Definition Facility)
    - 데이터베이스의 논리적 구조 / 물리적 구조 정의 / 물리적 구조와 논리적 구조 사이의 mapping을 정의할 수 있어야 한다.
    -Ex) CREATE / ALTER / DROP 등
  2. 데이터 조작 기능(Manipulation Facility)
    - 사용자가 데이터를 처리할 수 있게 하는 도구
    - 사용자와 데이터베이스 사이의 인터페이스 수단을 제공하는 기능
    - Ex) SELECT / INSERT / DELETE / UPDATE
  3. 데이터 베이스 제어 기능(Control Facility)
    -  데이터베이스의 무결성 유지, 보안, 권한제어, 시스템 장애 대비, 데이터 회복과 병행 제어등을 위한 언어
    - 동시성 제어[Concurrency Control]
    - 보안/ 권한 검사 기능[Security/ Autority]
    - 무결성 제약 조건 유지 기능[Integrity]

#  데이터베이스 관리 시스템 장단점

  • 장점 : 
    -중복을 최소화 시킨다.(중복 제거하는 건 아니다.)
    -데이터 공유
    -데이터 표준화
    -데이터 보안 유지
    -데이터 무결성 유지
    -통합적 데이터 관리/ 일관성 유지
  • 단점 :
    - 구축 비용이 많이 든다.
    - 데이터 파괴에 대한 회복이 어렵다. 회복절차 수립이 어렵다.
    - 한 부분에 장애가 생길 경우 전체 시스템에 영향을 주는 취약성이 존재한다.
    - 모든 데이터 개체들이 연결되어 있기 때문에 전체 시스템에 영향을 줄 수 있는 것이다.

# 기존 파일 처리 시스템 문제점

  • 데이터베이스 관리 시스템과 파일 시스템의 가장 큰 차이점은 데이터의 종속문제와 데이터의 중복 문제다.
  • 하나의 데이터 구조를 하나의 응용 프로그램이 관리한다.
  • 데이터 구조를 변경해야 하면, 그 응용 프로그램도 변경해야 됨
  • 같은 내용이라도 구조가 다르면 데이터를 중복시켜 관리해야 한다.
  • 데이터 종속성 : 논리적 데이터 구조와 응용 프로그램 간의 종속 관계를 의미한다.
  • 데이터 중복성 : 같은 내용도 구조가 다른면 중복 저장+관리 되어야 하는 것을 의미한다.
반응형

댓글