Computer Science/데이터 베이스
[데이터베이스] 데이터베이스의 특징
바보1
2023. 10. 10. 00:43
앞의 글을 읽으시면 이해에 도움이 됩니다.
2023.10.09 - [Computer Science/데이터 베이스] - [데이터베이스] 데이터베이스의 정의
1. 데이터베이스의 특징
- 데이터베이스 방식에는 단일 저장소에 데이터가 저장되고, 여러 사용자에 의해 Query, Transaction, Application을 통해 이 데이터를 공유합니다.
- 위의 방식을 위해 데이터베이스에는 여러 가지 특성이 있습니다.
- 해당 특성은 Self-Describing, Insulation, Data Abastraction, Supporft of multiple views of the data, Saring 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 independence와 Program-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/데이터 베이스] - [데이터베이스] 데이터베이스의 장점
감사합니다.
지적 환영합니다.