DB - 정리 1

이상원·2022년 7월 8일
0

Database

목록 보기
1/2

Database

  • Database란 세상에 존재하는 사실을 디지털화해서 저장을 한 것이다.

  • Database를 관리하는 DBMS는 transaction을 처리하기 위해 존재하며, DB가 거짓말을 하지 않도록 하기 위해 관리를 한다.

  • Database는 굉장히 커질 수 있으며

  • Database는 우리 삶의 많은 측면을 다룬다.

Database System

  • Database System은 특정한 조직을 대표하는 정보를 포함한다.
    • Database System은 서로 관련된(interrelated) 데이터들의 모음이다.

    • 데이터에 접근하기 위한 프로그램의 집합

Drawback of using file system to store data

파일 시스템의 단점을 보게 되면 DBMS의 사용이유를 알게 된다.

  1. Data redundancy and inconsistency
    파일 시스템 사용시 데이터 중복과 불일치성을 가질 수 있다. 예를 들어 교무처, 학생처, 총무처에서 각각 A라는 학생의 정보 중복되어를 가지고 있다고 했을 때 만약 교무처에서 A를 수정하고 다른 부처에 알리지 않았다면 데이터의 불일치성이 발생한다.
  • 교무처 : A - x
  • 학생처 : A - y
  • 총무처 : A - Z
  1. Difficulty in accessing data
    새로운 작업을 각각 실행하기 위해서는 새 프로그램을 작성해야 한다.

  2. Data isolation
    데이터가 따로 관리가 되어서 데이터를 다룰 때 어려워진다.

  3. Integrity problem
    무결성 문제는 즉, 데이터 베이스가 거짓말을 하게 되는 경우를 말한다. 예를 들어 은행의 정책이 바뀌게 되어 조건문등을 바꾸게 된다면 파일 시스템은 각 프로그램마다 모든 조건문을 바꿔줘야 한다. 하지만 DBMS를 사용하게 되면 한번만 바꾸게 되어 정책 변경이 쉽게 해결된다.

  4. Atomicity of updates
    간단히 All or Nothing 은행 거래 상황이라고 가정했을때 A가 B에게 100만원을 송금한다면 당연히 A의 통장에서는 -100만원이 되어야 하고 B는 +100만원이 되어야 한다. 이것이 동시에 한번에 이뤄지거나 아예 안이뤄져야 함

  5. Concurrent access by multiple users

  • 성능을 위해서는 동시성 접근이 허용되어야 한다.
    <- 수강신청날 한번에 한명씩만 처리된다면... 지옥이...
  • Uncontrolled concurrent accessses cand lead inconsistencies
  1. Security problems
    파일 시스템 상에서는 보안을 제공하기가 어려운 점이 있다.

Levels of Abstractions

cf) 자료의 구성 단위
Bit(비트) - Nibble(니블) - Byte(바이트) - 워드(Word) - 필드(field) - 레코드(Record) - 파일(File) - 데이터 베이스(Database)

  • physical level

  • logical level
    <- symentic 에서 relationship

  • view level

Instance and Schemas

Schema <- 데이터 베이스의 구조틀

Instance <- 실세계는 계속 바뀜 : 즉, 한순간을 스냅샷 처럼 저장한 것으로 생각

Data Independence
각각의 schema가 바뀌더라도 다른 level에는 영향을 미치지 않는다.

즉, physical level을 바꾸더라도 logical level에는 영향 X인 것.

profile
개발하는 코린이

0개의 댓글