Articles

데이터 모델링

는 방법을 발견 데이터 모델링을 사용하여 추상화를 표현하고 더 나은 이해하기 위해 데이터의 흐름이 기업 내 정보시스템

데이터 모델링?

데이터 모델링은 프로세스를 만드는 시각적 표현이나 전체적 정보 시스템이나 부품은 그것의 통신 사이의 연결을 데이터 지점 및 구조물입니다. 목표가 설명하기 위해 데이터의 유형을 사용하고,저장 시스템 내에서 간의 관계는 이러한 데이터는 종류의 방법으로 데이터를 그룹화할 수 있습 및 조직 및 그 형식과 특성이 있습니다.데이터 모델은 비즈니스 요구를 중심으로 구축됩니다. 규정 및 요구사항을 정의 선행을 통해 피드백에서는 비즈니스 관련할 수 있도록 디자인으로 통합된 새로운 시스템 또는 적용에 반복이 기존의 하나입니다.

데이터는 다양한 추상화 수준에서 모델링 할 수 있습니다. 프로세스에 의해 시작에 대한 정보를 수집하는 비즈니스 요구 사항에서 이해 관계자 및 최종 사용자에게 제공합니다. 그런 다음 이러한 비즈니스 규칙을 데이터 구조로 변환하여 구체적인 데이터베이스 설계를 공식화합니다. 데이터 모델과 비교될 수 있는 로드맵,건축가의 청사진 또는 어떤 형식적인 다이어그램을 용이하게 더 깊이 이해되고 있는 무슨이 설계되었습니다.

데이터 모델링은 표준화 된 스키마와 공식 기술을 사용합니다. 이는 조직 전체 또는 그 이상의 데이터 리소스를 정의하고 관리하는 공통적이고 일관되며 예측 가능한 방법을 제공합니다.

이상적으로 데이터 모델은 변화하는 비즈니스 요구와 함께 진화하는 살아있는 문서입니다. 이들은 비즈니스 프로세스를 지원하고 it 아키텍처 및 전략을 계획하는 데 중요한 역할을합니다. 데이터 모델은 공급업체,파트너 및/또는 업계 동료와 공유할 수 있습니다.

유형의 데이터 모델

좋아하는 모든 디자인 프로세스,데이터베이스 및 정보 시스템 설계에서 시작되는 높은 추상화 수준과가 점점 더 많은 콘크리트 및 특정합니다. 데이터 모델은 일반적으로 추상화 정도에 따라 달라지는 세 가지 범주로 나눌 수 있습니다. 프로세스는 개념적 모델로 시작하여 논리적 모델로 진행하고 물리적 모델로 결론을 내립니다. 각 유형의 데이터 모델은 아래에서 더 자세히 설명합니다.

  • 개념 데이터 모델. 그들은 또한 언급은 도메인으로 모델을 제공하고 큰 그림에서 확인하려면 시스템이 포함됩니다,그것은 어떻게 될 것이 조직되고,어떤 비즈니스의 규칙이 참여하고 있습니다. 개념 모델은 일반적으로 초기 프로젝트 요구 사항을 수집하는 프로세스의 일부로 만들어집니다. 일반적으로,그들은 엔터티 클래스(을 정의하는 형태의 것은 중요한 비즈니스에 대한을 나타내는 데이터 모델),그들의 특성과 제약,그들 사이의 관계와 관련된 보안 및 데이터 무결성 요구 사항입니다. 모든 표기법은 일반적으로 간단합니다.
    다이어그램의 개념적 데이타 모델
  • 논리적 데이터 모델입니다. 그것들은 덜 추상적이며 고려중인 도메인의 개념과 관계에 대해 더 자세히 설명합니다. 몇 가지 공식적인 데이터 모델링 표기법 시스템 중 하나가 뒤 따른다. 이들은 데이터 유형 및 해당 길이와 같은 데이터 특성을 나타내며 엔티티 간의 관계를 보여줍니다. 논리 데이터 모델은 기술 시스템 요구 사항을 지정하지 않습니다. 이 단계는 애자일 또는 DevOps 관행에서 자주 생략됩니다. 논리적 데이터 모델이 될 수 있는 유용한에서 높은 절차 구현 환경이나 프로젝트 데이터를 지향하여,본격적인 데이터 웨어하우스에 디자인이나 보고하는 시스템 개발.
    다이어그램의 논리적 데이터 모델
  • 물리적 데이터 모델입니다. 이들은 데이터가 물리적으로 데이터베이스 내에 저장되는 방법에 대한 스키마를 제공합니다. 이와 같이,그들은 모두의 가장 작은 추상이다. 그들이 제공하는 확정되는 디자인을 구현할 수 있습으로 관계형 데이터베이스를 포함하여 연관 테이블을 설명하는 간의 관계체뿐만 아니라 기본 키가 및 외국의 열쇠는 것을 유지하는 데 사용될 그 관계입니다. 실제 데이터 모델에는 성능 조정을 포함한 데이터베이스 관리 시스템(dbms)별 속성이 포함될 수 있습니다.
    다이어그램의 물리적 데이터 모델

