3 분 소요


▶ 파일 시스템 문제점

▷ 데이터 중복성

  • 같은 데이터가 여러 파일에 중복저장됨
    • 저장 공간의 낭비
    • 데이터 일관성 저해, 데이터 무결성 저해


① 데이터 일관성 저해

  • 데이터 일관성
    • 여러 데이터가 동일 사실을 나타내면 그 내용이 모두 똑같아야 함
  • 데이터 중복시 일관성 유지 어려움 → 데이터 불일치


② 데이터 무결성(정확성) 저해

  • 데이터 무결성
    • DB에 저장된 데이터 값과 현실 세계의 실제 값이 일치하는 정확성
  • 데이터가 중복되면 데이터에 대한 제어가 분산되어 데이터의 정확성을 유지하기 어려워짐


▷ 데이터 종속성

  • 데이터 종속성
    • 응용 프로그램과 데이터 간의 상호 의존(데이터 종속) 관계
  • 데이터의 구성 방법이나 접근 방법이 변경 되면 응용 프로그램도 동시에 변경해야 됨 → 응용 프로그램 관리가 어려워짐


▷ 기타

  • 동시 공용 불가
  • 보안성 저해
  • 회복 기능 부족
  • 응용 프로그램 개발의 어려움




▶ DBMS

▷ DBMS란?⭐

  • DBMS(Database Management System)
    • 응용 프로그램과 데이터 사이의 중재자로서, 모든 응용 프로그램(사용자)들이 DB를 공용할 수 있게 관리해주는 SW 시스템
  • 파일 시스템 문제를 해결하기 위해 제시된 SW
  • 조직에 필요한 데이터 DB에 통합 저장 관리


▷ DBMS 필수 기능⭐

  • 정의기능
    • 데이터베이스 구조를 정의할 수 있는 기능
    • 데이터 정의 언어(DDL : Data Definition Language)를 사용하여 DB생성
  • 조작기능

    • 데이터베이스를 접근하고 조작할 수 있는 기능
    • 데이터 조작 언어(DML : Data Manipulation Language)를 사용하여 데이터의 검색, 삽입, 삭제 등 DB 연산 작업을 수행
  • 제어기능
    • 데이터베이스의 정확성과 보완성을 유지할 수 있는 기능
    • 데이터 제어 언어(DCL : Data Control Language)를 사용


▷ DBMS의 장점

  • 데이터 중복의 최소화
    • 데이터 통합 구성함으로써 중복 최소화
    • 제어된 중복만 허용
  • 데이터의 동시 공용
  • 데이터 일관성 유지
    • 데이터 중복을 줄여 불일치 최소화
  • 데이터 무결성 유지
    • 정확성 유지 가능
    • DB가 접근 처리 될 때마다 제어 기능을 통해 유효성 검사
  • 데이터 보안 보장
  • 표준화 용이
  • 장애 발생시 회복 가능
    • 데이터의 일관성과 무관성을 유지하면서 장애 발생 이전 상태로 복구
  • 응용 프로그램 개발 비용 감소
    • DB 구조가 변경되어도 응용 프로그램 변경할 필요X


▷ DBMS의 단점

  • 운영비 증대
  • 복잡한 백업과 회복
  • 시스템의 취약성
    • 데이터 중앙 집중 관리하기 때문에 일부 장애 → 전체 시스템 마비




▶ DB의 개념적 구성 요소

  • DB는 개념적으로 개체관계로 구성되어 있다.
  • DB = { 개체, 관계 }


▷ 개체

  • 개념이나 정보의 단위
    • ex) 학생, 교수, 학과
  • 하나 이상의 속성으로 구성
    • ex) 학생 이라는 개체는 “학번”, “이름”, “학과”라는 3개의 속성들로 구성


▷ 관계

  • 개체 집합과 개체 집합 사이의 관계
    • ex) “학생”개체와 “교수”개체 사이의 지도 관계
      • 학번이 123인 학생의 지도 교수를 검색해라


▷ 스키마⭐

  • 데이터베이스에 저장되는 데이터 구조와 제약조건을 정의한 것
    • 개체, 속성, 관계, 제약조건 등 포함
  • 인스턴스
    • 정의된 스키마에 따라 DB에 실제로 정의된 값


① 외부 스키마

개별 사용자 관점에서 정의 한 DB 스키마

  • 하나의 DB 시스템에는 여러개의 외부 스키마가 존재한다.
  • 일반 사용자는 질의어를 이용하요 DB를 쉽게 사용한다.


② 개념 스키마

  • 조직 전체의 관점에서 정의 한 DB 스키마
  • 개념스키마를 단순히 스키마 라고 칭하기도 한다.

  • 모든 응용프로그램이나 사용자들이 필요로하는 데이터를 통합한 조직전체의 스키마
  • 개체, 관계, 제약조건 포함
  • 관리에 필수적인 DB접근 권한, 보안정책, 무결성 규칙에 대한 정의도 포함
  • DB당 하나만 존재 (DB전체를 기술한 것이기 때문)


③ 내부 스키마

저장장치 관점에서 정의한 DB 스키마

  • DB 시스템당 하나
  • 개념 스키마에 대한 물리적 저장 구조를 정의
    • 레코드의 구조, 필드 크기, 인덱스의 유무, 레코드의 물리적 순서 등
  • DB당 하나만 존재


▷ 3단계 DB 구조

DB의 복잡한 내부 구조를 감추고 일반 사용자가 DB를 쉽게 이해하고 이용할 수 있도록

하나의 DB를 관점에 따라 세 단계로 나누어 정의한 것

  • 외부 단계

    • 데이터를 이용하는 개별 사용자의 관점
    • 외부 스키마
  • 개념 단계

    • 개별 사용자의 관점이 종합된 조직 전체의 관점
    • 개념 스키마
  • 내부 단계

    • 물리적인 저장 장치의 관점
    • 내부 스키마




▶ 데이터 독립성⭐

개념

  • 데이터의 논리적/물리적 구조가 변경되더라도 응용 프로그램에 영향을 미치지 않는 특성

  • 스키마를 3단계로 나눠 구성하는 이유가 된다.
  • 구조가 바뀌어도 소스코드 변경이 필요 없다.
    • 이름,나이 -> 나이,이름으로 필드의 위치가 변경되었을 때 DBMS가 스키마 사이 매핑 수정해주기 때문에 코드 변경할 필요가 없는 것이다!


▷ 스키마 간의 매핑

매핑?

  • 3가지 스키마 사이에서는 유기적인 대응 관계(매핑)가 성립해야한다.

  • 스키마 간의 매핑을 통해 구체적으로 데이터 독립성을 구현할 수 있다.




▶ DB 사용자

  • 일반사용자

    • 주로 DML을 통해서 DB 접근
    • 데이터의 삽입, 삭제, 수정, 검색
  • 응용 프로그래머

    • 응용 프로그램(프로그래밍 언어 + DML)을 통해서DB 접근
  • DB 관리자(DBA)

    • DDL과 DCL을 통해 DB를 정의하고 제어하는 사람
    • DB 시스템을 운영/관리




📎참조

  • https://codedragon.tistory.com/5245
  • https://kingnamji.tistory.com/36
  • https://jwprogramming.tistory.com/47

태그: ,

카테고리:

업데이트:

댓글남기기