[DB] DBMS

kjihye0340·2021년 5월 14일
0

db

목록 보기
1/4

DBMS(Database Management System)

데이터베이스 내의 데이터에 접근할 수 있도록 해주는 시스템
ex : Oracle, MySQL

주요 기능

  1. 정의 : DB구조 정의 혹은 수정
  2. 조작 : DB에 저장된 데이터에 접근하여 사용할 수 있는 기능 제공
    (삽입, 삭제, 수정, 검색)
  3. 제어 : 데이터를 여러 사용자가 공유해도 항상 정확하고 안전하게 유지하는 기능 제공
    조작 연산 후에도 다음과 같은 특징을 갖도록 제어한다.
    • 내용이 일관
    • 무결성 유지
    • 장애 발생시 회복 가능
    • 권한에 따른 데이터 접근 허용으로 보안 유지
    • 여러 사용자가 데이터 동시 접근 가능

장점

  • 데이터 중복 통제
    • 파일 시스템은 응용 프로그램마다 각각의 파일을 갖고 있기 때문에 각 파일들 안에 중복된 데이터가 있을 수 있음
    • DBMS는 DB에 데이터를 통합하여 관리하기 때문에 중복 문제 해결
  • 데이터 독립성 확보
    • 파일 시스템은 파일 구조가 바뀌면 응용 프로그램도 함께 수정해야 함
    • DBMS는 응용 프로그램을 대신해 DB에 접근하기 때문에 DB의 구조가 변경되어도 응용 프로그램이 영향을 받지 않음
  • 데이터 동시 공유 가능
  • 데이터 무결성 유지
    • 연산이 수행될 때 마다 유효성 검사

단점

  • 비용이 많이 든다
    • 파일 시스템은 운영체제와 함께 설치됨
  • 백업과 회복 방법이 복잡함
    • 데이터 양이 많아 복잡하고 여러 사용자가 같은 DB를 공유하기 때문
  • 중앙 집중 관리로 인한 취약점 존재

3단계 데이터베이스 구조

  • 외부 스키마
  • 개념 스키마
  • 내부 스키마

스키마 : 데이터베이스의 구조와 제약 조건에 관한 명세

외부 스키마

  • 일반 사용자나 응용 프로그래머가 접근하는 계층, View의 개념
    • View 또는 SQL 쿼리를 통해 외부 스키마 구성
  • 전체 데이터베이스 중 논리적인 부분
  • 여러 개의 외부 스키마가 있을 수 있음
  • 실제로 보여지는 부분

개념 스키마

  • 전체 데이터베이스의 정의
    • 어떤 데이터들이 기억되어야 하는지, 그 데이터들 간에는 어떤 관계가 있는지
  • 통합 조직별로 하나만 존재
  • 하나의 데이터베이스에는 하나의 개념 스키마

내부 스키마

  • 물리적 저장 장치에 데이터베이스가 실제로 저장되는 방법 표현
    • 물리 스키마 라고도 부름
  • 하나의 데이터베이스에 하나의 내부 스키마

데이터의 독립성

  • 특정 스키마를 변경해도 상위 수준의 스키마 정의에 영향을 주지 않는 성질
  • 외부-개념 스키마와 개념-내부 스키마는 서로 독립성을 가짐
    • 각 계층 구조를 유기적으로 연결(Mapping)해주기 때문

논리적 데이터 독립성

  • 외부 스키마와 개념 스키마 사이의 독립성
    개념 스키마가 변경되어도 외부 스키마에 영향을 미치지 않도록 함
  • 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없도록 함
  • 개념 스키마의 테이블을 생성하거나 변경하여도 외부 스키마가 직접 다루는 테이블이 아니면 영향이 없음

물리적 데이터 독립성

  • 개념 스키마와 내부 스키마 사이의 독립성
  • 저장장치 구조 변경과 같이 내부 스키마가 변경되어도 개념 스키마에 영향을 미치지 않도록 지원
  • 성능 개선을 위해 물리적 저장 장치를 재구성할 경우 개념 스키마나 외부 스키마에 영향이 없음
  • 물리적 독립성은 논리적 독립성보다 구현하기 쉬움

출처
https://kosaf04pyh.tistory.com/186
https://mangkyu.tistory.com/19
https://www.bsidesoft.com/4754

관심 있을 만한 포스트

0개의 댓글