프로세스는 데이터 모델링

징계로,데이터 모델링을 초대한 이해관계자를 평가하는 데이터 처리 및 저장에 근면한 세부 사항입니다. 데이터 모델링 기술을 다른 규칙을 지시하는 기호를 사용하여 데이터를 나타내는 방법,모델을 배치하고,어떻게 비즈니스 요구 사항을 전달 합니다. 모든 접근 방식은 반복적 인 방식으로 수행 할 일련의 작업을 포함하는 공식화 된 워크 플로를 제공합니다. 이러한 워크 플로는 일반적으로 다음과 같습니다.

  1. 엔티티를 식별합니다. 데이터 모델링의 프로세스는 모델링 될 데이터 세트에 표현되는 사물,이벤트 또는 개념의 식별으로 시작됩니다. 각 엔티티는 응집력이 있어야하며 다른 모든 엔티티와 논리적으로 분리되어야합니다.
  2. 각 엔티티의 주요 속성을 식별합니다. 각각 엔터티를 입력할 수 있는 차별화 된 모든 다른 사람이 가지고 있기 때문에 하나 이상의 독특한 속성이라는 특성이 있습니다. 예를 들어,엔터티라”고객”수 있습을 보유한 특성으로 첫째,이름,전화번호와 인사를 하는 동안 엔터티라””주소를 포함할 수 있습 거리 이름 및 번호,도시,주,국가 및 지 코드입니다.
  3. 엔티티 간의 관계를 식별합니다. 데이터 모델의 초기 초안은 각 엔티티가 다른 엔티티와 갖는 관계의 본질을 지정합니다. 위의 예에서 각 고객은 주소에”거주”합니다. 해당 모델이”주문”이라는 엔티티를 포함하도록 확장 된 경우 각 주문이 주소로 배송되고 청구됩니다. 이러한 관계는 일반적으로 UML(unified modeling language)을 통해 문서화됩니다.
  4. 속성을 엔티티에 완전히 매핑합니다. 이를 통해 비즈니스가 데이터를 사용하는 방법을 모델이 반영하도록합니다. 몇 가지 공식적인 데이터 모델링 패턴이 널리 사용되고 있습니다. 객체지향 개발자는 적용 분석 패턴이나 디자인 패턴을 하는 동안 이해관계자에서 다른 도메인 비즈니스를 설정 할 수 있습니다른 패턴이 있습니다.
  5. 지정 키를 필요에 따라 결정에도 정상화의 균형을 필요한 중복을 줄이는 성능 요구 사항입니다. 정규화하는 기술 구성하는 데이터 모델(및 데이터베이스들은 대표)에는 숫자 식별자라는 키에 할당된 그룹의 데이터 간의 관계를 나타내지 않고 그들을 반복되는 데이터입니다. 예를 들어,만약 고객에게 각 할당된 키는 열쇠 연결될 수 있는 모두는 자신의 주소 및 그들의 순서 역사하지 않고 반복 이 표의 정보를 고객의 이름입니다. 정규화는 데이터베이스가 필요로하는 저장 공간의 양을 줄이는 경향이 있지만 성능을 쿼리하는 데 비용이 많이들 수 있습니다.
  6. 데이터 모델을 마무리하고 유효성을 검사합니다. 데이터 모델링은 비즈니스 요구가 변화함에 따라 반복되고 정제되어야하는 반복적 인 프로세스입니다.

유형의 데이터 모델링

데이터 모델링에는 진화와 함께 데이터베이스 관리 시스템과,모델 유형의 복잡성이 증가하고있으로 기업의 데이터 저장에 대한 수요가 증가했습니다. 다음은 여러 모델 유형입니다.

  • 계층 적 데이터 모델은 일대 다 관계를 treelike 형식으로 나타냅니다. 이 유형의 모델에서 각 레코드에는 하나 이상의 자식 테이블에 매핑되는 단일 루트 또는 부모가 있습니다. 이 모델은 IBM Information Management System(IMS)에서 구현되었으며,1966 년에 도입되어 특히 은행 업무에서 널리 사용되는 것을 빠르게 발견했습니다. 하지만 이 방법보다 효율적이 최근에 개발한 데이터베이 모델,그것은 여전히 사용에서는 XML(Extensible Markup Language)시스템,지리적 정보 시스템(GISs).
  • 관계형 데이터 모델은 1970 년 IBM 연구원 E.F.Codd 에 의해 처음 제안되었습니다. 그들은 여전히 구현되는 오늘날 많은 다른 관계형 데이터베이스에서 일반적으로 사용되는 엔터프라이즈 컴퓨팅. 관계형 데이터 모델링은 사용되는 데이터 저장소의 물리적 특성에 대한 자세한 이해가 필요하지 않습니다. 그 안에는 테이블 사용을 통해 데이터 세그먼트가 명시 적으로 결합되어 데이터베이스 복잡성이 줄어 듭니다.

