logo

데이터베이스 설계

데이터베이스 설계

소개

'라는 단어를 접했을 수도 있습니다. 데이터 베이스 ' 꽤 자주. 이 용어는 팔을 매우 강조합니다. 개발자의 관점에만 관련된 것이 아니라 기술이 아닌 그룹이나 커뮤니티에서 사용되는 경우가 더 많습니다. 기술적으로 데이터베이스는 한 곳에 모아져 있는 다양한 형태의 데이터와의 관계를 나타내는 데 사용되는 저장 용어에 가깝습니다. 따라서 데이터베이스는 일반적으로 컴퓨터 시스템을 통해 전자적으로 저장되고 액세스되는 조직화된 데이터 모음으로 정의할 수 있습니다. 이 기사는 데이터베이스 설계에 중점을 두고 있으며 인용 가능한 용어 및 방법론과의 연관성을 일반적으로 고려했습니다. 우리는 데이터베이스 설계와 관련된 용어를 논의하여 세부 사항을 이해하게 될 것입니다. 바로 그것에 대해 이야기합시다.

리눅스에서 커맨드 터치

데이터베이스 디자인이란 무엇입니까?

데이터베이스 설계는 일반적으로 기업 데이터 관리 시스템의 설계, 개발, 구현 및 유지 관리를 향상시키는 작업 또는 프로세스의 모음으로 정의될 수 있습니다. 적절한 데이터베이스를 설계하면 유지 관리 비용이 줄어들어 데이터 일관성이 향상되고 디스크 저장 공간 측면에서 비용 효율성이 크게 영향을 받습니다. 따라서 데이터베이스를 설계하는 데 있어서 뛰어난 개념이 있어야 합니다. 디자이너는 제약 조건을 따르고 요소의 상관 관계와 저장해야 하는 데이터 종류를 결정해야 합니다.

데이터베이스 설계의 주요 목적은 제안된 데이터베이스 시스템의 물리적, 논리적 설계 모델을 생성하는 것입니다. 이를 자세히 설명하기 위해 논리적 모델은 주로 데이터 요구 사항에 집중되어 있으며 모놀리식 고려 사항 측면에서 고려 사항이 이루어져야 하므로 저장된 물리적 데이터는 물리적 조건과 독립적으로 저장되어야 합니다. 반면, 물리적 데이터베이스 설계 모델에는 데이터베이스 관리 시스템(DBMS)과 같은 하드웨어 리소스 및 소프트웨어 시스템을 사용하여 물리적 미디어를 지속적으로 제어하여 데이터베이스의 논리적 설계 모델을 변환하는 것이 포함됩니다.

데이터베이스 디자인이 왜 중요한가요?

데이터베이스 설계의 중요성을 강조하면서 고려할 수 있는 중요한 고려사항은 다음과 같은 점으로 설명할 수 있다.

  1. 데이터베이스 설계는 데이터가 시스템에 저장되는 방식에 대한 청사진을 제공합니다. 데이터베이스의 적절한 디자인은 모든 애플리케이션의 전반적인 성능에 큰 영향을 미칩니다.
  2. 데이터베이스에 대해 정의된 설계 원칙은 애플리케이션의 동작과 요청 처리 방법에 대한 명확한 아이디어를 제공합니다.
  3. 데이터베이스 디자인을 강조하는 또 다른 예는 적절한 데이터베이스 디자인이 사용자의 모든 요구 사항을 충족한다는 것입니다.
  4. 마지막으로, 고효율 데이터베이스 설계에 따른 제약 조건을 적절하게 구현하면 애플리케이션의 처리 시간이 크게 단축됩니다.

수명주기

하지만 데이터베이스의 수명 주기는 데이터베이스 설계에 중점을 두기 때문에 이 문서에서 앞으로 다루어야 할 중요한 논의는 아닙니다. 그러나 데이터베이스 설계를 구성하는 모델 설계에 직접 착수하기 전에 데이터베이스의 전체 워크플로와 수명 주기를 이해하는 것이 중요합니다.

요구사항 분석

우선, 데이터베이스 설계가 진행되어야 하는 프로젝트의 기본 요구 사항에 대한 계획이 이루어져야 합니다. 따라서 다음과 같이 정의할 수 있습니다.

