인용하는 그림은 다양한 곳에서 가져왔음을 밝힙니다

Ch 1. DB 시스템

Section 1. DB

1.1 데이터와 데이터 베이스 개념

  • DB = 필요한 데이터를 모아 놓은 것

1.2 데이터와 정보

  • 데이터 : 관찰하거나 측정하여 기술하는 가공되지 않은 사실이나 값
  • 정보 : 의미 있고 쓸모 있는 내용으로 가공한 데이터

1.3 DB의 정의와 특징

  • DB : 특정 조직에서 여러 명의 사용자 또는 응용 시스템들이 공유하고 동시에 접근하여 사용할 수 있도록 구조적으로 저장한 운영 데이터의 집합
  • 공유 데이터(shared data)
  • 통합된 데이터 : 중복을 최소화 하는 것이 중요하다.
  • 저장된 데이터(stored data)
  • 운영 데이터(operational data)
  • DB 특징
  • 실시간 처리 : 쿼리에 실시간으로 응답
  • continuous evolution : 데이터 유지를 위해
  • concurrent sharing
  • content reference

Section 2. DBMS

2.1 DBMS 개념

2.2 DBMS의 등장배경

  • 파일 시스템을 사용하여 데이터를 처리하는 응용 프로그램은, 각 응용 프로그램마다 파일에 접근, 관리, 유지하는 방법이 다르다. Fig
  • 파일 시스템은 OS가 설치될 때 게본적으로 설치되기 때문에 추가 비용이 발생하지 않지만, 데이터 종속정(dependency)와 중복성(redundency)문제가 있다.
  • 데이터 종속성
  • 데이터와 응용 프로그램 간의 상호 의존 관계
  • 데이터의 구성 방법이나 구성 형식, 접근 방법을 변경하면 응용프로긂도 함께 변경되어야 한다.(컴파일 필요)
  • 데이터 중복성

2.3 DBMS의 정의 및 장단점

  • 사용자 또는 응용프로그램 사이에 위치하여 데이터베이스를 공유할 수 있도록 관리해 주는 소프트웨어
  1. 데이터 중복 최소화
  2. 데이터 sharing
  3. data consistency
  4. data integrity
  5. data security
  • 항상 DBMS의 사용이 최선은 아니다. 고려해서 선택하면 됨.

2.4 DBMS의 종류

  • 네트워크 DBMS : 그래프 기반 모델. 1960 초반

Fig

  • 레코드 변경이 용이하지 않다. 레코드의 간의 관계를 알아야만 문제없이 변경 가능.
  • 계층 DBMS : 트리 구조. 1960 후반

Fig

  • 데이터 접근 방법을 미리 정희해야 하고, DB가 생성 될때 각각의 관계가 명시적으로 정의 되어야하는 단점
  • 레코드들이 연결되어 있어 구조 변경이 어렵다
  • 관계 DBMS. 1970 년도
  • 테이블 기반의 관계 모델. 사용자는 자신이 원하는 거만 명시하고 데이터가 어디이 있는지, 어떻게 접근해야 하는지 고려하지 않아도 된다.

Section 3. DB 시스템

3.1 DB 시스템의 구성 요소

Fig

  • 사용자
    1. 일반 사용자
    1. 응용 프로그래머
    1. 데이터베이스 관리자
  • 데이터 언어
    1. 정의어 : CREATE, ALTER, DROP
    1. 조작어 : INSERT, UPDATE, DELETE
    1. 제어어 : GRANT(권한 추가), REVOKE(권한 회수)
  • DBMS : Oracle, mssql server, my sql server
  • DB
  • 저장 DB
  • DB 저장 : 데이터 개체에 대한 정의와 명세, meta data

3.2 3단계 데이터베이스 시스템 구조와 데이터 독립성

  • DB의 다음의 3단계로 DB를 기술하고 이들 간의 관계를 정립하여 관리
  • 3단계 DB 관리
  • external level : 개별 사용자의 입장에서 데이터를 이용하는 견해
  • conceptual level : 조직의 입장에서 보는 개인의 모든 견해. 종합된 조직 전체의 견해
  • internal level : 물리적 저장 장치의 입장에서 보는 저장장치의 견해
  • 데이터 구조와 그 제약조건에 대한 명세를 기술한 것으로 컴파일되어 데이터 사전에 저장된 것을 스키마(schema) 라고 한다.
  • 3단계 스키마
  • external schema : 개별 사용자 입장에서 DB 구조를 기술한 것. 개별 사용자를 위한 여러 형태의 외부 스키마 존재
  • conceptual schemal : 조직 전체의 입장에서 통합된 DB를 기술한 것. 하나의 개념 스키마만 존재. schema 라고도 부름
  • internal schema : 저장장치 입장에서 전체 데이터베이스가 저장되는 방법을 명세한 것. 하나의 내부 스키마만 존재
  • 스키마 사이에 있는 대등관계 사상
  • 3 단계 간의 사상
  • 외부/개념 사상 : 논리적 구조(개념 스키마)를 변경하더라도 응용 프로그램에 영향을 주지 않아서 논리적 데이터 독립성 제공
  • 개념 내부 사상 : 물리적 구조(내부 스키마)를 변경하더라도 응용 프로그램과 논리적 구조에 영향을 주지 않아 물리적 데이터의 독립성 제공
  • 내부/장치 사상 : 내부 스키마와 물리적인 장치 간의 대응 관계를 정의한 것

Fig