본문 바로가기

IT

데이터베이스 스키마에 대한 설명 및 설계(Architecture) 방안 그리고 중요한 이유

반응형

일전에 My SQL을 통해 데이터를 통해 경영진의 의사결정을 도와주는 역할을 한다고 한적이 있었습니다. 이에 이어 데이터스키마를 소개하고자 합니다. 데이터베이스는 소프트웨어 애플리케이션, 시스템 등 IT 환경에 필요한 모든 Enterprise Data를 저장하기에 데이터를 통해 보다 합리적인 의사결정에 도움을 줍니다. 

 

데이터베이스를 기반으로한 데이터베이스 스키마 설계는 여라가지 요소를 통해서 설계를 하기에 보다 복합적으로 설계되어야 합니다.

 

데이터베이스 스키마란?

데이터 베이스 스키마는 특정 데이터베이스의 구조를 가지고 테이블 정보를 구성하고 SQL 쿼리 언어를 사용하는 데이터베이스와 연관하여 사용됩니다. 

 

데이터베이스 스키마 설계는 데이터베이스를 구성하는 방법과 전략에 대해서 말하는데 데이터베이스에 대한 막대한 양과 정보를 저장하는 방법에 대한 기본 설계 및 확장방안이라고 생각할 수 있습니다. 스키마는 데이터를 추상적인 구조로 전체를 바라봄으로서 데이터 범주와 해당 범주 간의 관계를 정의합니다. 이로써 편리한 검색과 조작 그리고 해석 등을 가능케합니다.

 

데이터베이스 스키마는 물리적 데이터베이스 스키마와 논리적 데이터베이스 스키마 2가지로 구성이 됩니다.

  1. 물리적 데이터베이스 스키마 : 데이터가 스토리지 시스템에 물리적으로 저장되는 방식과 사용되는 스토리지 형태(파일, 키_값, 인덱스 등)을 말합니다.
  2. 논리적 데이터베이스 스키마 : 데이터에 적용되는 논리적 제약 조건을 설명하고 필드, 테이블, 관계, 보기 등 제약 조건등을 정의하여 이러한 요구를 프로그래머가 데이터베이스의 물리적 설계에 적용할 수 있는 유용한 정보를 말합니다. 이 논리적 모델에 정의된 규칙과 같은 제약 조건은 서로 다른 테이블의 데이터가 서로 관련되는 방식을 결정하는 데 도움이 됩니다.

데이터_픽사베이
데이터_픽사베이

 

스키마는 6가지의 6유형을 갖는데, 가장 일반적인 데이터베이스 스키마 유형에 대한 개요입니다.

      • 관계형 모델 : 일련의 테이블, 행, 열로 데이터를 구성하며 서로 다른 엔터티 간의 관게를 사용.
      • 계층적 모델 : 루트 데이터 노드에서 분기되는 하위 노드가 있는 <트리> 구조.
      • 네트워크 모델 : 게층적 모델과 마찬가지로 데이터를 서로 연결된 노드로 취급하지만, 여러 관계에 있어 보다 적잡한 연결을 허용. 
      • 평면 모델 :  데이터를 2차원의 단일 배열로 구성. Microsoft Excel 스프에드 시트나 CSV 파일과 비슷.
      • Snowflake 스키마 : Star 스키마를 추가로 추상화. 팩트 테이블은 자체 차원 테이블이 있을 수도 있는 차원 테이블을 가리키며 데이터베이스 내에서 가능한 설명을 확장.
      • Star 스키마 : 데이터를 <팩트>, <차원>으로 구성하는 관게형 모델의 발전된 형태. 팩트 데이터는 숫자이며, 차원데이터는 설명을 말한다. (숫자 : 제품 수량, 판매량 / 설명 : 제품 가격, 중량 등)

 

 데이터베이스 스키마를 설계하는 방법

데이터베이스 아키텍쳐는 기본 사항을 보장하는 데 도움을 줍니다. 데이터의 형식이 일관되어야 하고, 모든 레코드 항목에 고유한 기본 키를 가지고 있어야 합니다. 그리고 중요한 데이터가 생략되지 않아야 합니다. 이러한 3가지는 설계를 하는데 가장 기본적인 사항입니다. 

 

데이터베이스 스키마 설계는 시각적 표현과 수식 집합으로서 존재하거나 데이터베이스를 관리하는 제약 조건을 사용할 수 있습니다. 그러면 개발자가 사용 중인 데이터베이스 시스템에 따라 이런 공식을 다양한 데이터 정의 언어로 표현합니다.

 

 다일 스키마에는 중요한 정보가 포함되어야 합니다. 예를 들어 각 테이블의 제목, 포함된 필드, 테블 간의 관계, 그리고 추가 관련 정보가 그와 같습니다. 아래보시는 예가 그에 해당합니다. 

 

예)

테이블 A

제목 : USER1

필드 : ID, 성명, 이메일, 생년월일, 부서

 

테이블 B

제목 : 초과 근무 수당

필드 : ID, 성명, 기간, 청구된 시간

 

개발자와 데이터베이스 관리자는 이러한 스키마 테이블을 SQL코드로 변환할 수 있습니다.

 

데이터베이스 스키마 설계의 중요성은?

비효율적으로 구성된 데이터베이스는 엄청난 에너지와 리소스를 소모하고, 혼란을 일으키고 이를 유지관리하는 것이 굉장히 어렵습니다. 즉, 인적 리소스는 경제적 타격을 줄 수도 있습니다. 이러한 부분에 있어서 데이터베이스 스키마 설계가 필요한 이유라고 할 수 있습니다. 관계형 데이터베이스 시스템은 아주 견고하게 짜여진 데이터베이스 스키마를 갖추고 있느냐에 따라 좌우됩니다. 효과적인 데이터베이스 스키마 설계는 목표를 갖는데, 다음과 같습니다.

 

  • 데이터 중복 감소 또는 제거 데이터 불일치,
  • 부정확성 방지 신속한 데이터 조회,
  • 검색 및 분석 지원 민감한 기밀 데이터를 안전하게 유지하면서도 필요한 사용자가 액세스를 할 수 있도록 지원
  • 신속한 데이터 조회 검색 및 분석 지원

명료하고 일관성 있는 데이터베이스 스키마가 없는 경우 데이터를 활용하는데 있어 많은 어려움이 존재합니다. 이제는 데이터가 곧 힘이기에 데이터 관리에 굉장히 많은 힘을 주어야 합니다.

 

 

 

MySQL 대기업, 중견기업, 스타트업까지 모두 사용하는 이유?

분석과 예측, 의사결정이 필요한 모든 영역에서 데이터 시대가 아닐 수 없다. 특히나 플랫폼 시대로 접어든 만큼 데이터는 더욱더 중요해졌고, 이러한 데이터를 가공하고 주요한 지표로 활용하

businessmodel.tistory.com

 

무료버전 SQL 다운로드 하는 방법(Microsoft SQL)

MySQL을 다운로드하는 방법에 대해서 알아보겠습니다. 간단하게 따라 할 수 있도록 진액만 모아보았습니다. SQL은 많은 소프트웨어 공급사들이 있으며 그중에 가장 많이 사용되는 SQL은 오라클입

businessmodel.tistory.com

 

 

 

 

 

 

728x90
반응형