계획 - 전체 DDLC(Database Development Life Cycle) 계획을 수립하는 단계입니다. 진행하기 전에 전략적 고려 사항이 고려됩니다.

시스템 정의 - 계획 후 적절한 데이터베이스의 경계와 범위를 다루는 단계입니다.

데이터베이스 설계

다음 단계에서는 사용자 기반 요구 사항을 고려하여 데이터베이스를 설계하고 단일 측면에 대한 부하나 과도한 의존성이 부과되지 않도록 다양한 모델로 분할하는 작업이 포함됩니다. 따라서 모델 중심 접근 방식이 있었고 여기서 논리적 모델과 물리적 모델이 중요한 역할을 합니다.

물리적 모델 - 물리적 모델은 논리적 모델의 실행 및 구현과 관련됩니다.

논리적 모델 - 이 단계는 주로 제안된 요구 사항을 기반으로 모델을 개발하는 것과 관련이 있습니다. 전체 모델은 DBMS 고려 사항을 구현하거나 채택하지 않고 종이에 설계되었습니다.

구현

마지막 단계에서는 구현 방법과 요구 사항에 맞는 동작을 확인하는 방법을 다룹니다. 이는 다양한 데이터 세트를 사용하여 데이터베이스를 지속적으로 통합 테스트하고 데이터를 기계가 이해할 수 있는 언어로 변환함으로써 보장됩니다. 데이터 조작은 주로 쿼리를 실행하여 애플리케이션이 만족스럽게 설계되었는지 확인하는 단계에 중점을 둡니다.

닉 풀로스 블랙 라이트닝

데이터 변환 및 로딩 - 이 섹션은 기존 시스템의 데이터를 새 시스템으로 가져오고 변환하는 데 사용됩니다.

int를 문자열로 변환 C++

테스트 - 새로 구현된 시스템의 오류 식별과 관련된 단계입니다. 테스트는 데이터베이스를 직접 확인하고 요구사항 사양을 비교하기 때문에 중요한 단계입니다.

데이터베이스 설계 프로세스

데이터베이스를 설계하는 과정에는 염두에 두어야 할 다양한 개념적 접근 방식이 포함됩니다. 이상적이고 잘 구성된 데이터베이스 디자인은 다음을 수행할 수 있어야 합니다.

  1. 중복된 데이터를 제거하여 디스크 공간을 절약합니다.
  2. 데이터 무결성과 정확성을 유지합니다.
  3. 유용한 방식으로 데이터 액세스를 제공합니다.
  4. 논리적 및 물리적 데이터 모델 비교.

논리적

논리적 데이터 모델은 일반적으로 데이터베이스의 물리적 구현에 대해 걱정할 필요 없이 가능한 한 많은 세부 정보로 데이터를 설명합니다. 논리적 데이터 모델의 기능은 다음과 같습니다.

  1. 그들 사이의 모든 엔터티와 관계.
  2. 각 엔터티에는 잘 지정된 속성이 있습니다.
  3. 각 엔터티의 기본 키가 지정됩니다.
  4. 서로 다른 엔터티 간의 관계를 식별하는 데 사용되는 외래 키가 지정됩니다.
  5. 이 수준에서 정규화가 발생합니다.

논리적 모델은 다음 접근 방식을 사용하여 설계할 수 있습니다.

  1. 기본 키가 있는 모든 엔터티를 지정합니다.
  2. 서로 다른 엔터티 간의 동시 관계를 지정합니다.
  3. 각 엔터티 속성 파악
  4. 다대다 관계를 해결합니다.
  5. 정규화 과정을 수행합니다.

또한 위의 접근 방식을 따른 후 중요한 요소 중 하나는 요구 사항 수집을 기반으로 설계를 비판적으로 검토하는 것입니다. 위의 단계를 엄격하게 따르면 기본 접근 방식을 따르는 매우 효율적인 데이터베이스 디자인을 만들 수 있습니다.

이러한 점을 이해하려면 아래 이미지를 참조하여 명확한 그림을 얻으십시오.