관계형 데이터베이스는 데이터 관리를 위해 sql(structured query language)을 자주 사용합니다. 이러한 데이터베이스는 데이터 무결성을 유지하고 중복성을 최소화하기 위해 잘 작동합니다. 이들은 종종 판매 시점 시스템뿐만 아니라 다른 유형의 트랜잭션 처리에도 사용됩니다.

  • Entity-relationship(ER)데이터 모델은 형식 다이어그램을 사용하여 데이터베이스의 엔티티 간의 관계를 나타냅니다. 여러 ER 모델링 도구는 데이터 설계자가 데이터베이스 설계 목표를 전달하는 시각적 맵을 만드는 데 사용됩니다.
  • 객체 지향 데이터 모델을 견인을 얻으로 객체-지향 프로그래밍과 인기가되었고 1990 년대 중반에. “Objects”관련된 추상화의 실제 entities. 객체는 클래스 계층 구조로 그룹화되며 관련 기능이 있습니다. 객체 지향 데이터베이스는 테이블을 통합 할 수 있지만보다 복잡한 데이터 관계를 지원할 수도 있습니다. 이 접근법은 멀티미디어 및 하이퍼 텍스트 데이터베이스뿐만 아니라 다른 사용 사례에서도 사용됩니다.
  • 차원 데이터 모델에 의해 개발되었 Ralph 님,그리고 그들을 최적화하도록 설계 데이터 검색 속도 분석에 대한 목적으로 데이터 웨어하우스에서. 하는 동안 관계와 ER 모델을 강조한다 효율적으로 저장,차원 모델 증가를 중복하기 위해서 더 쉽게 찾을 위한 정보를 보고 및 검색 등이 있다. 이 모델링은 일반적으로 OLAP 시스템 전반에 걸쳐 사용됩니다.

두 개의 인기있는 차원 데이터 모델은 스타 스키마에서는 데이터가로 구성 현황(측정 가능한 품목)및 치수(참조 정보),각 사실에 의해 둘러싸여 있 연결된 차원에서 성급 호텔과 같은 패턴이다. 다른 하나는 눈 스키마는 유사한 성급 호텔 스키마가 포함되어 있지만 추가적인 레이어의 연결 크기 만들기,분기 패턴을 더 복잡합니다.

혜택의 데이터 모델링

데이터 모델링은 쉽게 개발자를 위한 데이터한 건축가,사업 분석가 및 다른 이해관계자들을 보고 이해할 수 있는 간의 관계를 데이터베이스의 데이터 또는 데이터 웨어하우스가 있습니다. 또한 다음과 같이 할 수 있습니다:

  • 소프트웨어 및 데이터베이스 개발의 오류를 줄입니다.
  • 기업 전체에서 문서 및 시스템 설계의 일관성을 높입니다.
  • 응용 프로그램 및 데이터베이스 성능을 향상시킵니다.
  • 조직 전체의 데이터 매핑을 용이하게합니다.
  • 개발자와 비즈니스 인텔리전스 팀 간의 의사 소통을 향상시킵니다.
  • 개념적,논리적 및 물리적 수준에서 데이터베이스 설계 프로세스를 용이하게하고 가속화합니다.

데이터 모델링 도구

수많은 상업적인 오픈 소스 컴퓨터 소프트웨어 공학(케이스)솔루션은 오늘날 널리 사용되는 포함하여 다중 데이터 모델링,다이어그램 및 시각화 도구입니다. 다음은 몇 가지 예입니다:

  • erwin 데이터 모델은 데이터 모델링 도구에 기초한 통합 정의를 위한 정보 모델링(IDEF1X)데이터 모델링 언어로 지원하는 다른 표기 방법론을 포함하여,차원의 접근 방식이다.
  • 기업 건축가가 시각적 모델링과 설계를 지원하는 도구는 모델의 기업과 정보 시스템 아키텍처뿐만 아니라 소프트웨어 응용 프로그램 및 데이터베이스가 있습니다. 객체 지향 언어와 표준을 기반으로합니다.
  • ER/Studio 는 오늘날 가장 많이 사용되는 여러 데이터베이스 관리 시스템과 호환되는 데이터베이스 설계 소프트웨어입니다. 관계형 및 차원 데이터 모델링을 모두 지원합니다.
  • 무료 데이터 모델링 도구에는 Open ModelSphere 와 같은 오픈 소스 솔루션이 포함됩니다.

데이터 모델링 및 IBM 클라우드

연구진은 IBM 를 개척한 사람들 중 하나이기도 만든 사람의 첫 번째 계층과 관계형 데이터 모델과도록 설계 데이터베이스가 이러한 모델들은 처음에 구현된다.

Today,IBM 클라우드 제공한 전체 스택 플랫폼을 지원하는 풍부한 포트폴리오의 SQL 및 NoSQL 에 데이터베이스와 함께,개발자 도구를 관리하는 데 필요한 데이터 리소스에서 그들을 효율적으로 합니다. IBM 클라우드 지원한 오픈 소스 데 도움이 되는 도구를 개발 관리체,파일 및 블록 데이터 저장에 최적화 성능 및 신뢰성을 제공합니다.

IBM Cloud 에서 데이터를 모델링하는 방법에 대해 자세히 알고 싶습니까? IBMid 에 가입하고 오늘 무료 IBM 클라우드 계정을 만드십시오.