학부 내용 정리/[ 3-1 ] 데이터베이스

[ DB ] Chapter 1. Introduction to DB

haena02 2024. 3. 8. 01:29
반응형

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와

DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 


 

1. Purpose of DB Systems

Data reduncy and inconsistency

DB 시스템은 데이터의 중복과 모순을 막아준다.

데이터를 다루다보면 데이터가 중복되는 경우가 있다. 하지만 이는 storage 낭비와 access cost를 증가 시킬수 있다. 또 이는 데이터 모순을 불러올 수 있다. 중복된 데이터들 중 하나의 데이터만 바꿨을 때 중복된 모든 데이터를 수정하기 힘들기 때문이다.

Difficulty accessing data

기존 시스템으로는 효율적으로 데이터를 검색하고 분류하기 힘들다. 일반적인 사용을 위해서는 응답성이 높은 데이터 검색 시스템이 필요하다.

Data isolation

데이터들이 여러 파일에 분산되어 저장되어있을 수도 있고 모두 형식이 다를수도 있다. 이는 데이터를 검색하고 이용하는데에 불편함을 준다.

Integrity problems

데이터들은 일관성있어야한다. 각 데이터는 만족해야하는 조건이 있다. 예를들어 돈이나 길이는 음수값을 가질 수 없다.

Atomicity problems

실행중 오류가 발생하면 전으로 복원하는 것은 매우 중요하다. 복원 하지 않고 오류만 해결한다면 데이터들의 일관성이 떨어질 것이다. 실행 완료하거나, 전혀 실행되지 않거나 중 하나의 상태만 가져야한다.

유명한 예시로는 은행의 예시가 있다. A가 B에게 100원을 보내기 위해서는 A의 금액을 100감소 시키고 B의 금액을 100 증가 시켜야한다. 이 과정에서 A의 금액을 100 감소시키고 시스템의 장애가 발생했다면 A는 돈을 잃었지만 B는 돈을 받지 못한 inconsistent 한 상태가 된다.

Concurrent-access anomalies

데이터에 동시에 접근하는 것은 아주 위험하다. 동시에 한 데이터를 접근하며 데이터의 정보를 변경시킨다면 원하는대로 데이터를 변경시킬 수 없을것이다.

A는 1000원이 있고 B와 C에게 각각 100원 200원을 보낸다고 해보자. 정상동작을 했다면 A는 700원을 가지고 있어야하지만 B에게 100원 보내기와 C에게 200원 보내기가 동시에 실행이 된다면, 둘다 처음 금액이 1000원으로 알고 900원, 800원으로 줄어있을 수도 있다.

Security problems

모두에게 모든 데이터에 접근할 수 있는 권한을 줄 필요는 없다. DB 시스템은 이를 관리한다.

 


2. View of Data

Data model

데이터 모델은 데이터의 관계, 접근과 그 흐름에 필요한 처리 과정에 관한 추상화된 모형이다. 데이터 전부를 사용하기 어려운 경우 간략화, 간소화해서 사용한다고 이해하면 된다. 이를 쓰면 데이터를 다루기 쉬워진다.

  • Data relationships : 데이터와 데이터들의 관계를 표로 나타낸 형태
  • Object-based data models
  • Semi-structured data model (XML)

Data abstraction

데이터베이스 시스템의 주요 목적은 사용자에게 데이터의 추상적인 보기를 제공하는 것이다. 데이터베이스 시스템은 데이터가 저장 및 유지 관리되는 방법에 대한 특정 세부 정보를 숨긴다.

  • View : user에게 제공되는 정보이다. 구체적인 내용은 숨기고 제한된 정보를 제공한다.
  • Logical Level : 데이터베이스에 저장된 데이터와 관계의 관계정보(What)를 제공. 물리적 구조 정보는 포함되어있지 않다.
  • Physical Level : 실제로 데이터가 어떻게 저장되어있는지에 대한 정보(How)를 제공. 구체적인 물리적구조 정보가 포함되어있다.

Instances and Schemas

  • Schemas : 어떤 데이터를 어떻게 구성하고 있는지에 대한 정보를 담고 있다. 프로그래밍 언어 유형이나 변수, 논리적구조, 물리적구조 등을 포함한다
  • Instance : 특정 시간의 데이터베이스의 실제 모습을 가지고 있다. 변수와 유사하다.

Physical data independence

논리적 스케마를 변경시키지 않고 물리적 스케마만 수정할 수 있는 능력을 의미한다. 한 레벨에서의 작은 변화가 다른 레벨에 영향이 끼지면 안된다.

반응형