Notice
Recent Posts
Recent Comments
05-21 07:17
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

Database Management - 개요 본문

BackEnd/Database Management

Database Management - 개요

알 수 없는 사용자 2023. 2. 22. 19:47

 Chat GPT를 통해 Database Management의 정의를 다음과 같이 설명한다.

 데이터베이스 관리(Database management)는 데이터베이스를 생성(create), 유지(maintenance), 업데이트(update), 관리(manage), 보호(security)하는 일련의 활동을 의미한다. 데이터베이스는 조직에서 필요한 데이터를 구성하고 저장하는 데 사용되는 체계적인 방법으로, 데이터베이스 관리는 이러한 데이터베이스를 보호하고 유지하기 위한 프로세스이다.

데이터베이스 관리는 다음과 같은 작업을 포함한다.

  • 데이터베이스 설계: 데이터베이스의 구조를 계획하고 설계하는 프로세스이며, 데이터베이스 설계는 데이터의 구조와 저장 방식, 데이터베이스 시스템의 구성 등을 정의
  • 데이터 입력: 데이터베이스에 정보를 입력하는 프로세스이며, 데이터 입력은 일반적으로 데이터베이스 관리 시스템(DBMS)을 사용하여 수행
  • 데이터 검색: 데이터베이스에서 정보를 검색하는 프로세스이며, 데이터 검색은 DBMS를 사용하여 쿼리를 작성하고 실행하여 수행
  • 데이터 업데이트: 데이터베이스의 정보를 업데이트하는 프로세스이며, 데이터 업데이트는 DBMS를 사용하여 수행
  • 데이터 백업 및 복구: 데이터베이스의 정보를 보호하기 위해 데이터를 백업하고 복구하는 프로세스이며, 이러한 백업과 복구 프로세스는 데이터 유실을 방지하고 중요한 정보를 보호하는 데 매우 중요

 데이터베이스 관리는 모든 조직에서 중요한 역할을 한다. 데이터베이스를 효율적으로 관리하면 비즈니스 의사 결정과 성과에 도움이 되는 높은 품질의 정보를 제공할 수 있으며, 데이터의 안정성과 보안을 보장할 수 있게 된다.

이를 간단하게 보고 다음 개념들을 정리한다.

 

DBMS

 위의 역할들과 기능들을 먼저 인지하고 DBMS를 먼저 알아보자. DBMS는 간단하게 방대하고 통합된 데이터 수집품이다. ( A large and integrated collection of data ) 또한 여기에 그치지 않고 데이터를 관리하는 기능, 데이터의 논리적인 저장 크기를 관리하거나 사용자 접근 권한에 대한 설정 또한 할 수 있도록 하는 기능들이 있다. 이러한 기능들을 합쳐 놓은게 DBMS이다. 따라서 DBMS는 데이터베이스들을 저장하고 관리하는 하나의 소프트웨어라고 생각할 수 있다. DBMS에는 기본적으로 아래와 같은 개념들을 알고 가는게 좋다.

 

Entity ( 개체, 객체 )

 DBMS에서는 Entity라는 개념이 있는데 데이터베이스에서 관리하고자 하는 사물 또는 추상적인 개념을 저장하고 관리하기 위한 대상이다. 일반적으로 그 자체로 값이나 상태를 가지는 사물이나 추상적인 개념을 말한다.

Relationships ( 관계 )

 관계는 말 그대로 관계다. entity들 사이에서의 연관성을 나타내는 개념인데, 대표적으로 학생들과 강의들 간의 관계를 수강, 수료 등의 행위로 표현하게 된다. 이때, 이 행위들을 Relationship과 대응지어 표현할 수 있다.

Modeling ( 모델링 )

 엔티티들을 정의하고 엔티티들 간의 관계를 정의하는 과정이 모델링이다. 정의가 다 된 것을 모델(Model 또는 Data Model)이라고 하며, 이는 데이터의 구조와 관계를 표현하기 위한 추상적인 개념이다.

 

 

Data Model

 데이터베이스 내의 데이터 구조를 표현하는 개념들의 집합체이다. 따라서 데이터 베이스의 논리적/물리적 구조를 정의하는 모델을 일컫는다. 데이터 모델에는 종류가 많은데, Relational Data Model, Hierarchical Data Model, Object-Oriented Data Model과 Document Data Model, Graph Data Model 등이 있을 수 있으며, 그 중에 관계형 데이터 모델 ( Relational Data Model )을 굉장히 많이 사용하고 있다.

Relational Data Model

 관계형 데이터베이스는 데이터 모델의 일종이며, 이 모델은 관계를 중심으로 데이터를 구성하고 관리하게 된다. 관계형 데이터베이스에서 관계는 각 테이블( 표 Table ) 간의 관계를 얘기하게 되며, 각 테이블은 레코드(또는 튜플 Tuple, 행 Row)과 속성(또는 컬럼 Column) 마다 데이터의 이름들과 정의된 규칙성( data type )에 따라 데이터들이 저장되게 되며 데이터의 개수에 따라 행이 1씩 증가하게 된다. 이 표를 두 부분으로 나눌 수 있게 되는데 Scheme for the data(table scheme가 어떻게 되어 있는지 나와있는 표의 맨 윗 부분, 각 column의 이름?)와 record들이 적혀진 Actual data(실제 데이터, 관측값, 사실이 적혀진 부분)가 있다.

Scheme ( 스키마 )

 어떤 특정 데이터 집합의 설명이며, 데이터를 저장하는 방법을 결정하는 일종의 청사진( 미래의 계획 )이며, 데이터베이스의 전체적인 논리구조와 데이터 베이스에 저장될 데이터 형식 및 제약 조건, 인덱스 등을 명시해놓는다. 이는 일반적으로 데이터베이스 관리자(DBA)가 데이터 베이스 스키마를 정의하고, 변경할 때에도 이들이 관여하게 된다. 스키마는 데이터베이스의 보안, 관리 및 유지보수, 개발 등에 매우 중요한 역할을 한다. 왜냐면 데이터 자체의 형태와 방향성을 결정 짓기 때문에 정보의 원천인 데이터가 잘못 저장되거나 관리될 수 있기 때문이다. 스키마는 다음과 같이 두 유형으로 나눌 수 있다.

Scheme Contents
Physical Scheme
 데이터베이스를 구성하는 실제 물리적인 구조를 정의. 예를 들어, 데이터가 어떤 파일에 저장되고, 파일은 어떤 디스크 블록(Disc. block)에 저장되는지 명시하게 된다. 또한 데이터베이스의 인덱스와 같은 성능 향상을 위한 객체들도 물리적 스키마에 속한다.

Logical Scheme
 전체적인 논리적인 구조를 정의. 어떤 테이블에 저장되고 각 테이블이 어떤 속성(Attribute)으로 구성되어 있는지를 명세하는 것이다. 여기서 속성은 Scheme for the data을 말한다. 또한 각 테이블 간의 관계(Relationship)도 논리적 스키마에 해당한다.

 따라서 스키마는 그냥 데이터베이스에 대한 전반적인 정의라고 보면 된다.

 

 

Comments