위 그림의 논리적 데이터 모델과 다이어그램의 일부 샘플 데이터를 비교해 보면 개념적 데이터 모델에는 기본 키가 없지만 논리적 데이터 모델에는 기본 키가 있다는 사실을 알 수 있습니다. 모든 속성. 또한 논리적 데이터 모델은 서로 다른 엔터티 간의 관계를 다루고 엔터티 간의 관계를 설정하기 위한 외래 키를 위한 공간을 제공합니다.

물리적

물리적 데이터 모드는 일반적으로 데이터베이스 설계의 접근 방식이나 개념을 나타냅니다. 물리적 데이터 모델의 주요 목적은 모든 것을 보여주는 것입니다. 구조물 포함된 테이블의 컬럼 이름, 컬럼 데이터 유형, 제약 조건, 키(기본 및 외부) , 그리고 테이블 간의 관계. 물리적 데이터 모델의 특징은 다음과 같습니다.

  1. 모든 열과 테이블을 지정합니다.
  2. 일반적으로 테이블 간의 관계를 정의하는 외래 키를 지정합니다.
  3. 사용자 요구 사항에 따라 비정규화가 발생할 수 있습니다.
  4. 물리적 고려 사항이 고려되므로 논리적 모델과 차이점이 있는 이유가 간단합니다.
  5. 물리적 모델은 RDBMS마다 다를 수 있습니다. 예를 들어 MySQL과 SQL Server에서는 데이터 유형 열이 다를 수 있습니다.

실제 데이터 모델을 설계하는 동안 다음 사항을 고려해야 합니다.

  1. 엔터티를 테이블로 변환합니다.
  2. 정의된 관계를 외래 키로 변환합니다.
  3. 데이터 속성을 열로 변환합니다.
  4. 물리적 요구 사항에 따라 데이터 모델 제약 조건을 수정합니다.

이 물리적 데이터 모델을 이전 논리적 모델과 논리적 모델과 비교하면 물리적 데이터베이스에서 엔터티 이름은 테이블 이름으로 간주되고 속성은 열 이름으로 간주된다는 차이점을 결론 내릴 수 있습니다. 또한, 실제 사용되는 데이터베이스에 따라 각 컬럼의 데이터 유형이 물리적 모델에서 정의됩니다.

용어 사전

실재 - 데이터베이스의 엔터티는 데이터베이스에 저장하는 추상 데이터로 정의될 수 있습니다. 예를 들어 고객, 제품.

소프트웨어 테스팅의 회귀 테스트

속성 - 속성은 길이, 이름, 가격 등과 같은 엔터티로 구성된 데이터의 상세한 형태입니다.

관계 - 관계는 두 개체 또는 인물 간의 연결로 정의될 수 있습니다. 예를 들어, 한 사람은 가족의 여러 사람과 관련될 수 있습니다.

외래 키 - 다른 테이블의 기본 키를 참조하는 역할을 합니다. 외래 키에는 참조하는 기본 키 열에만 존재하는 값이 포함된 열이 포함됩니다.

기본 키 - 기본 키는 null이 아닌 고유한 레코드의 포인터이며 테이블의 속성을 고유하게 식별하는 데 사용됩니다.

개발자 모드를 비활성화하는 방법

표준화 - 유연한 데이터 모델은 특정 규칙을 따라야 합니다. 이러한 규칙을 적용하는 것을 정규화라고 합니다.

요약

데이터베이스 설계는 적절한 활용 방법을 설계하는 데 있어 공백과 기회를 파악하는 방법입니다. 이는 데이터의 청사진과 시스템 내부 동작을 제공하는 시스템의 주요 구성 요소입니다. 사용자 요구 사항이 지나치게 높기 때문에 적절한 데이터베이스 디자인이 항상 우선 순위로 유지되며 데이터베이스 디자인의 제약 조건에 대한 후속 조치는 요청된 효율성을 얻을 수 있는 기회일 뿐입니다. 또한, 이상적인 데이터베이스 디자인을 표현하는 다양한 디자인 모델에 대해 별도로 배웠으며, 그 속성과 활용 방법에 대한 무한한 논의도 진행했습니다. 또한, 데이터베이스의 생명주기가 어떻게 데이터베이스의 디자인을 결정하는지, 그리고 사용자의 요구사항에 따라 효율적이고 고도로 정교한 데이터베이스를 설계할 수 있도록 생명주기 방법에 디자인 개념을 접목시키는 방법을 배웠습니다.