본문 바로가기

개념/DataBase

[DB] Ch.1 What is a database? Why do we use a database?

[요약]

  • DBMS(데이터베이스 관리 시스템)은 서로 관련이 있는 데이터의 모임과 그 데이터에 접근하기 위한 프로그램의 집합으로 구성된다.
  • DBMS의 주요 목적은 데이터베이스에 정보를 저장하고 또 이를 검색하기 위한 편리한 환경 제공
  • 대규모 정보를 관리하기위해 설계, 사용자에겐 추상적인 데이터 제공(시스템에 저장되고 유지되는 세부 사항을 숨김)
  • DML(데이터 조작 언어) 는 사용자로 하여금 데이터를 조작하거나 접근하게 하기 위한 언어
  • DDL(데이터 정의 언어) 는 데이터의 다른 속성뿐 아니라 스키마를 실체화하는 언어

 

파일 처리 시스템의 단점

  • 데이터의 중복과 비일관성(data inconsistency) : 여러 버전을 거듭하며 데이터의 여러 사본이 존재하게 되고
    그 사본들끼리 수정사항이 다른 시스템에 적용되지 않을 수 있다.
  • 데이터 접근의 어려움 : 처음에 없던 find 기능을 사용하고 싶어지면 수작업으로 모두 찾거나 새로운 기능을 추가 개발해야한다.
  • 데이터 고립 : 데이터가 여러 파일에 흩어져 있고 형식이 달라 검색 프로그램을 새로 작성하기 힘들다.
  • 무결성 문제 (integrity) : 특정 조건을 잘 지켜지도록 새로운 제약 조건을 추가하기 힘들다
  • 원자성 문제 (atomic) : 예를 들어 A가 B에게 계좌 이체를 한다면 송금과 입금 기록이 동시에 남아야 하는데 송금과 동시 프로그램 고장으로 입금 기록이 안남는 등, 비일관성이 생길 수 있다.
  • 동시 접근의 문제 : 동시 접근 및 변경이 어렵다
  • 보안 문제

DBMS의 단점

  • 비용이 많이 든다.
  • 백업과 회복 방법이 복잡하다.
  • 중앙집중관리로 취약점이 존재한다.

데이터 베이스의 종류

  • 관계형 모델 (Relational Model)
  • 개체-관계 모델 (Entity-Relationship Model)
  • 반구조형 데이터 모델 (Semi-structred Data Model)
  • 객체 기반 데이터 모델 (Object-Based Data Model)
  • NoSQL
     - Key/Value, Graph, Document, Column-family ...

인스턴스 : 데이터 베이스에 저장되어 있는 정보의 모임(ex:프로그램 변수에 저장된 값 x = 5 ...)

스키마    : 데이터베이스의 전체적인 설계(ex: 프로그램의 변수 선언 int string ...)

 

데이터 베이스 언어

DDL (data definition language)        : 스키마를 기술(구체화), statements(명령문)을 입력 받아 결과 생성

  • 데이터 접근 구문 (data storage and definition language)
  • Create, Drop, Alter, Truncate
  • 메타데이터(데이터에 대한 데이터)를 수록하는 data dictionary(데이터 사전)에 저장

DML (data manipulation language) : 데이터베이스 질의 및 갱신, 데이터에 접근하거나 조작할 수 있도록 하는 언어

  • 데이터 베이스 내에 저장된 정보 검색, 새로운 정보 삽입, 삭제, 수정 (Insert, Update, Delete, Call, Expain Call, Lock, .. Select)
  • 절차적 DML (procedural DML) 어떤 필요 데이터가 있으며 데이터를 어떻게 지정할 것을 요구
  • 선언적 DML (declartive or nonprocedural) 필요한 데이터를 어떻게 구할지 명시 없이, 필요한지 지정할 것만 사용자에게 요구

reference by DataBase System Concepts 7th edition
https://www.db-book.com/db6/practice-exer-dir/index.html

 

Database System Concepts -- Solutions to Practice Exercises

Solutions to Practice Exercises We provide solutions to the Practice Exercises of the Sixth Edition of Database System Concepts , by Silberschatz, Korth and Sudarshan. These practice exercises are different from the exercises provided in the text. (Solutio

www.db-book.com