Computer Science/데이터 베이스

[데이터베이스] 데이터베이스의 특징

바보1 2023. 10. 10. 00:43

앞의 글을 읽으시면 이해에 도움이 됩니다.

 

2023.10.09 - [Computer Science/데이터 베이스] - [데이터베이스] 데이터베이스의 정의

 

[데이터베이스] 데이터베이스의 정의

1. 데이터베이스(Dababase)란? 데이터베이스는 서로 연관이 있는 데이터들의 모임입니다. 데이터는 알려진 사실, 즉 FACT로서 함축적인 의미를 가지고, 기록될 수 있는 것을 말합니다. 따라서 데이터

hi-guten-tag.tistory.com


1. 데이터베이스의 특징

 

 

  • 데이터베이스 방식에는 단일 저장소에 데이터가 저장되고, 여러 사용자에 의해 Query, Transaction, Application을 통해 이 데이터를 공유합니다.
  • 위의 방식을 위해 데이터베이스에는 여러 가지 특성이 있습니다.
  • 해당 특성은 Self-Describing, InsulationData AbastractionSupporft of multiple views of the dataSaring of data and multiuser transaction processing입니다.

2. Self-Describing

 

 

  • 데이터베이스 시스템은 데이터베이스와 데이터베이스의 Structure, Type, Constraint까지 포함하고 있습니다.
  • 데이터베이스에 대한 정의는 DBMS catalog에 저장되며, 여기에 저장되는 정보를 meta-data라고 합니다.
  • 카탈로그는 DBMS가 사용하며, 데이터베이스 구조에 관한 정보를 원하는 사용자가 카탈로그를 이용합니다.
  • 결론적으로, Self-Describing이란 데이터베이스 시스템에는 데이터베이스와 그에 관한 모든 정의가 포함되어 있다는 의미입니다.

3. Insulation

 

 

  • 기존의 파일처리는 데이터 파일의 구조가 변경되면, 데이터 파일에 접근하는 모든 프로그램도 변경해야 합니다.
  • 하지만 DBMS에는 데이터 파일의 구조의 변경이 데이터와 상관없이 DBMS catalog에 저장됩니다.
  • 따라서 데이터 파일의 구조가 변경되어도 응용 프로그램을 변경할 필요가 없습니다.
  • 이러한 성질을 Program-data independence라고 합니다.

 

  • 위의 그림에서 A 데이터 항목이 k째 위치부터 시작된다고 가정해 봅시다.
  • 근데 A 앞에 B 데이터 항목을 넣는다면 A의 시작 위치는 변경되어야 합니다.
  • 기존의 파일처리에서는 응용 프로그램을 변경하여 A의 시작 위치를 다시 명시해야 하지만,
  • DBMS는 이를 catalog에 저장하여, 변경이 발생해도 인터페이스가 유지되는 한 응용 프로그램은 변경할 필요가 없습니다.

4. Data Abstraction

 

 

  • Data Abstraction은 Program-data independenceProgram-operation independence를 제공합니다.
  • DBMS는 데이터가 어떻게 저장되었고, 연산이 어떻게 구현되었는지에 대한 자세한 정보보다는 데이터에 대한 Conceptual Representation을 제공합니다.
  • Data Model은 사용자에게 데이터에 대한 개념적인 표현을 제공하는 데 이용되는 데이터 추상화입니다.
  • Data Model은 대부분의 사용자가 관심을 갖지 않는 기억 장소와 구현에 관한 상세한 정보를 숨깁니다.

5. Support of multiple vies of the data

 

 

  • 다양한 사용자는 서로 다른 뷰를 가지고 데이터를 보게 됩니다.
  • 아래 그림과 같이 어떤 사용자는 학생의 성적에만 관심이 있는 경우가 존재하고, 어떤 사용자는 어떤 과목의 선수 과목에만 관심이 있는 경우 각 사용자에게 각기 다른 뷰를 제공해야 합니다.

같은 데이터이지만, 다른 뷰

  • 따라서 DBMS는 사용자들이 자신의 뷰를 정의할 수 있도록 하는 기능을 제공해야 합니다.
  • 이렇게 생성된 뷰는 실제 데이터베이스에 저장되지 않습니다.

6. Sharing of data and multiuser transaction processing

 

 

  • 이 특성은 동시 사용자에 대한 처리를 제어하는 특성입니다.
  • Concurrency Control이란 다수 사용자가 동일한 데이터를 변경하는 경우에도 데이터의 consistency를 보장합니다.
  • OLTP : On-line Transaction Processing이 해당 제어의 한 부분입니다.

 

  • 따라서 해당 특성은 동시에 수행되는 Transaction들이 상호 방해를 받지 않고, 정확하고 효율적으로 수행되도록 보장하는 데 있습니다.
  • 또한 해당 시스템의 아래에 있는 Recovery subsystem은 각 트랜잭션이 DB에 어떤 영향을 끼쳤는지 영구적으로 저장합니다.

참고

 

 

경북대학교 컴퓨터학부 COMP0322-004 데이타베이스 수업

DATABASE SYSTEMS 7th / Elmasri, Navathe 저 / PEARSON / 2019년


다음 글에서는 DBMS의 장점에 대해 알아보겠습니다.

 

2023.10.10 - [Computer Science/데이터 베이스] - [데이터베이스] 데이터베이스의 장점

 

[데이터베이스] 데이터베이스의 장점

앞의 글을 읽으시면 이해에 도움이 됩니다. 2023.10.10 - [Computer Science/데이터 베이스] - [데이터베이스] 데이터베이스의 특징 [데이터베이스] 데이터베이스의 특징 앞의 글을 읽으시면 이해에 도움

hi-guten-tag.tistory.com

 

감사합니다.

지적 환영합니다.